2 * Copyright (c) 2017 Cisco Systems, Inc. and others. All rights reserved.
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
9 package org.opendaylight.groupbasedpolicy.renderer.vpp;
11 import java.util.Collections;
13 import java.util.TreeSet;
15 import org.junit.Assert;
16 import org.junit.Before;
17 import org.junit.Test;
18 import org.mockito.Mockito;
19 import org.opendaylight.groupbasedpolicy.renderer.vpp.policy.RendererResolvedPolicy;
20 import org.opendaylight.groupbasedpolicy.renderer.vpp.policy.ResolvedRuleGroup;
21 import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.renderer.rev151103.EndpointPolicyParticipation;
24 * It's important not to lose any resolved rule when caching policy.
26 public class RendererResolvedPolicyTest {
28 private ResolvedRuleGroup resolvedRuleGroup1;
29 private ResolvedRuleGroup resolvedRuleGroup2;
30 private RendererResolvedPolicy rendResPolicy1;
31 private RendererResolvedPolicy rendResPolicy2;
32 private Set<RendererResolvedPolicy> testSet;
36 resolvedRuleGroup1 = Mockito.mock(ResolvedRuleGroup.class);
37 resolvedRuleGroup2 = Mockito.mock(ResolvedRuleGroup.class);
41 public void testCompareTo_sameParticipation() {
42 rendResPolicy1 = new RendererResolvedPolicy(EndpointPolicyParticipation.PROVIDER, resolvedRuleGroup1);
43 rendResPolicy2 = new RendererResolvedPolicy(EndpointPolicyParticipation.PROVIDER, resolvedRuleGroup1);
44 testSet = createSet(rendResPolicy1, rendResPolicy2);
45 Assert.assertEquals(testSet.size(), 1);
46 rendResPolicy2 = new RendererResolvedPolicy(EndpointPolicyParticipation.PROVIDER, resolvedRuleGroup2);
47 testSet = createSet(rendResPolicy1, rendResPolicy2);
48 Assert.assertEquals(testSet.size(), 2);
52 public void testCompareTo_differentParticipation() {
53 rendResPolicy1 = new RendererResolvedPolicy(EndpointPolicyParticipation.PROVIDER, resolvedRuleGroup1);
54 rendResPolicy2 = new RendererResolvedPolicy(EndpointPolicyParticipation.CONSUMER, resolvedRuleGroup1);
55 testSet = createSet(rendResPolicy1, rendResPolicy2);
56 Assert.assertEquals(testSet.size(), 2);
57 rendResPolicy2 = new RendererResolvedPolicy(EndpointPolicyParticipation.PROVIDER, resolvedRuleGroup2);
58 testSet = createSet(rendResPolicy1, rendResPolicy2);
59 Assert.assertEquals(testSet.size(), 2);
62 private Set<RendererResolvedPolicy> createSet(RendererResolvedPolicy... rendResolvedPolicies) {
63 Set<RendererResolvedPolicy> policies = new TreeSet<>();
64 Collections.addAll(policies, rendResolvedPolicies);