コード例 #1
0
        public void SearchTest()
        {
            var s = new GraphNodeVis <char>('S');
            var b = new GraphNodeVis <char>('B');

            s.Add(b);
            s.Add('A', 'Z', 'X');
            b.Add('C');

            Assert.That(Dfs(s, 'C'), Is.True);
            Assert.That(iterations, Is.EqualTo(3));
        }
コード例 #2
0
        public void Dog_NotExists()
        {
            var a = new GraphNodeVis <char>('a');

            a.Add('b', 'r', 't');
            a.Chain('m').Chain('t');
            Assert.That(IsExists(a, "dog"), Is.False);
        }
コード例 #3
0
        public void Dfs_With_loop_NotFound()
        {
            var a = new GraphNodeVis <char>('A');

            a.Add('D');
            var t = new GraphNodeVis <char>('T');
            var b = new GraphNodeVis <char>('B');
            var c = new GraphNodeVis <char>('C');

            a.Add(b, c);

            b.Add(t);
            c.Add(t);

            Assert.That(Dfs(a, 'Z'), Is.False);
            Assert.That(iterations, Is.EqualTo(5));
        }
コード例 #4
0
        public void Dog_Exists1()
        {
            var a = new GraphNodeVis <char>('a');

            a.Add('b', 'r', 't');
            a.Chain('m').Chain('d').Chain('d').Chain('o').Chain('g').Add('d');

            Assert.That(IsExists(a, "dog"), Is.True);
        }
コード例 #5
0
        public void WithLoop()
        {
            var m = new GraphNodeVis <char>('m');
            var d = new GraphNodeVis <char>('d');
            var t = new GraphNodeVis <char>('t');
            var o = new GraphNodeVis <char>('o');
            var g = new GraphNodeVis <char>('g');

            m.Add(t, d);

            d.Add(m, g, o, t);

            o.Add(d, g);

            g.Add(o, d);
            Assert.That(IsExists(m, "dog"), Is.True);
        }