public void BaGraphHasCorrectVectorsBeforeAndAfterAddingNode()
        {
            BaGraph g = new BaGraph(3, new Randomizer(), 10);

            Assert.AreEqual(14, g.DegreeVector.Count());
            g.AddNodeToBaGraph();
            Assert.AreEqual(15, g.DegreeVector.Count());
        }
Exemple #2
0
        public void GraphAssortativityOfRandomGraphsIsInRange()
        {
            Randomizer rand = new Randomizer();

            for (int i = 0; i < 10; i++)
            {
                ErGraph erg = new ErGraph((int)(rand.NextDouble() * 300 + 20), rand.NextDouble() * 0.4, new Randomizer(new Random(rand.Next())));
                TestGraphs.Add(erg);
                Assert.IsTrue(-1 <= erg.GraphAssortativity && erg.GraphAssortativity <= 1);
                Assert.IsTrue(-1 <= erg.GraphAssortativity2() && erg.GraphAssortativity2() <= 1);
                Assert.IsTrue(Math.Abs(erg.GraphAssortativity - erg.GraphAssortativity2()) < Tolerance);

                BaGraph bag = new BaGraph((int)(rand.NextDouble() * 20 + 2), new Randomizer(new Random(rand.Next())), (int)(rand.NextDouble() * 800 + 100));
                TestGraphs.Add(bag);
                Assert.IsTrue(-1 <= bag.GraphAssortativity && bag.GraphAssortativity <= 1);
                Assert.IsTrue(-1 <= bag.GraphAssortativity2() && bag.GraphAssortativity2() <= 1);
                Assert.IsTrue(Math.Abs(bag.GraphAssortativity - bag.GraphAssortativity2()) < Tolerance);
            }
            Assert.IsTrue(AllGraphsHaveNoZeroDegreeNodes());
        }
Exemple #3
0
        public void IterativeSwappingMaintainsDegreeVector()
        {
            Randomizer rand = new Randomizer();

            // Random graphs
            for (int i = 0; i < 10; i++)
            {
                ErGraph erg = new ErGraph((int)(rand.NextDouble() * 300 + 20), rand.NextDouble() * 0.4, new Randomizer(new Random(rand.Next())));
                TestGraphs.Add(erg);
                string prevVector = String.Join(",", erg.DegreeVector);
                erg.IterativelySwapEdgesToIncreaseAssortativity();
                Assert.AreEqual(prevVector, String.Join(",", erg.DegreeVector));

                BaGraph bag = new BaGraph((int)(rand.NextDouble() * 20 + 2), new Randomizer(new Random(rand.Next())), (int)(rand.NextDouble() * 800 + 100));
                TestGraphs.Add(bag);
                prevVector = String.Join(",", erg.DegreeVector);
                erg.IterativelySwapEdgesToIncreaseAssortativity();
                Assert.AreEqual(prevVector, String.Join(",", erg.DegreeVector));
            }
            Assert.IsTrue(AllGraphsHaveNoZeroDegreeNodes());
        }