|
|
@@ -13,7 +13,7 @@ let parser = PEG.buildParser(fs.readFileSync(path.join(__dirname, "/../../parser
|
|
|
|
|
|
let tests = {
|
|
|
|
|
|
- // ATOM TEST
|
|
|
+ // ATOM TESTS
|
|
|
oneA: {
|
|
|
model: "SYSTEM: oneA = a;",
|
|
|
expected: {
|
|
|
@@ -26,7 +26,7 @@ let tests = {
|
|
|
},
|
|
|
},
|
|
|
|
|
|
- // QUANTIFIED ATOM TEST
|
|
|
+ // QUANTIFIED ATOM TESTS
|
|
|
maybeA: {
|
|
|
model: "SYSTEM: maybeA = a?;",
|
|
|
expected: {
|
|
|
@@ -102,7 +102,8 @@ let tests = {
|
|
|
},
|
|
|
},
|
|
|
|
|
|
- // SEQUENCE WITH QUANTIFIED ATOMS TEST
|
|
|
+ //SEQUENCE TESTS
|
|
|
+ // TODO: naming: prefix with seq__
|
|
|
oneA_oneB: {
|
|
|
model: "SYSTEM: oneA_oneB = a b;",
|
|
|
expected: {
|
|
|
@@ -114,6 +115,20 @@ let tests = {
|
|
|
],
|
|
|
},
|
|
|
},
|
|
|
+ oneA_oneB_oneC: {
|
|
|
+ model: "SYSTEM: oneA_oneB_oneC = a b c;",
|
|
|
+ expected: {
|
|
|
+ 1: [
|
|
|
+ ["oneA_oneB_oneC", "a", "b", "c"],
|
|
|
+ ],
|
|
|
+ 2: [
|
|
|
+ ["oneA_oneB_oneC", "a", "b", "c"],
|
|
|
+ ],
|
|
|
+ },
|
|
|
+ },
|
|
|
+
|
|
|
+ // SEQUENCE WITH QUANTIFIED ATOMS TESTS
|
|
|
+ // TODO: naming: prefix with seq__
|
|
|
oneA_maybeB: {
|
|
|
model: "SYSTEM: oneA_maybeB = a b?;",
|
|
|
expected: {
|
|
|
@@ -463,17 +478,124 @@ let tests = {
|
|
|
},
|
|
|
},
|
|
|
|
|
|
- ////TODO: SEQUENCE TEST
|
|
|
- // SYSTEM: seq_oneA = a; //NOTE: like ATOM TEST but should test the event only rather than the system
|
|
|
- // SYSTEM: seq_oneA_oneB = a b;
|
|
|
- // SYSTEM: seq_oneA_oneB_oneC = a b c;
|
|
|
+ // GROUP TESTS
|
|
|
+ grp__oneA: {
|
|
|
+ model: "SYSTEM: grp__oneA = (a);",
|
|
|
+ expected: {
|
|
|
+ 1: [
|
|
|
+ ["grp__oneA", "a"],
|
|
|
+ ],
|
|
|
+ 2: [
|
|
|
+ ["grp__oneA", "a"],
|
|
|
+ ],
|
|
|
+ },
|
|
|
+ },
|
|
|
+
|
|
|
+ // QUANTIFIED GROUP TESTS
|
|
|
+ maybeGrp__oneA: {
|
|
|
+ model: "SYSTEM: maybeGrp__oneA = (a)?;",
|
|
|
+ expected: {
|
|
|
+ 1: [
|
|
|
+ ["maybeGrp__oneA"],
|
|
|
+ ["maybeGrp__oneA", "a"],
|
|
|
+ ],
|
|
|
+ 2: [
|
|
|
+ ["maybeGrp__oneA"],
|
|
|
+ ["maybeGrp__oneA", "a"],
|
|
|
+ ],
|
|
|
+ },
|
|
|
+ },
|
|
|
+ someGrp__oneA: {
|
|
|
+ model: "SYSTEM: someGrp__oneA = (a)+;",
|
|
|
+ expected: {
|
|
|
+ 1: [
|
|
|
+ ["someGrp__oneA", "a"],
|
|
|
+ ],
|
|
|
+ 2: [
|
|
|
+ ["someGrp__oneA", "a"],
|
|
|
+ ["someGrp__oneA", "a", "a"],
|
|
|
+ ],
|
|
|
+ 3: [
|
|
|
+ ["someGrp__oneA", "a"],
|
|
|
+ ["someGrp__oneA", "a", "a"],
|
|
|
+ ["someGrp__oneA", "a", "a", "a"],
|
|
|
+ ],
|
|
|
+ },
|
|
|
+ },
|
|
|
+ maybeSomeGrp__oneA: {
|
|
|
+ model: "SYSTEM: maybeSomeGrp__oneA = (a)*;",
|
|
|
+ expected: {
|
|
|
+ 1: [
|
|
|
+ ["maybeSomeGrp__oneA"],
|
|
|
+ ["maybeSomeGrp__oneA", "a"],
|
|
|
+ ],
|
|
|
+ 2: [
|
|
|
+ ["maybeSomeGrp__oneA"],
|
|
|
+ ["maybeSomeGrp__oneA", "a"],
|
|
|
+ ["maybeSomeGrp__oneA", "a", "a"],
|
|
|
+ ],
|
|
|
+ 3: [
|
|
|
+ ["maybeSomeGrp__oneA"],
|
|
|
+ ["maybeSomeGrp__oneA", "a"],
|
|
|
+ ["maybeSomeGrp__oneA", "a", "a"],
|
|
|
+ ["maybeSomeGrp__oneA", "a", "a", "a"],
|
|
|
+ ],
|
|
|
+ },
|
|
|
+ },
|
|
|
|
|
|
- ////TODO: QUANTIFIED SEQUENCE TEST
|
|
|
- // SYSTEM: seq__oneA_oneB__maybe = (a b)?;
|
|
|
- // SYSTEM: seq__oneA_oneB__some = (a b)+;
|
|
|
- // SYSTEM: seq__oneA_oneB__maybeSome = (a b)*;
|
|
|
+ // QUANTIFIED GROUP OF SEQUENCE TESTS
|
|
|
+ maybeSeq__oneA_oneB: {
|
|
|
+ model: "SYSTEM: maybeSeq__oneA_oneB = (a b)?;",
|
|
|
+ expected: {
|
|
|
+ 1: [
|
|
|
+ ["maybeSeq__oneA_oneB"],
|
|
|
+ ["maybeSeq__oneA_oneB", "a", "b"],
|
|
|
+ ],
|
|
|
+ 2: [
|
|
|
+ ["maybeSeq__oneA_oneB"],
|
|
|
+ ["maybeSeq__oneA_oneB", "a", "b"],
|
|
|
+ ],
|
|
|
+ },
|
|
|
+ },
|
|
|
+ someSeq__oneA_oneB: {
|
|
|
+ model: "SYSTEM: someSeq__oneA_oneB = (a b)+;",
|
|
|
+ expected: {
|
|
|
+ 1: [
|
|
|
+ ["someSeq__oneA_oneB", "a", "b"],
|
|
|
+ ],
|
|
|
+ 2: [
|
|
|
+ ["someSeq__oneA_oneB", "a", "b"],
|
|
|
+ ["someSeq__oneA_oneB", "a", "b", "a", "b"],
|
|
|
+ ],
|
|
|
+ 3: [
|
|
|
+ ["someSeq__oneA_oneB", "a", "b"],
|
|
|
+ ["someSeq__oneA_oneB", "a", "b", "a", "b"],
|
|
|
+ ["someSeq__oneA_oneB", "a", "b", "a", "b", "a", "b"],
|
|
|
+ ],
|
|
|
+ },
|
|
|
+ },
|
|
|
+ maybeSomeSeq__oneA_oneB: {
|
|
|
+ model: "SYSTEM: maybeSomeSeq__oneA_oneB = (a b)*;",
|
|
|
+ expected: {
|
|
|
+ 1: [
|
|
|
+ ["maybeSomeSeq__oneA_oneB"],
|
|
|
+ ["maybeSomeSeq__oneA_oneB", "a", "b"],
|
|
|
+ ],
|
|
|
+ 2: [
|
|
|
+ ["maybeSomeSeq__oneA_oneB"],
|
|
|
+ ["maybeSomeSeq__oneA_oneB", "a", "b"],
|
|
|
+ ["maybeSomeSeq__oneA_oneB", "a", "b", "a", "b"],
|
|
|
+ ],
|
|
|
+ 3: [
|
|
|
+ ["maybeSomeSeq__oneA_oneB"],
|
|
|
+ ["maybeSomeSeq__oneA_oneB", "a", "b"],
|
|
|
+ ["maybeSomeSeq__oneA_oneB", "a", "b", "a", "b"],
|
|
|
+ ["maybeSomeSeq__oneA_oneB", "a", "b", "a", "b", "a", "b"],
|
|
|
+ ],
|
|
|
+ },
|
|
|
+ },
|
|
|
|
|
|
- //TODO: ALTERNATIONS
|
|
|
+ //TODO: ALTERNATION TESTS
|
|
|
|
|
|
};
|
|
|
|