public void ShouldConvertToStringWithBullet() { TerminalsRange predicate; predicate = new TerminalsRange('a', 'c'); Assert.AreEqual("•[a-c]", predicate.ToString(predicate)); }
public void ShouldEquals() { TerminalsRange a, b; a = new TerminalsRange('a', 'c'); b = new TerminalsRange('a', 'c'); Assert.IsTrue(a.Equals(b)); Assert.IsTrue(b.Equals(a)); }
public void ShouldNotEquals() { TerminalsRange a, b; a = new TerminalsRange('a', 'c'); b = new TerminalsRange('b', 'c'); Assert.IsFalse(a.Equals(b)); Assert.IsFalse(b.Equals(null)); Assert.IsFalse(b.Equals(new AnyTerminal())); Assert.IsFalse(b.Equals(new EOS())); }
public void ShouldGetInputs() { TerminalsRange predicate; IInput <char>[] inputs; predicate = new TerminalsRange('a', 'z'); inputs = predicate.GetInputs().ToArray(); Assert.IsNotNull(inputs); Assert.AreEqual(1, inputs.Length); Assert.AreEqual('a', ((TerminalRangeInput)inputs[0]).FirstValue); Assert.AreEqual('z', ((TerminalRangeInput)inputs[0]).LastValue); }
public void ShouldNotBuildTerminalRangeSegment() { SituationGraphSegmentFactory <char> factory; ISituationGraph <char> graph; LexicalRule rule; MockedSituationEdge capEdge; TerminalsRange predicate; capEdge = new MockedSituationEdge(); graph = new SituationGraph <char>(); factory = new SituationGraphSegmentFactory <char>(); predicate = new TerminalsRange('a', 'b'); rule = new LexicalRule() { Name = "A", Predicate = predicate }; Assert.ThrowsException <ArgumentNullException>(() => factory.BuildSegment(null, rule, predicate, capEdge.AsEnumerable())); Assert.ThrowsException <ArgumentNullException>(() => factory.BuildSegment(graph, null, predicate, capEdge.AsEnumerable())); Assert.ThrowsException <ArgumentNullException>(() => factory.BuildSegment(graph, rule, null as TerminalsRange, capEdge.AsEnumerable())); Assert.ThrowsException <ArgumentNullException>(() => factory.BuildSegment(graph, rule, predicate, null)); }