Example #1
0
        public void TestRandom()
        {
            var random    = new Random();
            var generator = new RandomMultiLayerGenerator();

            for (var i = 8; i < 15; i++)
            {
                var p           = random.Next(6, 10) / 10.0;
                var l           = random.Next(2, 10);
                var n           = generator.Generate(i, l, p);
                var a           = n.Actors;
                var abacus      = new ABACUS();
                var communities = abacus.Apply(n, n => new Louvain().Apply(n), 2);
                var actors      = communities.SelectMany(c => c.Actors).Distinct();

                Assert.Empty(a.Except(actors));
                communities.ForEach(c => Assert.NotEmpty(c.Actors));
            }
        }
Example #2
0
        public void TwoLayerTriangles()
        {
            var N           = NetworkHelper.TwoLayerTriangles();
            var A           = N.Actors;
            var abacus      = new ABACUS();
            var communities = abacus.Apply(N, n => new Louvain().Apply(n), 2);

            Assert.Collection(communities,
                              com => Assert.Collection(com.Actors,
                                                       a => Assert.Equal(A[0], a),
                                                       a => Assert.Equal(A[1], a),
                                                       a => Assert.Equal(A[2], a)
                                                       ),
                              com => Assert.Collection(com.Actors,
                                                       a => Assert.Equal(A[3], a),
                                                       a => Assert.Equal(A[4], a),
                                                       a => Assert.Equal(A[5], a)
                                                       )
                              );
        }