Line data Source code
1 : //***********************************************
2 : // Check cluster 1
3 : //***********************************************
4 :
5 2 : PPG_CS_PROCESS_STRING( "A B C c b a",
6 : PPG_CS_EXPECT_EMPTY_FLUSH
7 : PPG_CS_EXPECT_NO_EXCEPTIONS
8 : PPG_CS_EXPECT_ACTION_SERIES(
9 : PPG_CS_A(Cluster_1)
10 : )
11 : );
12 :
13 2 : PPG_PATTERN_PRINT_TREE
14 :
15 : // Allow to release keys and then repress them
16 : //
17 2 : PPG_CS_PROCESS_STRING( "A a A B C c b a",
18 : PPG_CS_EXPECT_EMPTY_FLUSH
19 : PPG_CS_EXPECT_NO_EXCEPTIONS
20 : PPG_CS_EXPECT_ACTION_SERIES(
21 : PPG_CS_A(Cluster_1)
22 : )
23 : );
24 :
25 2 : PPG_PATTERN_PRINT_TREE
26 :
27 2 : PPG_CS_PROCESS_STRING( "A B b C B c b a",
28 : PPG_CS_EXPECT_EMPTY_FLUSH
29 : PPG_CS_EXPECT_NO_EXCEPTIONS
30 : PPG_CS_EXPECT_ACTION_SERIES(
31 : PPG_CS_A(Cluster_1)
32 : )
33 : );
34 :
35 2 : PPG_PATTERN_PRINT_TREE
36 :
37 : // Do not allow keys being released
38 : //
39 2 : PPG_CS_PROCESS_STRING( "A B b C c a |",
40 : PPG_CS_EXPECT_EMPTY_FLUSH
41 : PPG_CS_EXPECT_NO_EXCEPTIONS
42 : PPG_CS_EXPECT_ACTION_SERIES(
43 : PPG_CS_A(Cluster_1)
44 : )
45 : );
46 :
47 2 : PPG_PATTERN_PRINT_TREE
48 :
49 : // Check for match fails
50 : //
51 2 : PPG_CS_PROCESS_STRING( "A B E C c a |",
52 : PPG_CS_EXPECT_FLUSH("ABECca")
53 : PPG_CS_EXPECT_EXCEPTIONS(PPG_CS_EMF | PPG_CS_ET)
54 : PPG_CS_EXPECT_NO_ACTIONS
55 : );
56 :
57 2 : PPG_PATTERN_PRINT_TREE
58 :
59 : //***********************************************
60 : // Check cluster 2
61 : //***********************************************
62 :
63 2 : PPG_CS_PROCESS_STRING( "A B D d b a",
64 : PPG_CS_EXPECT_EMPTY_FLUSH
65 : PPG_CS_EXPECT_NO_EXCEPTIONS
66 : PPG_CS_EXPECT_ACTION_SERIES(
67 : PPG_CS_A(Cluster_2)
68 : )
69 : );
70 :
71 : // Allow to release keys and then repress them
72 : //
73 2 : PPG_CS_PROCESS_STRING( "A a A B D d b a",
74 : PPG_CS_EXPECT_EMPTY_FLUSH
75 : PPG_CS_EXPECT_NO_EXCEPTIONS
76 : PPG_CS_EXPECT_ACTION_SERIES(
77 : PPG_CS_A(Cluster_2)
78 : )
79 : );
80 :
81 2 : PPG_CS_PROCESS_STRING( "A B b D B d b a",
82 : PPG_CS_EXPECT_EMPTY_FLUSH
83 : PPG_CS_EXPECT_NO_EXCEPTIONS
84 : PPG_CS_EXPECT_ACTION_SERIES(
85 : PPG_CS_A(Cluster_2)
86 : )
87 : );
88 :
89 : // Assert that it is possible to release cluster chords
90 : // and still gain a match
91 : //
92 2 : PPG_CS_PROCESS_STRING( "A B b D d a |",
93 : PPG_CS_EXPECT_EMPTY_FLUSH
94 : PPG_CS_EXPECT_NO_EXCEPTIONS
95 : PPG_CS_EXPECT_ACTION_SERIES(
96 : PPG_CS_A(Cluster_2)
97 : )
98 : );
99 : // PPG_PATTERN_PRINT_TREE
|