From 3dca608ae999f56f5780f1f53fc9bb04579be5e6 Mon Sep 17 00:00:00 2001 From: Devin Yeung Date: Mon, 11 Nov 2024 19:41:44 +0800 Subject: [PATCH] improve test case --- src/generator.rs | 20 +- ...gen__generator__test__typed_generator.snap | 174 ++---------------- 2 files changed, 24 insertions(+), 170 deletions(-) diff --git a/src/generator.rs b/src/generator.rs index d62446b..f6b6555 100644 --- a/src/generator.rs +++ b/src/generator.rs @@ -103,17 +103,19 @@ mod test { #[test] fn test_typed_generator() { let text = r#" - ::= | {3, 5}; - ::= - | "+" - | "&" ; - ::= "1" | "2" | "3" ; - ::= "true" | "false" ; + ::= | "\n" {10, 20}; + + ::= ; + + ::= "1" | "2" | "3" + | "+" {3, } ; + + ::= "true" | "false" + | "&" {3, } ; "#; let grammar = RawGrammar::parse(text).unwrap().to_checked().unwrap(); - let tree_gen = TreeGenerator { grammar }; + let gen = Generator { grammar }; let mut seeded_rng = rand::rngs::StdRng::seed_from_u64(42); - let tree = tree_gen.generate("S", &mut seeded_rng); - insta::assert_debug_snapshot!(&tree); + insta::assert_snapshot!(gen.generate("S", &mut seeded_rng)); } } diff --git a/src/snapshots/bnfgen__generator__test__typed_generator.snap b/src/snapshots/bnfgen__generator__test__typed_generator.snap index 58d4555..f0fd254 100644 --- a/src/snapshots/bnfgen__generator__test__typed_generator.snap +++ b/src/snapshots/bnfgen__generator__test__typed_generator.snap @@ -1,164 +1,16 @@ --- source: src/generator.rs -expression: "&tree" +expression: "gen.generate(\"S\", &mut seeded_rng)" --- -Branch { - name: "S", - children: [ - Branch { - name: "S", - children: [ - Branch { - name: "S", - children: [ - Branch { - name: "S", - children: [ - Branch { - name: "S", - children: [ - Branch { - name: "Expr", - children: [ - Branch { - name: "E", - children: [ - Leaf( - Terminal( - "1", - ), - ), - ], - }, - ], - }, - ], - }, - Branch { - name: "Expr", - children: [ - Branch { - name: "E", - children: [ - Leaf( - Terminal( - "1", - ), - ), - ], - }, - Leaf( - Terminal( - "+", - ), - ), - Branch { - name: "E", - children: [ - Leaf( - Terminal( - "2", - ), - ), - ], - }, - ], - }, - ], - }, - Branch { - name: "Expr", - children: [ - Branch { - name: "E", - children: [ - Leaf( - Terminal( - "3", - ), - ), - ], - }, - Leaf( - Terminal( - "+", - ), - ), - Branch { - name: "E", - children: [ - Leaf( - Terminal( - "2", - ), - ), - ], - }, - ], - }, - ], - }, - Branch { - name: "Expr", - children: [ - Branch { - name: "E", - children: [ - Leaf( - Terminal( - "2", - ), - ), - ], - }, - Leaf( - Terminal( - "+", - ), - ), - Branch { - name: "E", - children: [ - Leaf( - Terminal( - "3", - ), - ), - ], - }, - ], - }, - ], - }, - Branch { - name: "Expr", - children: [ - Branch { - name: "E", - children: [ - Leaf( - Terminal( - "2", - ), - ), - ], - }, - Leaf( - Terminal( - "+", - ), - ), - Branch { - name: "E", - children: [ - Leaf( - Terminal( - "2", - ), - ), - ], - }, - ], - }, - ], -} +true & false & true & false & false + 1 + 3 + 1 + 1 + 3 + 3 + true + true + true + 1 + 2 + true + 3 + true + false