openModeller  Version 1.5.0
test_rules_atomic.cpp
Go to the documentation of this file.
1 
31 #include <CppUnitLite/TestHarness.h>
32 #include <rules_atomic.hh>
33 #include <garp_sampler.hh>
34 #include <test_rules_defs.hh>
35 
37 
38 
39 Scalar genes1[8] = {-0.8, +0.8, -0.8, +0.8, -0.8, +0.8, -0.8, +0.8};
40 Scalar vals11[8] = {-0.5, -0.5, -0.5, -0.5 };
41 Scalar vals12[8] = {-0.0, -0.0, -0.0, -0.0 };
42 Scalar vals13[8] = {-0.8, -0.8, -0.8, -0.8 };
43 
44 TEST( AtomicRule_applies11 , AtomicRule )
45 {
46  ExtAtomicRule * rule = new ExtAtomicRule;
47  rule->setGenes(genes1, 4);
48  LONGS_EQUAL(rule->applies(vals11), false);
49 }
50 
51 TEST( AtomicRule_applies12 , AtomicRule )
52 {
53  ExtAtomicRule * rule = new ExtAtomicRule;
54  rule->setGenes(genes1, 4);
55  LONGS_EQUAL(rule->applies(vals12), false);
56 }
57 
58 TEST( AtomicRule_applies13 , AtomicRule )
59 {
60  ExtAtomicRule * rule = new ExtAtomicRule;
61  rule->setGenes(genes1, 4);
62  LONGS_EQUAL(rule->applies(vals13), true);
63 }
64 
65 Scalar genes2[8] = {-1.0, +1.0, -1.0, +1.0, -1.0, +1.0, -1.0, +1.0};
66 Scalar vals21[8] = {-0.5, -0.5, -0.5, -0.5 };
67 Scalar vals22[8] = {-0.0, -0.0, -0.0, -0.0 };
68 Scalar vals23[8] = {-2.9, -1.0, -1.0, -1.0 };
69 
70 TEST( AtomicRule_applies21 , AtomicRule )
71 {
72  ExtAtomicRule * rule = new ExtAtomicRule;
73  rule->setGenes(genes2, 4);
74  LONGS_EQUAL(rule->applies(vals21), true);
75 }
76 
77 TEST( AtomicRule_applies22 , AtomicRule )
78 {
79  ExtAtomicRule * rule = new ExtAtomicRule;
80  rule->setGenes(genes2, 4);
81  LONGS_EQUAL(rule->applies(vals22), true);
82 }
83 
84 TEST( AtomicRule_applies23 , AtomicRule )
85 {
86  ExtAtomicRule * rule = new ExtAtomicRule;
87  rule->setGenes(genes2, 4);
88  LONGS_EQUAL(rule->applies(vals23), true);
89 }
90 
91 
92 Scalar genes3[8] = {-1.0, +1.0, -0.1, +0.1, -1.0, +1.0, -1.0, +1.0};
93 Scalar vals31[8] = {-0.5, -0.5, -0.5, -0.5 };
94 Scalar vals32[8] = {-0.0, -0.0, -0.0, -0.0 };
95 Scalar vals33[8] = {-2.9, -0.1, -1.0, -1.0 };
96 
97 TEST( AtomicRule_applies31 , AtomicRule )
98 {
99  ExtAtomicRule * rule = new ExtAtomicRule;
100  rule->setGenes(genes3, 4);
101  LONGS_EQUAL(rule->applies(vals31), false);
102 }
103 
104 TEST( AtomicRule_applies32 , AtomicRule )
105 {
106  ExtAtomicRule * rule = new ExtAtomicRule;
107  rule->setGenes(genes3, 4);
108  LONGS_EQUAL(rule->applies(vals32), false);
109 }
110 
111 TEST( AtomicRule_applies33 , AtomicRule )
112 {
113  ExtAtomicRule * rule = new ExtAtomicRule;
114  rule->setGenes(genes3, 4);
115  LONGS_EQUAL(rule->applies(vals33), true);
116 }
117 
118 
119 Scalar genes4[8] = {-0.8, +0.8, -1.0, +1.0, -0.8, +0.0, -0.0, +1.0};
120 Scalar vals41[8] = {-0.8, -0.5, -0.8, -0.5 };
121 Scalar vals42[8] = {-0.8, -0.0, -0.8, -0.0 };
122 Scalar vals43[8] = {-0.8, -9.0, -0.8, -0.0 };
123 
124 TEST( AtomicRule_applies41 , AtomicRule )
125 {
126  ExtAtomicRule * rule = new ExtAtomicRule;
127  rule->setGenes(genes4, 4);
128  LONGS_EQUAL(rule->applies(vals41), false);
129 }
130 
131 TEST( AtomicRule_applies42 , AtomicRule )
132 {
133  ExtAtomicRule * rule = new ExtAtomicRule;
134  rule->setGenes(genes4, 4);
135  LONGS_EQUAL(rule->applies(vals42), true);
136 }
137 
138 TEST( AtomicRule_applies43 , AtomicRule )
139 {
140  ExtAtomicRule * rule = new ExtAtomicRule;
141  rule->setGenes(genes4, 4);
142  LONGS_EQUAL(rule->applies(vals43), true);
143 }
144 
145 
146 Scalar genes5[8] = {-0.5, -0.5, -0.5, -0.5};
147 Scalar vals51[8] = {-0.5, -0.5 };
148 
149 TEST( AtomicRule_applies51 , AtomicRule )
150 {
151  ExtAtomicRule * rule = new ExtAtomicRule;
152  rule->setGenes(genes5, 2);
153  LONGS_EQUAL(rule->applies(vals51), true);
154 }
155 
Scalar vals31[8]
Scalar genes2[8]
Scalar vals23[8]
double Scalar
Type of map values.
Definition: om_defs.hh:39
Scalar genes4[8]
Scalar genes3[8]
Scalar vals51[8]
Scalar vals41[8]
Scalar vals33[8]
Scalar genes1[8]
Scalar vals32[8]
Scalar vals21[8]
Scalar vals13[8]
Scalar vals42[8]
Scalar genes5[8]
EXTENDED_DUMMY_RULE(AtomicRule)
Scalar vals11[8]
Scalar vals43[8]
Scalar vals12[8]
TEST(AtomicRule_applies11, AtomicRule)
Scalar vals22[8]