+
+ @Test(expected = UnsupportedOperationException.class)
+ public void testRemoveDefaultGroup() throws PAPException {
+ when(group.isDefaultGroup()).thenReturn(true);
+ container.removeGroup(group, newGroup);
+ }
+
+ @Test
+ public void testGetItemIds() {
+ assertNotNull(container.getItemIds(0, 0));
+ }
+
+ @Test
+ public void testContainsId() {
+ assertFalse(container.containsId(group));
+ }
+
+ @Test
+ public void testGroupMethods() {
+ container.groups.add(group);
+
+ Object retObj = container.getIdByIndex(0);
+ assertTrue(retObj instanceof OnapPDPGroup);
+ assertNotNull(retObj);
+
+ Object retFirstItemId = container.firstItemId();
+ assertTrue(retFirstItemId instanceof OnapPDPGroup);
+ assertNotNull(retFirstItemId);
+
+ Object retLastItemId = container.lastItemId();
+ assertTrue(retLastItemId instanceof OnapPDPGroup);
+ assertNotNull(retLastItemId);
+
+ assertTrue(container.isFirstId(group));
+
+ assertTrue(container.isLastId(group));
+ }
+
+ @Test
+ public void testNextItemId() {
+ OnapPDPGroup groupNotInList = Mockito.mock(OnapPDPGroup.class);
+ Object retObj = null;
+
+ container.groups.add(group);
+ container.groups.add(newGroup);
+
+ assertNull(container.nextItemId(groupNotInList));
+ assertNull(container.nextItemId(newGroup));
+
+ retObj = container.nextItemId(group);
+ assertNotNull(retObj);
+ assertTrue(retObj instanceof OnapPDPGroup);
+ }
+
+ @Test
+ public void testPrevItemId() {
+ OnapPDPGroup groupNotInList = Mockito.mock(OnapPDPGroup.class);
+ Object retObj = null;
+
+ container.groups.add(group);
+ container.groups.add(newGroup);
+
+ assertNull(container.prevItemId(groupNotInList));
+ assertNull(container.prevItemId(group));
+
+ retObj = container.prevItemId(newGroup);
+ assertNotNull(retObj);
+ assertTrue(retObj instanceof OnapPDPGroup);
+ }
+
+ @Test
+ public void testRemoveNullItem() {
+ OnapPDPGroup nullGroup = null;
+ assertFalse(container.removeItem(nullGroup));
+ }
+
+ @Test(expected = UnsupportedOperationException.class)
+ public void testRemoveDefaultItem() {
+ when(group.getId()).thenReturn("Default");
+ container.removeItem(group);
+ }
+
+ @SuppressWarnings("unchecked")
+ @Test
+ public void testRemoveItem() throws PAPException {
+ assertTrue(container.removeItem(group));
+
+ PAPPolicyEngine mockPAPPolicyEngine = Mockito.mock(PAPPolicyEngine.class);
+ PDPGroupContainer groupContainer = new PDPGroupContainer(mockPAPPolicyEngine);
+ when(mockPAPPolicyEngine.getDefaultGroup()).thenThrow(PAPException.class);
+ assertFalse(groupContainer.removeItem(group));
+ }
+}