Merge "Rework IOVisor model and validate IovisorModuleInstance on Endpoint created...
[groupbasedpolicy.git] / groupbasedpolicy / src / test / java / org / opendaylight / groupbasedpolicy / resolver / validator / ValidatorResultTest.java
1 /*
2  * Copyright (c) 2015 Cisco Systems, Inc. and others. All rights reserved.
3  *
4  * This program and the accompanying materials are made available under the
5  * terms of the Eclipse Public License v1.0 which accompanies this distribution,
6  * and is available at http://www.eclipse.org/legal/epl-v10.html
7  */
8
9 package org.opendaylight.groupbasedpolicy.resolver.validator;
10
11 import org.junit.Assert;
12 import org.junit.Before;
13 import org.junit.Test;
14 import org.opendaylight.groupbasedpolicy.resolver.validator.ValidationResult.Result;
15
16 public class ValidatorResultTest {
17
18     private ValidationResult validationResult;
19     private ValidationResult childResult;
20
21     @Before
22     public void initialise() {
23         validationResult = new ValidationResult(Validator.class);
24         childResult = new ValidationResult(Validator.class);
25     }
26
27     @Test
28     public void constructorTest() {
29         Assert.assertEquals(Validator.class, validationResult.getValidatorClass());
30     }
31
32     @Test
33     public void descriptionTest() {
34         String description = "description";
35         validationResult.setDescription(description);
36         Assert.assertEquals(description, validationResult.getDescription());
37     }
38
39     @Test
40     public void resultTest() {
41         validationResult.setResult(Result.SUCCESS);
42         Assert.assertEquals(Result.SUCCESS, validationResult.getResult());
43         Assert.assertTrue(validationResult.getResult().getValue());
44         validationResult.setResult(Result.FAIL_BASE);
45         Assert.assertEquals(Result.FAIL_BASE, validationResult.getResult());
46         Assert.assertFalse(validationResult.getResult().getValue());
47         validationResult.setResult(Result.FAIL_CHILD);
48         Assert.assertEquals(Result.FAIL_CHILD, validationResult.getResult());
49         Assert.assertFalse(validationResult.getResult().getValue());
50         validationResult.setResult(Result.FAIL_BASE_AND_CHILD);
51         Assert.assertEquals(Result.FAIL_BASE_AND_CHILD, validationResult.getResult());
52         Assert.assertFalse(validationResult.getResult().getValue());
53     }
54
55     @Test
56     public void childResultTestSuccessSuccess() {
57         validationResult.setResult(Result.SUCCESS);
58         childResult.setResult(Result.SUCCESS);
59         validationResult.addChildResult(childResult);
60         Assert.assertEquals(Result.SUCCESS, validationResult.getResult());
61         Assert.assertTrue(validationResult.getChildResults().contains(childResult));
62     }
63
64     @Test
65     public void childResultTestSuccessFailBase() {
66         validationResult.setResult(Result.SUCCESS);
67         childResult.setResult(Result.FAIL_BASE);
68         validationResult.addChildResult(childResult);
69         validationResult.setResult(Result.FAIL_CHILD);
70         Assert.assertTrue(validationResult.getChildResults().contains(childResult));
71     }
72
73     @Test
74     public void childResultTestSuccessFailChild() {
75         validationResult.setResult(Result.SUCCESS);
76         childResult.setResult(Result.FAIL_CHILD);
77         validationResult.addChildResult(childResult);
78         validationResult.setResult(Result.FAIL_CHILD);
79         Assert.assertTrue(validationResult.getChildResults().contains(childResult));
80     }
81
82     @Test
83     public void childResultTestSuccessFailBaseAndChild() {
84         validationResult.setResult(Result.SUCCESS);
85         childResult.setResult(Result.FAIL_BASE_AND_CHILD);
86         validationResult.addChildResult(childResult);
87         validationResult.setResult(Result.FAIL_CHILD);
88         Assert.assertTrue(validationResult.getChildResults().contains(childResult));
89     }
90
91     @Test
92     public void childResultTestFailBaseSuccess() {
93         validationResult.setResult(Result.FAIL_BASE);
94         childResult.setResult(Result.SUCCESS);
95         validationResult.addChildResult(childResult);
96         Assert.assertEquals(Result.FAIL_BASE, validationResult.getResult());
97         Assert.assertTrue(validationResult.getChildResults().contains(childResult));
98     }
99
100     @Test
101     public void childResultTestFailBaseFailBase() {
102         validationResult.setResult(Result.FAIL_BASE);
103         childResult.setResult(Result.FAIL_BASE);
104         validationResult.addChildResult(childResult);
105         validationResult.setResult(Result.FAIL_CHILD);
106         Assert.assertTrue(validationResult.getChildResults().contains(childResult));
107     }
108
109     @Test
110     public void childResultTestFailBaseFailChild() {
111         validationResult.setResult(Result.FAIL_BASE);
112         childResult.setResult(Result.FAIL_CHILD);
113         validationResult.addChildResult(childResult);
114         validationResult.setResult(Result.FAIL_CHILD);
115         Assert.assertTrue(validationResult.getChildResults().contains(childResult));
116     }
117
118     @Test
119     public void childResultTestFailBaseFailBaseAndChild() {
120         validationResult.setResult(Result.FAIL_BASE);
121         childResult.setResult(Result.FAIL_BASE_AND_CHILD);
122         validationResult.addChildResult(childResult);
123         validationResult.setResult(Result.FAIL_CHILD);
124         Assert.assertTrue(validationResult.getChildResults().contains(childResult));
125     }
126
127     @Test
128     public void childResultTestFailChildSuccess() {
129         validationResult.setResult(Result.FAIL_CHILD);
130         childResult.setResult(Result.SUCCESS);
131         validationResult.addChildResult(childResult);
132         Assert.assertEquals(Result.FAIL_CHILD, validationResult.getResult());
133         Assert.assertTrue(validationResult.getChildResults().contains(childResult));
134     }
135
136     @Test
137     public void childResultTestFailChildFailBase() {
138         validationResult.setResult(Result.FAIL_CHILD);
139         childResult.setResult(Result.FAIL_BASE);
140         validationResult.addChildResult(childResult);
141         validationResult.setResult(Result.FAIL_CHILD);
142         Assert.assertTrue(validationResult.getChildResults().contains(childResult));
143     }
144
145     @Test
146     public void childResultTestFailChildFailChild() {
147         validationResult.setResult(Result.FAIL_CHILD);
148         childResult.setResult(Result.FAIL_CHILD);
149         validationResult.addChildResult(childResult);
150         validationResult.setResult(Result.FAIL_CHILD);
151         Assert.assertTrue(validationResult.getChildResults().contains(childResult));
152     }
153
154     @Test
155     public void childResultTestFailChildFailBaseAndChild() {
156         validationResult.setResult(Result.FAIL_CHILD);
157         childResult.setResult(Result.FAIL_BASE_AND_CHILD);
158         validationResult.addChildResult(childResult);
159         validationResult.setResult(Result.FAIL_CHILD);
160         Assert.assertTrue(validationResult.getChildResults().contains(childResult));
161     }
162
163     @Test
164     public void childResultTestFailBaseAndChildSuccess() {
165         validationResult.setResult(Result.FAIL_BASE);
166         childResult.setResult(Result.SUCCESS);
167         validationResult.addChildResult(childResult);
168         Assert.assertEquals(Result.FAIL_BASE, validationResult.getResult());
169         Assert.assertTrue(validationResult.getChildResults().contains(childResult));
170     }
171
172     @Test
173     public void childResultTestFailBaseAndChildFailBase() {
174         validationResult.setResult(Result.FAIL_BASE_AND_CHILD);
175         childResult.setResult(Result.FAIL_BASE);
176         validationResult.addChildResult(childResult);
177         validationResult.setResult(Result.FAIL_CHILD);
178         Assert.assertTrue(validationResult.getChildResults().contains(childResult));
179     }
180
181     @Test
182     public void childResultTestFailBaseAndChildFailChild() {
183         validationResult.setResult(Result.FAIL_BASE_AND_CHILD);
184         childResult.setResult(Result.FAIL_CHILD);
185         validationResult.addChildResult(childResult);
186         validationResult.setResult(Result.FAIL_CHILD);
187         Assert.assertTrue(validationResult.getChildResults().contains(childResult));
188     }
189
190     @Test
191     public void childResultTestFailBaseAndChildFailBaseAndChild() {
192         validationResult.setResult(Result.FAIL_BASE_AND_CHILD);
193         childResult.setResult(Result.FAIL_BASE_AND_CHILD);
194         validationResult.addChildResult(childResult);
195         validationResult.setResult(Result.FAIL_CHILD);
196         Assert.assertTrue(validationResult.getChildResults().contains(childResult));
197     }
198 }