Lumiera 0.pre.04
»edit your freedom«
Loading...
Searching...
No Matches
AdviceBindingPattern_test Class Reference

Description

Test:
the pattern matching machinery used to find an Advice solution. Each advice::Provision and advice::Request specifies a binding, used to discern various pieces of advice. Whenever patterns on the two sides match, an Advice channel is created, causing the advice provision to get visible to the advised entity.

This test creates various patterns and verifies matching behaves as specified and documented.

Todo:
partially unimplemented and thus commented out ////////////////////TICKET #605
See also
advice.hpp
AdviceBasics_test
AdviceMultiplicity_test
AdviceIndex_test implementation test

Definition at line 57 of file advice-binding-pattern-test.cpp.

Private Member Functions

virtual void run (Arg)
 
void verifyPatternSyntax ()
 
void verifyPatternNormalisation ()
 
void verifyStaticMatch ()
 
void verifyPreparedMatch ()
 
void verifyDynamicMatch ()
 

Member Function Documentation

◆ run()

virtual void run ( Arg  )
inlineprivatevirtual

Definition at line 61 of file advice-binding-pattern-test.cpp.

References AdviceBindingPattern_test::verifyDynamicMatch(), AdviceBindingPattern_test::verifyPatternNormalisation(), AdviceBindingPattern_test::verifyPatternSyntax(), AdviceBindingPattern_test::verifyPreparedMatch(), and AdviceBindingPattern_test::verifyStaticMatch().

+ Here is the call graph for this function:

◆ verifyPatternSyntax()

void verifyPatternSyntax ( )
inlineprivate

Definition at line 72 of file advice-binding-pattern-test.cpp.

References _PARSE_AND_SHOW, Binding::addPredicate(), Binding::addTypeGuard(), and VERIFY_ERROR.

Referenced by AdviceBindingPattern_test::run().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ verifyPatternNormalisation()

void verifyPatternNormalisation ( )
inlineprivate

Definition at line 100 of file advice-binding-pattern-test.cpp.

References Binding::addPredicate(), and Binding::addTypeGuard().

Referenced by AdviceBindingPattern_test::run().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ verifyStaticMatch()

void verifyStaticMatch ( )
inlineprivate

Definition at line 135 of file advice-binding-pattern-test.cpp.

References lumiera::advice::matches().

Referenced by AdviceBindingPattern_test::run().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ verifyPreparedMatch()

void verifyPreparedMatch ( )
inlineprivate

Definition at line 150 of file advice-binding-pattern-test.cpp.

References Binding::buildMatcher(), lumiera::advice::hash_value(), and lumiera::advice::matches().

Referenced by AdviceBindingPattern_test::run().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ verifyDynamicMatch()

void verifyDynamicMatch ( )
inlineprivate
Test:
match against patterns containing variables, verify the created solution arguments
Todo:
this is a future extension and its not clear if we need it and what the exact semantics could be ///////////////////////////////TICKET #615

Definition at line 185 of file advice-binding-pattern-test.cpp.

References lumiera::advice::matches().

Referenced by AdviceBindingPattern_test::run().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:
+ Inheritance diagram for AdviceBindingPattern_test:
+ Collaboration diagram for AdviceBindingPattern_test:

The documentation for this class was generated from the following file: