@Test
public void test() {

    List<String> sessionIDs = new ArrayList<String>();
    sessionIDs.add("sessionid");
    sessionIDs.add("jsessionids");
    sessionIDs.add("phpsessid");
    sessionIDs.add("sid");
    
    Map<String, Integer> mapDefaultPort = new HashedMap<String, Integer>();
    mapDefaultPort.put("http", 80);
    mapDefaultPort.put("https", 443);
    mapDefaultPort.put("ftp", 21);
    mapDefaultPort.put("ftps", 90);
    mapDefaultPort.put("sftp", 22);
    NormalizerImpl normalizer = new NormalizerImpl(sessionIDs, mapDefaultPort);
    CrawleableUri normUri = normalizer.normalize(originalUri);
    Assert.assertEquals(expectedUri, normUri);
    Map<String, Object> expectedData = expectedUri.getData();
    Map<String, Object> normData = normUri.getData();
    for (Entry<String, Object> expected : expectedData.entrySet()) {
        Assert.assertTrue(
                "The normalized URI does not contain data with the expected key \"" + expected.getKey() + "\".",
                normData.containsKey(expected.getKey()));
        Assert.assertEquals(expected.getValue(), normData.get(expected.getKey()));
    }
    Assert.assertEquals("The normalized URI seems to have a different amount of appended data elemenets.",
            expectedData.size(), normData.size());
}