1 |
| |
2 |
| |
3 |
| |
4 |
| |
5 |
| |
6 |
| |
7 |
| |
8 |
| |
9 |
| |
10 |
| |
11 |
| |
12 |
| |
13 |
| |
14 |
| |
15 |
| |
16 |
| |
17 |
| |
18 |
| |
19 |
| |
20 |
| |
21 |
| |
22 |
| |
23 |
| |
24 |
| |
25 |
| |
26 |
| |
27 |
| |
28 |
| |
29 |
| |
30 |
| |
31 |
| |
32 |
| |
33 |
| package com.jeantessier.dependency; |
34 |
| |
35 |
| import java.util.*; |
36 |
| |
37 |
| import junit.framework.*; |
38 |
| |
39 |
| public class TestAndCompositeSelectionCriteria extends TestCase { |
40 |
| private PackageNode a; |
41 |
| private ClassNode a_A; |
42 |
| private FeatureNode a_A_a; |
43 |
| |
44 |
| private Collection subcriteria; |
45 |
| private AndCompositeSelectionCriteria criteria; |
46 |
| |
47 |
7
| protected void setUp() throws Exception {
|
48 |
7
| NodeFactory factory = new NodeFactory();
|
49 |
| |
50 |
7
| a = factory.createPackage("a");
|
51 |
7
| a_A = factory.createClass("a.A");
|
52 |
7
| a_A_a = factory.createFeature("a.A.a");
|
53 |
| |
54 |
7
| subcriteria = new ArrayList();
|
55 |
7
| criteria = new AndCompositeSelectionCriteria(subcriteria);
|
56 |
| } |
57 |
| |
58 |
1
| public void testMatchWithEmptyList() {
|
59 |
1
| assertEquals("a", true, criteria.matches(a));
|
60 |
1
| assertEquals("a.A", true, criteria.matches(a_A));
|
61 |
1
| assertEquals("a.A.a", true, criteria.matches(a_A_a));
|
62 |
| } |
63 |
| |
64 |
1
| public void testMatchWithOneFalseSubcriteria() {
|
65 |
1
| MockSelectionCriteria mock = new MockSelectionCriteria();
|
66 |
1
| mock.setValue(false);
|
67 |
1
| subcriteria.add(mock);
|
68 |
| |
69 |
1
| assertEquals("a", mock.getValue(), criteria.matches(a));
|
70 |
1
| assertEquals("a.A", mock.getValue(), criteria.matches(a_A));
|
71 |
1
| assertEquals("a.A.a", mock.getValue(), criteria.matches(a_A_a));
|
72 |
| } |
73 |
| |
74 |
1
| public void testMatchWithOneTrueSubcriteria() {
|
75 |
1
| MockSelectionCriteria mock = new MockSelectionCriteria();
|
76 |
1
| mock.setValue(true);
|
77 |
1
| subcriteria.add(mock);
|
78 |
| |
79 |
1
| assertEquals("a", mock.getValue(), criteria.matches(a));
|
80 |
1
| assertEquals("a.A", mock.getValue(), criteria.matches(a_A));
|
81 |
1
| assertEquals("a.A.a", mock.getValue(), criteria.matches(a_A_a));
|
82 |
| } |
83 |
| |
84 |
1
| public void testMatchWithTwoSubcriteriaFalseFalse() {
|
85 |
1
| MockSelectionCriteria mock1 = new MockSelectionCriteria();
|
86 |
1
| mock1.setValue(false);
|
87 |
1
| subcriteria.add(mock1);
|
88 |
| |
89 |
1
| MockSelectionCriteria mock2 = new MockSelectionCriteria();
|
90 |
1
| mock2.setValue(false);
|
91 |
1
| subcriteria.add(mock2);
|
92 |
| |
93 |
1
| assertEquals("a", mock1.getValue() && mock2.getValue(), criteria.matches(a));
|
94 |
1
| assertEquals("a.A", mock1.getValue() && mock2.getValue(), criteria.matches(a_A));
|
95 |
1
| assertEquals("a.A.a", mock1.getValue() && mock2.getValue(), criteria.matches(a_A_a));
|
96 |
| } |
97 |
| |
98 |
1
| public void testMatchWithTwoSubcriteriaFalseTrue() {
|
99 |
1
| MockSelectionCriteria mock1 = new MockSelectionCriteria();
|
100 |
1
| mock1.setValue(false);
|
101 |
1
| subcriteria.add(mock1);
|
102 |
| |
103 |
1
| MockSelectionCriteria mock2 = new MockSelectionCriteria();
|
104 |
1
| mock2.setValue(true);
|
105 |
1
| subcriteria.add(mock2);
|
106 |
| |
107 |
1
| assertEquals("a", mock1.getValue() && mock2.getValue(), criteria.matches(a));
|
108 |
1
| assertEquals("a.A", mock1.getValue() && mock2.getValue(), criteria.matches(a_A));
|
109 |
1
| assertEquals("a.A.a", mock1.getValue() && mock2.getValue(), criteria.matches(a_A_a));
|
110 |
| } |
111 |
| |
112 |
1
| public void testMatchWithTwoSubcriteriaTrueFalse() {
|
113 |
1
| MockSelectionCriteria mock1 = new MockSelectionCriteria();
|
114 |
1
| mock1.setValue(true);
|
115 |
1
| subcriteria.add(mock1);
|
116 |
| |
117 |
1
| MockSelectionCriteria mock2 = new MockSelectionCriteria();
|
118 |
1
| mock2.setValue(false);
|
119 |
1
| subcriteria.add(mock2);
|
120 |
| |
121 |
1
| assertEquals("a", mock1.getValue() && mock2.getValue(), criteria.matches(a));
|
122 |
1
| assertEquals("a.A", mock1.getValue() && mock2.getValue(), criteria.matches(a_A));
|
123 |
1
| assertEquals("a.A.a", mock1.getValue() && mock2.getValue(), criteria.matches(a_A_a));
|
124 |
| } |
125 |
| |
126 |
1
| public void testMatchWithTwoSubcriteriaTrueTrue() {
|
127 |
1
| MockSelectionCriteria mock1 = new MockSelectionCriteria();
|
128 |
1
| mock1.setValue(true);
|
129 |
1
| subcriteria.add(mock1);
|
130 |
| |
131 |
1
| MockSelectionCriteria mock2 = new MockSelectionCriteria();
|
132 |
1
| mock2.setValue(true);
|
133 |
1
| subcriteria.add(mock2);
|
134 |
| |
135 |
1
| assertEquals("a", mock1.getValue() && mock2.getValue(), criteria.matches(a));
|
136 |
1
| assertEquals("a.A", mock1.getValue() && mock2.getValue(), criteria.matches(a_A));
|
137 |
1
| assertEquals("a.A.a", mock1.getValue() && mock2.getValue(), criteria.matches(a_A_a));
|
138 |
| } |
139 |
| } |