public void AddStartStopSymbolsTest()
{
var tokens = new[] {"this", "is", "a", "test"};
List<string> actual = tokens.ToList();
List<string> expected = tokens.ToList();
var model = new NGramModel(Unigram);
model.AddStartStopSymbols(actual);
CollectionAssert.AreEqual(expected, actual);
model = new NGramModel(Bigram);
actual = tokens.ToList();
expected = new[] {"<s0>", "this", "is", "a", "test", "</s>"}.ToList();
model.AddStartStopSymbols(actual);
CollectionAssert.AreEqual(expected, actual);
model = new NGramModel(Trigram);
actual = tokens.ToList();
expected = new[] {"<s1>", "<s0>", "this", "is", "a", "test", "</s>"}.ToList();
model.AddStartStopSymbols(actual);
CollectionAssert.AreEqual(expected, actual);
model = new NGramModel(4);
actual = tokens.ToList();
expected = new[] {"<s2>", "<s1>", "<s0>", "this", "is", "a", "test", "</s>"}.ToList();
model.AddStartStopSymbols(actual);
CollectionAssert.AreEqual(expected, actual);
}