mirror of
https://github.com/opennetworkinglab/onos.git
synced 2025-10-24 22:01:02 +02:00
Unit tests for DefaultGroupDescription class
Change-Id: Ic1378e9be3067bd45def74769023d51178765260
This commit is contained in:
parent
346d4f5fc6
commit
02ce27426e
@ -181,7 +181,7 @@ public class DefaultGroupDescription implements GroupDescription {
|
||||
if (this == obj) {
|
||||
return true;
|
||||
}
|
||||
if (obj instanceof DefaultGroupDescription) {
|
||||
if (obj instanceof DefaultGroupDescription) {
|
||||
DefaultGroupDescription that = (DefaultGroupDescription) obj;
|
||||
return Objects.equals(deviceId, that.deviceId) &&
|
||||
Objects.equals(type, that.type) &&
|
||||
|
||||
@ -0,0 +1,96 @@
|
||||
/*
|
||||
* Copyright 2015 Open Networking Laboratory
|
||||
*
|
||||
* 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.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
package org.onosproject.net.group;
|
||||
|
||||
import org.junit.Test;
|
||||
import org.onosproject.net.flow.DefaultTrafficTreatment;
|
||||
import org.onosproject.net.flow.TrafficTreatment;
|
||||
|
||||
import com.google.common.collect.ImmutableList;
|
||||
import com.google.common.testing.EqualsTester;
|
||||
|
||||
import static org.hamcrest.CoreMatchers.is;
|
||||
import static org.hamcrest.MatcherAssert.assertThat;
|
||||
import static org.onlab.junit.ImmutableClassChecker.assertThatClassIsImmutableBaseClass;
|
||||
import static org.onosproject.net.NetTestTools.APP_ID;
|
||||
import static org.onosproject.net.NetTestTools.did;
|
||||
|
||||
/**
|
||||
* Default group description unit tests.
|
||||
*/
|
||||
public class DefaultGroupDescriptionTest {
|
||||
byte[] keyData = "abcdefg".getBytes();
|
||||
private final GroupKey key = new DefaultGroupKey(keyData);
|
||||
private final TrafficTreatment treatment =
|
||||
DefaultTrafficTreatment.emptyTreatment();
|
||||
private final GroupBucket bucket =
|
||||
DefaultGroupBucket.createSelectGroupBucket(treatment);
|
||||
private final GroupBuckets groupBuckets =
|
||||
new GroupBuckets(ImmutableList.of(bucket));
|
||||
private final DefaultGroupDescription d1 =
|
||||
new DefaultGroupDescription(did("2"),
|
||||
GroupDescription.Type.FAILOVER,
|
||||
groupBuckets);
|
||||
private final DefaultGroupDescription sameAsD1 =
|
||||
new DefaultGroupDescription(d1);
|
||||
private final DefaultGroupDescription d2 =
|
||||
new DefaultGroupDescription(did("2"),
|
||||
GroupDescription.Type.INDIRECT,
|
||||
groupBuckets);
|
||||
private final DefaultGroupDescription d3 =
|
||||
new DefaultGroupDescription(did("3"),
|
||||
GroupDescription.Type.FAILOVER,
|
||||
groupBuckets,
|
||||
key,
|
||||
711,
|
||||
APP_ID);
|
||||
|
||||
/**
|
||||
* Checks that the Default group description class is immutable and can be
|
||||
* inherited from.
|
||||
*/
|
||||
@Test
|
||||
public void testImmutability() {
|
||||
assertThatClassIsImmutableBaseClass(DefaultGroupDescription.class);
|
||||
}
|
||||
|
||||
/**
|
||||
* Tests for proper operation of equals(), hashCode() and toString() methods.
|
||||
*/
|
||||
@Test
|
||||
public void checkEquals() {
|
||||
new EqualsTester()
|
||||
.addEqualityGroup(d1, sameAsD1)
|
||||
.addEqualityGroup(d2)
|
||||
.addEqualityGroup(d3)
|
||||
.testEquals();
|
||||
}
|
||||
|
||||
/**
|
||||
* Checks that construction of an object was correct.
|
||||
*/
|
||||
@Test
|
||||
public void testConstruction() {
|
||||
assertThat(d3.deviceId(), is(did("3")));
|
||||
assertThat(d3.type(), is(GroupDescription.Type.FAILOVER));
|
||||
assertThat(d3.buckets(), is(groupBuckets));
|
||||
assertThat(d3.appId(), is(APP_ID));
|
||||
assertThat(d3.givenGroupId(), is(711));
|
||||
assertThat(key.key(), is(keyData));
|
||||
assertThat(d3.appCookie().key(), is(keyData));
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user