public void AllCharsTest() { RDMain inst = this.testInst; PrivateObject param0 = new PrivateObject(inst); // TODO: Initialize to an appropriate value RDMain_Accessor target = new RDMain_Accessor(param0); // TODO: Initialize to an appropriate value target.tokenBuffer = "."; target.CharClass(); Graph verificationGraph = new Graph(); BaseVertex start = verificationGraph.StartVertex; start.Accepting = false; StringBuilder allChar = new StringBuilder(); for (int i = 32; i <= 126; i++) { allChar.Append((char)i); } string trans = allChar.ToString(); BaseVertex end = verificationGraph.CreateNewVertex(true); start.AddConnection(end, trans); Graph generated = target.lineGraph; Assert.AreEqual<Graph>(verificationGraph, generated, "Graphs are not equal. \nExpected:\n\n{0}\n\nReceived:\n\n{1}", verificationGraph.ToDOT("Expected"), generated.ToDOT("Generated")); Assert.AreEqual<int>(target.tokenBuffer.Length, target.tokenPosition, "Token position is not in correct location. Expected {0}, Actual {1}", 1, target.tokenPosition); }
static void Main() { string epsilon = "0"; Graph g = new Graph(); //create vertices /* BaseVertex one = g.CreateNewVertex("0",false); BaseVertex two = g.CreateNewVertex("1",false); BaseVertex three = g.CreateNewVertex("2",false); */ //BaseVertex four = g.CreateNewVertex("4",false); //BaseVertex five = g.CreateNewVertex("5",false); /* one.AddConnection(two, "a"); two.AddConnection(two, "a"); two.AddConnection(three, epsilon); three.AddConnection(three, "b"); three.AddConnection(two, "a"); three.AddConnection(one, "a"); */ BaseVertex v0 = g.CreateNewVertex("0", false); BaseVertex v1 = g.CreateNewVertex("1", true); BaseVertex v2 = g.CreateNewVertex("2", false); v0.AddConnection(v1, "a"); v1.AddConnection(v1, "a"); v1.AddConnection(v2, epsilon); v2.AddConnection(v2, "b"); v2.AddConnection(v0, "a"); v2.AddConnection(v1, "a"); String nfaDOT = g.ToDOT("NFA"); Converter c = new Converter(g,epsilon); //Console.WriteLine(); c.convertToDFA(v0); //String dfaDOT = c.table.createGraph().ToDOT("DFA"); //Console.WriteLine("Done"); //Console.ReadLine(); }
static void Main(string[] args) { Graph graph = new Graph(); BaseVertex v1 = graph.CreateNewVertex("node1"); BaseVertex v2 = graph.CreateNewVertex("node2"); BaseVertex v3 = graph.CreateNewVertex("node3"); BaseVertex v4 = graph.CreateNewVertex("node4"); v1.Connections.Add(new Edge(v1, "", "a")); v1.Connections.Add(new Edge(v2, "", "a")); v1.Connections.Add(new Edge(v3, "", "a")); v1.Connections.Add(new Edge(v4, "", "a")); v1.Connections.Add(new Edge(v2, "", "b")); v1.Connections.Add(new Edge(v4, "", "b")); String s = graph.ToDOT("testgraph"); Console.WriteLine(s); }
public void SimpleBracketZeroTest() { RDMain inst = this.testInst; PrivateObject param0 = new PrivateObject(inst); // TODO: Initialize to an appropriate value RDMain_Accessor target = new RDMain_Accessor(param0); // TODO: Initialize to an appropriate value target.tokenBuffer = "[0]"; target.CharClass(); Graph verificationGraph = new Graph(); BaseVertex start = verificationGraph.StartVertex; start.Accepting = false; BaseVertex newV = verificationGraph.CreateNewVertex(true); start.AddConnection(newV, "0"); Graph generated = target.lineGraph; Assert.AreEqual<Graph>(verificationGraph, generated, "Graphs are not equal. \nExpected:\n\n{0}\n\nReceived:\n\n{1}", verificationGraph.ToDOT("Expected"), generated.ToDOT("Generated")); Assert.AreEqual<int>(target.tokenBuffer.Length, target.tokenPosition, "Token position is not in correct location. Expected {0}, Actual {1}", 1, target.tokenPosition); }
public void FullAlphaNumRangeTest() { RDMain inst = this.testInst; PrivateObject param0 = new PrivateObject(inst); // TODO: Initialize to an appropriate value RDMain_Accessor target = new RDMain_Accessor(param0); // TODO: Initialize to an appropriate value target.tokenBuffer = "[a-zA-Z0-9]"; target.CharClass(); Graph verificationGraph = new Graph(); BaseVertex start = verificationGraph.StartVertex; start.Accepting = false; BaseVertex newV = verificationGraph.CreateNewVertex(true); start.AddConnection(newV, "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"); Graph generated = target.lineGraph; Assert.AreEqual<Graph>(verificationGraph, generated, "Graphs are not equal. \nExpected:\n\n{0}\n\nReceived:\n\n{1}", verificationGraph.ToDOT("Expected"), generated.ToDOT("Generated")); Assert.AreEqual<int>(target.tokenBuffer.Length, target.tokenPosition, "Token position is not in correct location. Expected {0}, Actual {1}", 1, target.tokenPosition); }
public void DefinedCharClassExclusionTest() { RDMain inst = this.testInst; PrivateObject param0 = new PrivateObject(inst); // TODO: Initialize to an appropriate value RDMain_Accessor target = new RDMain_Accessor(param0); // TODO: Initialize to an appropriate value target.tokenBuffer = "[^0] IN $DIGIT"; target.characterClasses["DIGIT"] = new Graph(); BaseVertex v = target.characterClasses["DIGIT"].CreateNewVertex(true); target.characterClasses["DIGIT"].StartVertex.Accepting = false; target.characterClasses["DIGIT"].StartVertex.AddConnection(v, "0123456789"); target.Regexp(); Graph verificationGraph = new Graph(); BaseVertex start = verificationGraph.StartVertex; start.Accepting = false; BaseVertex end = verificationGraph.CreateNewVertex(true); start.AddConnection(end, "123456789"); Graph generated = target.lineGraph; Assert.AreEqual<Graph>(verificationGraph, generated, "Graphs are not equal. \nExpected:\n\n{0}\n\nReceived:\n\n{1}", verificationGraph.ToDOT("Expected"), generated.ToDOT("Generated")); Assert.AreEqual<int>(target.tokenBuffer.Length, target.tokenPosition, "Token position is not in correct location. Expected {0}, Actual {1}", 1, target.tokenPosition); }