Add EqualsPointer matcher for comparing pointed-to values
This commit is contained in:
parent
d027aa5af6
commit
656f6b0819
3 changed files with 64 additions and 36 deletions
|
|
@ -4,29 +4,27 @@
|
|||
START_TEST
|
||||
|
||||
describe("Rules", []() {
|
||||
describe("construction", []() {
|
||||
rules::rule_ptr symbol1 = rules::sym("1");
|
||||
rules::rule_ptr symbol2 = rules::sym("2");
|
||||
rules::rule_ptr symbol3 = rules::sym("3");
|
||||
|
||||
rules::rule_ptr symbol1 = rules::sym("1");
|
||||
rules::rule_ptr symbol2 = rules::sym("2");
|
||||
rules::rule_ptr symbol3 = rules::sym("3");
|
||||
rules::rule_ptr symbol4 = rules::sym("4");
|
||||
rules::rule_ptr char1 = rules::character('a');
|
||||
|
||||
describe("construction", [&]() {
|
||||
it("constructs binary trees", [&]() {
|
||||
AssertThat(
|
||||
rules::seq({ symbol1, symbol2, symbol3 })->to_string(),
|
||||
Equals(std::string("(seq (seq (sym '1') (sym '2')) (sym '3'))")));
|
||||
rules::seq({ symbol1, symbol2, symbol3 }),
|
||||
EqualsPointer(
|
||||
rules::seq({ rules::seq({ symbol1, symbol2 }), symbol3 })));
|
||||
|
||||
AssertThat(
|
||||
rules::choice({ symbol1, symbol2, symbol3 })->to_string(),
|
||||
Equals(std::string("(choice (choice (sym '1') (sym '2')) (sym '3'))")));
|
||||
rules::choice({ symbol1, symbol2, symbol3 }),
|
||||
EqualsPointer(
|
||||
rules::choice({ rules::choice({ symbol1, symbol2 }), symbol3 })));
|
||||
});
|
||||
});
|
||||
|
||||
describe("transitions", []() {
|
||||
rules::rule_ptr symbol1 = rules::sym("1");
|
||||
rules::rule_ptr symbol2 = rules::sym("2");
|
||||
rules::rule_ptr symbol3 = rules::sym("3");
|
||||
rules::rule_ptr symbol4 = rules::sym("3");
|
||||
rules::rule_ptr char1 = rules::character('a');
|
||||
|
||||
describe("transitions", [&]() {
|
||||
it("handles symbols", [&]() {
|
||||
AssertThat(
|
||||
rules::transitions(symbol1),
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue