public void TestSingleWord() { var index = new WordIndex(); Assert.That(index.GetAttributes(), Is.EquivalentTo(new string[0])); index.Add("w1", "attr2"); index.Add("w1", "attr1"); index.Add("w1", "attr3"); Assert.Throws<ArgumentException>(() => index.Add("w1", "attr1")); Assert.That(index.GetAttributes(), Is.EquivalentTo(new string[] {"attr1", "attr2", "attr3"})); Assert.That(index.GetWordNames("attr1"), Is.EquivalentTo(new string[] {"w1"})); Assert.That(index.GetWordNames("attr2"), Is.EquivalentTo(new string[] {"w1"})); Assert.That(index.GetWordNames("attr3"), Is.EquivalentTo(new string[] {"w1"})); Assert.Throws<KeyNotFoundException>(() => index.Remove("wX", "attr1")); Assert.Throws<KeyNotFoundException>(() => index.Remove("w1", "attrX")); index.Remove("w1", "attr2"); Assert.That(index.GetAttributes(), Is.EquivalentTo(new string[] {"attr1", "attr3"})); Assert.That(index.GetWordNames("attr1"), Is.EquivalentTo(new string[] {"w1"})); Assert.That(index.GetWordNames("attr2"), Is.EquivalentTo(new string[0])); Assert.That(index.GetWordNames("attr3"), Is.EquivalentTo(new string[] {"w1"})); index.Remove("w1", "attr1"); index.Remove("w1", "attr3"); Assert.That(index.GetAttributes(), Is.EquivalentTo(new string[0])); Assert.That(index.GetWordNames("attr1"), Is.EquivalentTo(new string[0])); Assert.That(index.GetWordNames("attr2"), Is.EquivalentTo(new string[0])); Assert.That(index.GetWordNames("attr3"), Is.EquivalentTo(new string[0])); }
public void Populate(List <Word> words) { Contract.Assert(wordsByName.Count == 0); foreach (Word word in words) { WordInfo wordInfo = WordInfo.Create(this, word); wordsByName.Add(word.Name, wordInfo); tagIndex.Add(word.Name, wordInfo.Tags); translationIndex.Add(word.Name, wordInfo.Translations); } UpdateTranslations(translationIndex.GetAttributes()); Modified = false; UpdateStats(); OnContentsChanged(); }
public void TestUpdate() { var index = new WordIndex(); index.Update(null, new List<string>(), "w1", new List<string> {"attr1"}); Assert.That(index.GetAttributes(), Is.EquivalentTo(new string[] {"attr1"})); Assert.That(index.GetWordNames("attr1"), Is.EquivalentTo(new string[] {"w1"})); index.Update("w1", new List<string> {"attr1"}, "w1", new List<string> {"attr2", "attr3"}); Assert.That(index.GetAttributes(), Is.EquivalentTo(new string[] {"attr2", "attr3"})); Assert.That(index.GetWordNames("attr1"), Is.EquivalentTo(new string[0])); Assert.That(index.GetWordNames("attr2"), Is.EquivalentTo(new string[] {"w1"})); Assert.That(index.GetWordNames("attr3"), Is.EquivalentTo(new string[] {"w1"})); index.Update("w1", new List<string> {"attr2", "attr3"}, "w2", new List<string> {"attr3", "attr1"}); Assert.That(index.GetAttributes(), Is.EquivalentTo(new string[] {"attr1", "attr3"})); Assert.That(index.GetWordNames("attr1"), Is.EquivalentTo(new string[] {"w2"})); Assert.That(index.GetWordNames("attr2"), Is.EquivalentTo(new string[0])); Assert.That(index.GetWordNames("attr3"), Is.EquivalentTo(new string[] {"w2"})); }
public IEnumerable <string> GetAllTags() { return(tagIndex.GetAttributes()); }