public void NextStatesTest1() { const int MaxRepeatCount = 1; for (int minRepeatCount = 0; minRepeatCount <= MaxRepeatCount; minRepeatCount++) { Vocabulary context = new Vocabulary(new string[] { "AB" }, minRepeatCount, MaxRepeatCount); State[] states = context.InitialState.NextStates().Values.ToArray(); Assert.AreEqual(1, states.Length); Context.ContextState state = states[0] as Context.ContextState; Assert.AreEqual('A', state.Char); Assert.IsFalse(state.WordEnd); Assert.IsFalse(state.ContextWordEnd); Assert.AreEqual(1, state.RepeatCount); Assert.AreEqual(1.0f, state.CharProbability); Assert.AreEqual(0.0f, state.WordEndProbability); states = state.NextStates().Values.ToArray(); Assert.AreEqual(1, states.Length); state = states[0] as Context.ContextState; Assert.AreEqual('B', state.Char); Assert.IsTrue(state.WordEnd); Assert.IsTrue(state.ContextWordEnd); Assert.AreEqual(1, state.RepeatCount); Assert.AreEqual(1.0f, state.CharProbability); Assert.AreEqual(1.0f, state.WordEndProbability); Assert.IsNull(state.NextStates()); } }
public void InitialStateMethodTest1() { Charset charset = new Charset("0Az", 0, 2); Context.ContextState state = charset.InitialState as Context.ContextState; Assert.AreEqual((char)0, state.Char); Assert.IsFalse(state.WordEnd); Assert.IsTrue(state.ContextWordEnd); Assert.AreEqual(0, state.RepeatCount); Assert.AreEqual(0.0f, state.CharProbability); Assert.AreEqual(0.0f, state.WordEndProbability); }
public void NextStatesTest3() { const string Characters = "AB"; Charset charset = new Charset(Characters, 2, 2); State[] states = charset.InitialState.NextStates().Values.ToArray(); Assert.AreEqual(2, states.Length); for (int i = 0; i < states.Length; i++) { Context.ContextState state = states[i] as Context.ContextState; Assert.AreEqual(Characters[i], state.Char); Assert.IsFalse(state.WordEnd); Assert.IsFalse(state.ContextWordEnd); Assert.AreEqual(1, state.RepeatCount); Assert.AreEqual(0.5f, state.CharProbability); Assert.AreEqual(1.0f, state.WordEndProbability); State[] states2 = state.NextStates().Values.ToArray(); Assert.AreEqual(2, states.Length); for (int j = 0; j < states2.Length; j++) { Context.ContextState state2 = states2[j] as Context.ContextState; Assert.AreEqual(Characters[j], state2.Char); Assert.IsTrue(state2.WordEnd); Assert.IsTrue(state2.ContextWordEnd); Assert.AreEqual(2, state2.RepeatCount); Assert.AreEqual(0.5f, state2.CharProbability); Assert.AreEqual(1.0f, state2.WordEndProbability); Assert.IsNull(state2.NextStates()); } } }