blob: e40df8c6a06ae1401c66e4f0a068466bce19f3b4 [file] [log] [blame]
hongtao100c4222015-11-11 17:48:32 +08001/*
Brian O'Connor5ab426f2016-04-09 01:19:45 -07002 * Copyright 2015-present Open Networking Laboratory
hongtao100c4222015-11-11 17:48:32 +08003 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
16package org.onosproject.vtnrsc.router;
17
18import static org.hamcrest.MatcherAssert.assertThat;
19import static org.hamcrest.Matchers.is;
20import static org.hamcrest.Matchers.notNullValue;
21import static org.onlab.junit.ImmutableClassChecker.assertThatClassIsImmutable;
22
23import org.junit.Test;
24import org.onosproject.vtnrsc.RouterId;
25import org.onosproject.vtnrsc.RouterInterface;
26import org.onosproject.vtnrsc.SubnetId;
27import org.onosproject.vtnrsc.TenantId;
28import org.onosproject.vtnrsc.VirtualPortId;
29
30import com.google.common.testing.EqualsTester;
31
32/**
33 * Unit tests for RouterInterface class.
34 */
35public class RouterInterfaceTest {
36 private String tenantIdStr = "123";
37 private String virtualPortId = "1212";
38 private String routeIdStr1 = "1";
39 private String routeIdStr2 = "2";
40 private String subnetIdStr = "1234567";
41
42 /**
43 * Checks that the RouterInterface class is immutable.
44 */
45 @Test
46 public void testImmutability() {
47 assertThatClassIsImmutable(RouterInterface.class);
48 }
49
50 /**
51 * Checks the operation of equals().
52 */
53 @Test
54 public void testEquals() {
55 final TenantId tenantId = TenantId.tenantId(tenantIdStr);
56 final VirtualPortId portId = VirtualPortId.portId(virtualPortId);
57 final RouterId routerId1 = RouterId.valueOf(routeIdStr1);
58 final RouterId routerId2 = RouterId.valueOf(routeIdStr2);
59 final SubnetId subnet = SubnetId.subnetId(subnetIdStr);
60
61 RouterInterface ri1 = RouterInterface.routerInterface(subnet, portId,
62 routerId1,
63 tenantId);
64 RouterInterface ri2 = RouterInterface.routerInterface(subnet, portId,
65 routerId1,
66 tenantId);
67 RouterInterface ri3 = RouterInterface.routerInterface(subnet, portId,
68 routerId2,
69 tenantId);
70
71 new EqualsTester().addEqualityGroup(ri1, ri2).addEqualityGroup(ri3)
72 .testEquals();
73 }
74
75 /**
76 * Checks the construction of a RouterInterface object.
77 */
78 @Test
79 public void testConstruction() {
80 final TenantId tenantId = TenantId.tenantId(tenantIdStr);
81 final VirtualPortId portId = VirtualPortId.portId(virtualPortId);
82 final RouterId routerId1 = RouterId.valueOf(routeIdStr1);
83 final SubnetId subnet = SubnetId.subnetId(subnetIdStr);
84
85 RouterInterface ri1 = RouterInterface.routerInterface(subnet, portId,
86 routerId1,
87 tenantId);
88 assertThat(portId, is(notNullValue()));
89 assertThat(portId, is(ri1.portId()));
90 assertThat(tenantId, is(notNullValue()));
91 assertThat(tenantId, is(ri1.tenantId()));
92 assertThat(routerId1, is(notNullValue()));
93 assertThat(routerId1, is(ri1.routerId()));
94 assertThat(subnet, is(notNullValue()));
95 assertThat(subnet, is(ri1.subnetId()));
96 }
97}