/* * To change this template, choose Tools | Templates * and open the template in the editor. */ package se.sics.ipasdistances; import se.sics.ipasdistances.PrefixMatcher; import org.junit.*; import static org.junit.Assert.*; import se.sics.asdistances.PrefixHandler; /** * * @author niklas */ public class PrefixMatcherTest { PrefixMatcher pm; public PrefixMatcherTest() { } // @BeforeClass // public static void setUpClass() throws Exception { // } // // @AfterClass // public static void tearDownClass() throws Exception { // } @Before public void setUp() { pm = PrefixMatcher.getInstance(); } // // @After // public void tearDown() { // } @Test public void testEqualIPs() { int shared = PrefixHandler.sharedPrefix("0.0.0.0", "0.0.0.0"); assertEquals(32,shared); shared = PrefixHandler.sharedPrefix("192.168.1.1", "192.168.1.1"); assertEquals(32,shared); } @Test public void testCompletelyDifferentPrefixes() { int shared = PrefixHandler.sharedPrefix("0.0.0.0", "255.255.255.255"); assertEquals(0,shared); } @Test public void testDifferentIPs() { int shared = PrefixHandler.sharedPrefix("0.0.0.0", "0.0.0.1"); assertEquals(31,shared); shared = PrefixHandler.sharedPrefix("0.0.0.0", "0.0.0.2"); assertEquals(30,shared); shared = PrefixHandler.sharedPrefix("0.0.0.0", "0.0.0.3"); assertEquals(30,shared); shared = PrefixHandler.sharedPrefix("0.0.0.0", "0.255.0.3"); assertEquals(8,shared); shared = PrefixHandler.sharedPrefix("0.0.0.0", "0.0.23.3"); assertEquals(19,shared); shared = PrefixHandler.sharedPrefix("0.0.0.0", "0.2.12.3"); assertEquals(14,shared); } @Test public void testIntegerPrefixes() { int prefix1 = PrefixHandler.prefixToInteger("0.0.0.0"); int shared = PrefixHandler.sharedPrefix(prefix1, prefix1); assertEquals(32,shared); int prefix2 = PrefixHandler.prefixToInteger("255.255.255.255"); shared = PrefixHandler.sharedPrefix(prefix1, prefix2); assertEquals(0,shared); prefix2 = PrefixHandler.prefixToInteger("0.255.0.3"); shared = PrefixHandler.sharedPrefix(prefix1, prefix2); assertEquals(8,shared); prefix2 = PrefixHandler.prefixToInteger("0.0.23.3"); shared = PrefixHandler.sharedPrefix(prefix1, prefix2); assertEquals(19,shared); } @Test public void testprefixToInteger() { String ip = "0.0.0.0"; String result = PrefixHandler.prefixToString(PrefixHandler.prefixToInteger(ip)); assertEquals(ip,result); ip = "255.255.255.255"; result = PrefixHandler.prefixToString(PrefixHandler.prefixToInteger(ip)); assertEquals(ip,result); ip = "0.0.0.0/20"; result = PrefixHandler.prefixToString(PrefixHandler.prefixToInteger(ip)); assertEquals("0.0.0.0",result); ip = "1.1.1.1/24"; result = PrefixHandler.prefixToString(PrefixHandler.prefixToInteger(ip)); assertEquals("1.1.1.0",result); ip = "192.168.1.12"; result = PrefixHandler.prefixToString(PrefixHandler.prefixToInteger(ip)); assertEquals(ip,result); ip = "192.168.1.12/9"; result = PrefixHandler.prefixToString(PrefixHandler.prefixToInteger(ip)); assertEquals("192.128.0.0",result); } }