public HistoryFile()
 {
     resIdToId    = new Dictionary <string, uint>();
     idFilter     = new SortedList <uint, AudioLogEntry>();
     titleFilter  = new SimpleSubstringFinder <AudioLogEntry>();
     userIdFilter = new SortedList <uint, IList <AudioLogEntry> >();
     timeFilter   = new SortedList <DateTime, AudioLogEntry>();
 }
Example #2
0
        public void TestISubstringFinder(ISubstringSearch <string> subf)
        {
            subf.Add("thisIsASongName", "1");
            subf.Add("abcdefghijklmnopqrstuvwxyz", "2");
            subf.Add("123456789song!@#$%^&*()_<>?|{}", "3");
            subf.Add("SHOUTING SONG", "4");
            subf.Add("not shouting song", "5");
            subf.Add("http://test.song.123/text?var=val&format=mp3", "6");
            subf.Add("...........a...........", "7");

            var res = subf.GetValues("song");

            Assert.True(HaveSameItems(res, new[] { "1", "3", "4", "5", "6" }));
            res = subf.GetValues("shouting");
            Assert.True(HaveSameItems(res, new[] { "4", "5" }));
            res = subf.GetValues("this");
            Assert.True(HaveSameItems(res, new[] { "1" }));
            res = subf.GetValues("a");
            Assert.True(HaveSameItems(res, new[] { "1", "2", "6", "7" }));
            res = subf.GetValues(string.Empty);
            Assert.True(HaveSameItems(res, new[] { "1", "2", "3", "4", "5", "6", "7" }));
            res = subf.GetValues("zzzzzzzzzzzzzzzzz");
            Assert.True(HaveSameItems(res, new string[0]));
        }