Add unit tests for policy type and policy filters
[policy/models.git] / models-base / src / test / java / org / onap / policy / models / base / PfObjectFilterTest.java
1 /*-
2  * ============LICENSE_START=======================================================
3  *  Copyright (C) 2019 Nordix Foundation.
4  * ================================================================================
5  * Licensed under the Apache License, Version 2.0 (the "License");
6  * you may not use this file except in compliance with the License.
7  * You may obtain a copy of the License at
8  *
9  *      http://www.apache.org/licenses/LICENSE-2.0
10  *
11  * Unless required by applicable law or agreed to in writing, software
12  * distributed under the License is distributed on an "AS IS" BASIS,
13  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14  * See the License for the specific language governing permissions and
15  * limitations under the License.
16  *
17  * SPDX-License-Identifier: Apache-2.0
18  * ============LICENSE_END=========================================================
19  */
20
21 package org.onap.policy.models.base;
22
23 import static org.junit.Assert.assertEquals;
24 import static org.junit.Assert.assertFalse;
25 import static org.junit.Assert.assertTrue;
26
27 import java.util.ArrayList;
28 import java.util.List;
29
30 import org.junit.Test;
31
32 import org.onap.policy.models.base.testconcepts.DummyPfObject;
33 import org.onap.policy.models.base.testconcepts.DummyPfObjectFilter;
34
35 /**
36  * Test the {@link PfObjectFilter} interface.
37  *
38  * @author Liam Fallon (liam.fallon@est.tech)
39  */
40 public class PfObjectFilterTest {
41
42     @Test
43     public void testPfObjectInterface() {
44         DummyPfObject do0 = new DummyPfObject();
45         do0.setName("name0");
46         do0.setVersion("1.0.0");
47         do0.setDescription("desc0 ");
48
49         DummyPfObject do1 = new DummyPfObject();
50         do1.setName("name0");
51         do1.setVersion("0.0.1");
52         do1.setDescription("Desc 1");
53
54         DummyPfObject do2 = new DummyPfObject();
55         do2.setName("name0");
56         do2.setVersion("0.0.2");
57         do2.setDescription("Desc 1");
58
59         DummyPfObject do3 = new DummyPfObject();
60         do3.setName("name1");
61         do3.setVersion("0.0.1");
62         do3.setDescription("desc0 ");
63
64         DummyPfObject do4 = new DummyPfObject();
65         do4.setName("name1");
66         do4.setVersion("0.1.2");
67         do4.setDescription("Desc 1");
68
69         DummyPfObject do5 = new DummyPfObject();
70         do5.setName("aaaaa");
71         do5.setVersion("0.0.2");
72         do5.setDescription("Desc 1");
73
74         List<DummyPfObject> doList = new ArrayList<>();
75         doList.add(do0);
76         doList.add(do1);
77         doList.add(do2);
78         doList.add(do3);
79         doList.add(do4);
80         doList.add(do5);
81
82         DummyPfObjectFilter dof = new DummyPfObjectFilter();
83         assertFalse(dof.filterString("Hello", "Goodbye"));
84         assertTrue(dof.filterString("Hello", "Hello"));
85
86         assertEquals(false, dof.filterString("Hello", "Goodbye"));
87         assertEquals(true, dof.filterString("Hello", "Hello"));
88         assertEquals(true, dof.filterString("Hello", null));
89
90         List<DummyPfObject> latestVersionList = dof.latestVersionFilter(doList);
91         assertEquals(3, latestVersionList.size());
92         assertEquals("aaaaa", latestVersionList.get(0).getName());
93         assertEquals("0.0.2", latestVersionList.get(0).getVersion());
94         assertEquals("name0", latestVersionList.get(1).getName());
95         assertEquals("1.0.0", latestVersionList.get(1).getVersion());
96         assertEquals("name1", latestVersionList.get(2).getName());
97         assertEquals("0.1.2", latestVersionList.get(2).getVersion());
98
99         latestVersionList.remove(2);
100         latestVersionList.remove(1);
101         List<DummyPfObject> newestVersionList = dof.latestVersionFilter(latestVersionList);
102         assertEquals(latestVersionList, newestVersionList);
103     }
104 }