public void GetSwitches_Test() { Vertex v1 = new Vertex(48, 50, 2, 4), v2 = new Vertex(49, 48, 2, 4), v3 = new Vertex(54, 53, 2, 4), v4 = new Vertex(50, 51, 3, 4), v5 = new Vertex(50, 49, 2, 4), v6 = new Vertex(65, 66, 2, 4), v7 = new Vertex(97, 98, 3, 4), v8 = new Vertex(96, 35, 2, 4), v9 = new Vertex(95, 26, 2, 4); Edge e1 = new Edge(v2, v3, 5, true, true), e2 = new Edge(v2, v5, 1, true, true), e3 = new Edge(v2, v6, 17, true, false), e4 = new Edge(v2, v3, 5, false, false), e5 = new Edge(v2, v5, 1, false, false), e7 = new Edge(v8, v9, 1, true, true), e6 = new Edge(v2, v6, 17, false, true), e8 = new Edge(v8, v9, 9, false, false); Graph g = new Graph() { Vertices = {v1, v2, v3, v4, v5, v6, v7, v8, v9}, Edges = {e1, e2, e3, e4, e5, e6, e7, e8} }; Assert.AreEqual(new List<Edge> {e5,e7}.ToString(), g.GetSwitches().ToString() ); }
private void _refactorGraph(Graph graph) { _s.Restart(); List<Edge> chosen = graph.GetSwitches(); _s.Stop(); _setTimings("GetSwitches", _s.ElapsedMilliseconds); foreach (Edge edge in chosen) { _swapVertexData(edge); } foreach (Vertex vertex in graph.Vertices) { if ((vertex.SampleValue1 + vertex.SampleValue2).Mod(vertex.Modulo) != vertex.Message) { _forceSampleChange(vertex); } } }
private static void _refactorGraph(Graph graph) { List<Edge> chosen = graph.GetSwitches(); foreach (Edge edge in chosen) { _swapVertexData(edge); } foreach (Vertex vertex in graph.Vertices) { if ((vertex.SampleValue1 + vertex.SampleValue2).Mod(vertex.Modulo) != vertex.Message) { _forceSampleChange(vertex); } } }