/** * Copyright (c) 2009-2011, The HATS Consortium. All rights reserved. * This file is licensed under the terms of the Modified BSD License. */ package abs.backend.java.lib.net; import org.junit.Before; import org.junit.Test; import static org.junit.Assert.*; import static org.easymock.EasyMock.*; import abs.backend.java.lib.runtime.ABSObject; public class DefaultRouteEntryTest { private NetNode node1; private NetNode node2; private DefaultRouteEntry entry; @Before public void setUp() { node1 = createMock(NetNode.class); node2 = createMock(NetNode.class); entry = new DefaultRouteEntry(node1, 2, node2); } @Test(expected=IllegalArgumentException.class) public void negativeHops() { RouteEntry other = new DefaultRouteEntry(node1, -1, node1); } @Test public void implicitZeroHops() { RouteEntry other = new DefaultRouteEntry(node1, node1); assertEquals("must be equal to zero hops", 0, other.getHops()); } @Test public void getNextNode() { assertEquals("must be equal to node", node1, entry.getNextNode()); } @Test public void getHops() { assertEquals("must be equal to hops", 2, entry.getHops()); } @Test public void getSourceNode() { } @Test public void equalsSelf() { assertEquals("must be equal to self", entry, entry); } @Test public void doesEqual() { RouteEntry other = new DefaultRouteEntry(entry.getNextNode(), entry.getHops(), entry.getSourceNode()); assertEquals("must be equal to entry", entry, other); } @Test public void doesNotEqualNode() { RouteEntry other = new DefaultRouteEntry(node2, entry.getHops(), entry.getSourceNode()); assertFalse("must not be equal to entry", other.equals(entry)); } @Test public void doesNotEqualHops() { RouteEntry other = new DefaultRouteEntry(entry.getNextNode(), entry.getHops() + 1, entry.getSourceNode()); assertFalse("must not be equal to entry", other.equals(entry)); } @Test public void doesNotEqualSource() { RouteEntry other = new DefaultRouteEntry(entry.getNextNode(), entry.getHops(), node1); assertFalse("must not be equal to entry", other.equals(entry)); } @Test public void comparesToLess() { RouteEntry other = new DefaultRouteEntry(node2, entry.getHops() + 1, entry.getSourceNode()); assertTrue("must be less than other", entry.compareTo(other) < 0); assertTrue("must be greater than entry", other.compareTo(entry) > 0); } @Test public void comparesToGreater() { RouteEntry other = new DefaultRouteEntry(node2, entry.getHops() + 1, entry.getSourceNode()); assertTrue("must be less than other", other.compareTo(entry) > 0); assertTrue("must be greater than entry", entry.compareTo(other) < 0); } @Test public void comparesToEqual() { RouteEntry other = new DefaultRouteEntry(node2, entry.getHops(), entry.getSourceNode()); assertEquals("must be equal", 0, other.compareTo(entry)); assertEquals("must be equal", 0, entry.compareTo(other)); } @Test public void comparesToSelf() { assertEquals("must be equal", 0, entry.compareTo(entry)); } }