X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=ONAP-REST%2Fsrc%2Ftest%2Fjava%2Forg%2Fonap%2Fpolicy%2Frest%2Futil%2FPolicyItemSetChangeNotifierTest.java;h=5e42ec6f61595d262080f5c77c67d466bf22e40a;hb=35f44d97d569ef4da46d17c30cae71e75bcfe0c9;hp=9e5ff5d9f1c13019b077b497c04d38087986a708;hpb=95a5bc9816c0bdf56b4ea6699004eb29940ddc6a;p=policy%2Fengine.git diff --git a/ONAP-REST/src/test/java/org/onap/policy/rest/util/PolicyItemSetChangeNotifierTest.java b/ONAP-REST/src/test/java/org/onap/policy/rest/util/PolicyItemSetChangeNotifierTest.java index 9e5ff5d9f..5e42ec6f6 100644 --- a/ONAP-REST/src/test/java/org/onap/policy/rest/util/PolicyItemSetChangeNotifierTest.java +++ b/ONAP-REST/src/test/java/org/onap/policy/rest/util/PolicyItemSetChangeNotifierTest.java @@ -3,13 +3,14 @@ * ONAP Policy Engine * ================================================================================ * Copyright (C) 2017-2018 AT&T Intellectual Property. All rights reserved. + * Modifications Copyright (C) 2019 Nordix Foundation. * ================================================================================ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at - * + * * http://www.apache.org/licenses/LICENSE-2.0 - * + * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. @@ -20,31 +21,57 @@ package org.onap.policy.rest.util; +import static org.assertj.core.api.Assertions.assertThatCode; +import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.fail; + import org.junit.Test; import org.mockito.Mockito; import org.onap.policy.rest.util.PolicyContainer.ItemSetChangeEvent; import org.onap.policy.rest.util.PolicyContainer.ItemSetChangeListener; public class PolicyItemSetChangeNotifierTest { - @Test - public void testNotifier() { - // Setup test data - ItemSetChangeListener listener = Mockito.mock(ItemSetChangeListener.class); - ItemSetChangeEvent event = Mockito.mock(ItemSetChangeEvent.class); - - // Test constructor - PolicyItemSetChangeNotifier notifier = new PolicyItemSetChangeNotifier(); - assertNotNull(notifier); - - // Test listener methods - try { - notifier.addItemSetChangeListener(listener); - notifier.fireItemSetChange(event); - notifier.removeItemSetChangeListener(listener); - } catch (Exception ex) { - fail("Not expecting any exceptions: " + ex); + @Test + public void testNotifier() { + + // Test constructor + PolicyItemSetChangeNotifier notifier = new PolicyItemSetChangeNotifier(); + assertNotNull(notifier); + + assertEquals(null, notifier.getItemSetChangeListeners()); + + ItemSetChangeListener listener1 = Mockito.mock(ItemSetChangeListener.class); + notifier.addItemSetChangeListener(listener1); + assertEquals(1, notifier.getItemSetChangeListeners().size()); + ItemSetChangeListener listener2 = Mockito.mock(ItemSetChangeListener.class); + notifier.addItemSetChangeListener(listener2); + assertEquals(2, notifier.getItemSetChangeListeners().size()); + + notifier.removeItemSetChangeListener(listener1); + assertEquals(1, notifier.getItemSetChangeListeners().size()); + notifier.addItemSetChangeListener(listener1); + assertEquals(2, notifier.getItemSetChangeListeners().size()); + + ItemSetChangeEvent event = Mockito.mock(ItemSetChangeEvent.class); + notifier.fireItemSetChange(event); + + notifier.removeItemSetChangeListener(listener1); + assertEquals(1, notifier.getItemSetChangeListeners().size()); + notifier.removeItemSetChangeListener(listener2); + assertEquals(0, notifier.getItemSetChangeListeners().size()); + notifier.removeItemSetChangeListener(listener2); + assertEquals(0, notifier.getItemSetChangeListeners().size()); + + notifier.setItemSetChangeListeners(null); + notifier.removeItemSetChangeListener(listener2); + assertEquals(null, notifier.getItemSetChangeListeners()); + + assertThatCode(() -> notifier.fireItemSetChange(event)).doesNotThrowAnyException(); + + notifier.setContainer(new DummyPolicyContainer()); + assertThatCode(() -> notifier.fireItemSetChange()).doesNotThrowAnyException(); + + PolicyContainer dummySource = new DummyPolicyContainer(); + assertEquals(dummySource, new PolicyItemSetChangeNotifier.BaseItemSetChangeEvent(dummySource).getContainer()); } - } }