Complete unit test for models-pdp
[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.assertj.core.api.Assertions.assertThatThrownBy;
24 import static org.junit.Assert.assertEquals;
25 import static org.junit.Assert.assertFalse;
26 import static org.junit.Assert.assertTrue;
27
28 import java.util.ArrayList;
29 import java.util.List;
30
31 import org.junit.Test;
32
33 import org.onap.policy.models.base.testconcepts.DummyPfObject;
34 import org.onap.policy.models.base.testconcepts.DummyPfObjectFilter;
35
36 /**
37  * Test the {@link PfObjectFilter} interface.
38  *
39  * @author Liam Fallon (liam.fallon@est.tech)
40  */
41 public class PfObjectFilterTest {
42
43     @Test
44     public void testPfObjectInterface() {
45         DummyPfObject do0 = new DummyPfObject();
46         do0.setName("name0");
47         do0.setVersion("1.0.0");
48         do0.setDescription("desc0 ");
49
50         DummyPfObject do1 = new DummyPfObject();
51         do1.setName("name0");
52         do1.setVersion("0.0.1");
53         do1.setDescription("Desc 1");
54
55         DummyPfObject do2 = new DummyPfObject();
56         do2.setName("name0");
57         do2.setVersion("0.0.2");
58         do2.setDescription("Desc 1");
59
60         DummyPfObject do3 = new DummyPfObject();
61         do3.setName("name1");
62         do3.setVersion("0.0.1");
63         do3.setDescription("desc0 ");
64
65         DummyPfObject do4 = new DummyPfObject();
66         do4.setName("name1");
67         do4.setVersion("0.1.2");
68         do4.setDescription("Desc 1");
69
70         DummyPfObject do5 = new DummyPfObject();
71         do5.setName("aaaaa");
72         do5.setVersion("0.0.2");
73         do5.setDescription("Desc 1");
74
75         List<DummyPfObject> doList = new ArrayList<>();
76         doList.add(do0);
77         doList.add(do1);
78         doList.add(do2);
79         doList.add(do3);
80         doList.add(do4);
81         doList.add(do5);
82
83         DummyPfObjectFilter dof = new DummyPfObjectFilter();
84         assertFalse(dof.filterString("Hello", "Goodbye"));
85         assertTrue(dof.filterString("Hello", "Hello"));
86
87         assertEquals(false, dof.filterString("Hello", "Goodbye"));
88         assertEquals(true, dof.filterString("Hello", "Hello"));
89         assertEquals(true, dof.filterString("Hello", null));
90
91         List<DummyPfObject> latestVersionList = dof.latestVersionFilter(doList);
92         assertEquals(3, latestVersionList.size());
93         assertEquals("aaaaa", latestVersionList.get(0).getName());
94         assertEquals("0.0.2", latestVersionList.get(0).getVersion());
95         assertEquals("name0", latestVersionList.get(1).getName());
96         assertEquals("1.0.0", latestVersionList.get(1).getVersion());
97         assertEquals("name1", latestVersionList.get(2).getName());
98         assertEquals("0.1.2", latestVersionList.get(2).getVersion());
99
100         latestVersionList.remove(2);
101         latestVersionList.remove(1);
102         List<DummyPfObject> newestVersionList = dof.latestVersionFilter(latestVersionList);
103         assertEquals(latestVersionList, newestVersionList);
104     }
105 }