74#define _PARSE_AND_SHOW(_STR_) \
75 cout << _STR_ << "\t--->" << Binding(_STR_) << endl;
80 _PARSE_AND_SHOW (
"trailing Garbage allowed. ☢☢ eat ☠☠☠ atomic ☠☠☠ waste ☢☢");
95 cout << testBinding << endl;
103 Binding b1 (
"cat1(), cat2().");
104 Binding b2 (
" cat2 cat1 ....");
106 cout <<
"b0==" << b0 << endl;
107 cout <<
"b1==" << b1 << endl;
108 cout <<
"b2==" << b2 << endl;
111 CHECK (b0 == b00); CHECK (b00 == b0);
112 CHECK (b1 == b2); CHECK (b2 == b1);
114 CHECK (b0 != b1); CHECK (b1 != b0);
115 CHECK (b0 != b2); CHECK (b2 != b0);
130 cout <<
"b2==" << b2 << endl;
155 Binding b4 (
"pred( x ) , pred().");
#define _PARSE_AND_SHOW(_STR_)
Expecting Advice and giving Advice: a cross-cutting collaboration of loosely coupled participants.
Lumiera's internal time value datatype.
Functor object for matching against another Binding.
Conjunction of predicates to be matched against a collaboration partner for establishing an Advice co...
Matcher buildMatcher() const
Binding const & addTypeGuard()
void addPredicate(Literal spec)
extend the definition of this binding by adding a predicate according to the given textual definition
void verifyDynamicMatch()
void verifyPatternSyntax()
void verifyPatternNormalisation()
void verifyPreparedMatch()
HashVal hash_value(Binding::Matcher const &bm)
bool matches(Binding const &b1, Binding const &b2)
Lumiera public interface.
Test runner and basic definitions for tests.
Simplistic test class runner.
#define LAUNCHER(_TEST_CLASS_, _GROUPS_)
A collection of frequently used helper functions to support unit testing.
#define VERIFY_ERROR(ERROR_ID, ERRONEOUS_STATEMENT)
Macro to verify that a statement indeed raises an exception.
a family of time value like entities and their relationships.