Esempio n. 1
0
        public void LongestPrefixOfTest()
        {
            var expected = "shells";
            var actual   = _symbolTable.LongestPrefixOf("shellsort");

            Assert.AreEqual(expected, actual);

            expected = "a";
            actual   = _symbolTable.LongestPrefixOf("a");
            Assert.AreEqual(expected, actual);

            expected = "";
            actual   = _symbolTable.LongestPrefixOf("Invalid");
            Assert.AreEqual(expected, actual);

            _symbolTable.Clear();

            _symbolTable.Put("128", 0);
            _symbolTable.Put("128.112.055", 0);
            _symbolTable.Put("128.112.055.015", 0);
            _symbolTable.Put("128.112.136", 0);
            _symbolTable.Put("128.112.155.011", 0);
            _symbolTable.Put("128.112.155.013", 0);
            _symbolTable.Put("128.112", 0);
            _symbolTable.Put("128.222", 0);
            _symbolTable.Put("128.222.136", 0);

            expected = "128.112.136";
            actual   = _symbolTable.LongestPrefixOf("128.112.136.011");
            Assert.AreEqual(expected, actual);

            expected = "128.112";
            actual   = _symbolTable.LongestPrefixOf("128.112.100.016");
            Assert.AreEqual(expected, actual);

            expected = "128";
            actual   = _symbolTable.LongestPrefixOf("128.166.123.045");
            Assert.AreEqual(expected, actual);

            _symbolTable.Clear();
            _symbolTable.Put("a", 0);
            expected = "a";
            actual   = _symbolTable.LongestPrefixOf("a");
            Assert.AreEqual(expected, actual);
        }