public void GraphWithSelfEdges(
            [UsingLinear(2, 5)] int i,
            [UsingLinear(0, 25)] int j
            )
        {
            if (i == 0 && j == 0)
            {
                return;
            }

            Random rnd = new Random();

            var next = new IntFactory();

            g = new AdjacencyGraph <int, Edge <int> >(true);
            RandomGraphFactory.Create <int, Edge <int> >(g,
                                                         next.Next,
                                                         (s, t) => new Edge <int>(s, t),
                                                         rnd, i, j, true);

            foreach (var sv in g.Vertices)
            {
                this.sourceVertex = sv;
                RunBfs();
            }
        }
 public static void VisitorModMain()
 {
     void test()
     {
         IntFactory   b            = new IntFactory();
         PrintFactory printFactory = new PrintFactory();
         int          x            = exp(b).eval(); // int x = exp.eval();
     }
 }
Beispiel #3
0
        public void TryCreateTest()
        {
            var factory = new IntFactory();

            FactoryRegistry <int> .RegisterFactory(factory);

            Assert.IsTrue(FactoryRegistry <int> .TryCreate(out var created, 1234));
            Assert.AreEqual(1234, created);
        }
Beispiel #4
0
        public void CreateTest()
        {
            var factory = new IntFactory();

            FactoryRegistry <int> .RegisterFactory(factory);

            Assert.AreEqual(0, factory.Create());
            Assert.AreEqual(1234, factory.Create(1234));
        }
        public void GraphWithSelfEdgesBig()
        {
            Console.WriteLine("processors: {0}", TaskManager.Current.Policy.IdealProcessors);
            Random rnd = new Random();
            g = new AdjacencyGraph<int, Edge<int>>(true);
            var next = new IntFactory();
            RandomGraphFactory.Create<int, Edge<int>>(g,
                next.Next,
                (s,t) => new Edge<int>(s,t),
                rnd, 5000, 20000, false);

            var sv = g.Vertices.FirstOrDefault();
            this.sourceVertex = sv;
            RunBfs();
        }
        public void GraphWithSelfEdgesBig()
        {
            TestConsole.WriteLine("processors: {0}", TaskManager.Current.Policy.IdealProcessors);
            Random rnd = new Random();

            g = new AdjacencyGraph <int, Edge <int> >(true);
            var next = new IntFactory();

            RandomGraphFactory.Create <int, Edge <int> >(g,
                                                         next.Next,
                                                         (s, t) => new Edge <int>(s, t),
                                                         rnd, 5000, 20000, false);

            var sv = g.Vertices.FirstOrDefault();

            this.sourceVertex = sv;
            RunBfs();
        }
Beispiel #7
0
        public void RegisterFactoryTest()
        {
            Assert.IsNull(FactoryRegistry <int> .Factory);

            var factory = new IntFactory();

            Assert.IsTrue(FactoryRegistry <int> .RegisterFactory(factory));
            Assert.AreEqual(factory, FactoryRegistry <int> .Factory);
            Assert.IsNotNull(FactoryRegistry <int> .Factory);

            var factory2 = new IntFactory();

            Assert.AreNotEqual(factory, factory2);
            Assert.IsFalse(FactoryRegistry <int> .RegisterFactory(factory2));
            Assert.AreEqual(factory, FactoryRegistry <int> .Factory);

            Assert.IsTrue(FactoryRegistry <int> .RegisterFactory(factory2, true));
            Assert.AreEqual(factory2, FactoryRegistry <int> .Factory);
        }
        public void GraphWithSelfEdges(
            [UsingLinear(2, 5)] int i,
            [UsingLinear(0, 25)] int j
            )
        {
            if (i == 0 && j == 0)
                return;

            Random rnd = new Random();

            var next = new IntFactory();
            g = new AdjacencyGraph<int, Edge<int>>(true);
            RandomGraphFactory.Create<int, Edge<int>>(g,
                next.Next,
                (s, t) => new Edge<int>(s, t),
                rnd, i, j, true);

            foreach (var sv in g.Vertices)
            {
                this.sourceVertex = sv;
                RunBfs();
            }
        }