Ejemplo n.º 1
0
    public void EulerianPathTest()
    {
        string contents = File.ReadAllText("/Users/yukiosaki/Desktop/lineAralgebra/Programing/Algorithm/Graph/Implementations/Tests/eularGraph.txt");
        var    values   = contents.Split(new[] { Environment.NewLine }, StringSplitOptions.None);

        var vertex = values[0];
        var g      = new AdjacentListGraph(int.Parse(vertex));

        for (var i = 1; i < values.Length; i++)
        {
            var value = values[i].Split().Select(int.Parse).ToArray();
            var w     = value[0];
            var v     = value[1];
            g.AddEdge(w, v);
        }

        var path = new EulerianPath(g, 0);

        Console.WriteLine("path" + path.path.Count);

        foreach (var item in path.path)
        {
            Console.WriteLine("item" + item);
        }
        // Assert.Equal(G.Adj(7).Count, 1);
        // Assert.Equal(G.Adj(0).Count, 4);
        // Assert.Equal(G.Adj(9).Count, 3);
    }
Ejemplo n.º 2
0
    public void AdjencyListGraph()
    {
        string contents = File.ReadAllText("/Users/yukiosaki/Desktop/lineAralgebra/Programing/Algorithm/Graph/Implementations/Tests/sampleGraphData.txt");
        var    values   = contents.Split(new[] { Environment.NewLine }, StringSplitOptions.None);

        var vertex = values[0];
        var G      = new AdjacentListGraph(int.Parse(vertex));

        for (var i = 1; i < values.Length; i++)
        {
            var value = values[i].Split().Select(int.Parse).ToArray();
            var w     = value[0];
            var v     = value[1];
            G.AddEdge(w, v);
        }

        Assert.Equal(G.Adj(7).Count, 1);
        Assert.Equal(G.Adj(0).Count, 4);
        Assert.Equal(G.Adj(9).Count, 3);
    }