Start using rstest

This commit is contained in:
Greg Shuflin 2023-02-26 04:29:15 -08:00
parent 0d69aa81c1
commit 638139b7da
2 changed files with 14 additions and 8 deletions

View File

@ -8,3 +8,6 @@ edition = "2021"
[dependencies]
arbitrary = "1.2.0"
proptest = "1.0.0"
[dev-dependencies]
rstest = "0.16.0"

View File

@ -7,6 +7,8 @@ use parser_combinator::Representation;
use proptest::prelude::*;
use rstest::*;
proptest! {
#[test]
fn doesnt_crash(s in "\\PC*") {
@ -237,12 +239,13 @@ fn parse_json_document() {
assert!(parsed_json.is_ok());
}
#[test]
fn test_representations() {
assert_eq!(json_null().representation(), Representation::new("null"));
assert_eq!(
json_bool().representation(),
Representation::new("true | false")
);
assert_eq!(json_number().representation(), Representation::new("- | ε (1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | )+ . (1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | )+ | ε | . (1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | )+"));
#[rstest]
#[case(json_null().representation(), Representation::new("null"))]
#[case(json_bool().representation(), Representation::new("true | false"))]
#[case(json_number().representation(), Representation::new("- | ε (1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | )+ . (1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | )+ | ε | . (1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | )+"))]
fn representations_test(
#[case] parser_representation: Representation,
#[case] expected: Representation,
) {
assert_eq!(parser_representation, expected);
}