26 lines
751 B
C++
26 lines
751 B
C++
#include "spec_helper.h"
|
|
#include "transitions.h"
|
|
|
|
START_TEST
|
|
|
|
describe("Rules", []() {
|
|
rules::rule_ptr symbol1 = rules::sym("1");
|
|
rules::rule_ptr symbol2 = rules::sym("2");
|
|
rules::rule_ptr symbol3 = rules::sym("3");
|
|
|
|
describe("construction", [&]() {
|
|
it("constructs binary trees", [&]() {
|
|
AssertThat(
|
|
rules::seq({ symbol1, symbol2, symbol3 }),
|
|
EqualsPointer(
|
|
rules::seq({ rules::seq({ symbol1, symbol2 }), symbol3 })));
|
|
|
|
AssertThat(
|
|
rules::choice({ symbol1, symbol2, symbol3 }),
|
|
EqualsPointer(
|
|
rules::choice({ rules::choice({ symbol1, symbol2 }), symbol3 })));
|
|
});
|
|
});
|
|
});
|
|
|
|
END_TEST
|