Trait snapbox::data::IntoData

source ·
pub trait IntoData: Sized {
    // Required method
    fn into_data(self) -> Data;

    // Provided methods
    fn raw(self) -> Data { ... }
    fn unordered(self) -> Data { ... }
    fn is(self, format: DataFormat) -> Data { ... }
}
Expand description

Convert to Data with modifiers for expected data

Required Methods§

source

fn into_data(self) -> Data

Convert to Data, applying defaults

Provided Methods§

source

fn raw(self) -> Data

Remove default filters from this expected result

source

fn unordered(self) -> Data

Treat lines and json arrays as unordered

§Examples
use snapbox::prelude::*;
use snapbox::str;
use snapbox::assert_data_eq;

let actual = str![[r#"["world", "hello"]"#]]
    .is(snapbox::data::DataFormat::Json)
    .unordered();
let expected = str![[r#"["hello", "world"]"#]]
    .is(snapbox::data::DataFormat::Json)
    .unordered();
assert_data_eq!(actual, expected);
source

fn is(self, format: DataFormat) -> Data

Initialize as format or Error

This is generally used for expected data

§Examples
use snapbox::prelude::*;
use snapbox::str;

let expected = str![[r#"{"hello": "world"}"#]]
    .is(snapbox::data::DataFormat::Json);
assert_eq!(expected.format(), snapbox::data::DataFormat::Json);

Object Safety§

This trait is not object safe.

Implementations on Foreign Types§

source§

impl IntoData for &str

source§

impl IntoData for &String

source§

impl IntoData for &[u8]

source§

impl IntoData for String

source§

impl IntoData for Vec<u8>

Implementors§