Beispiel #1
0
        public void testCreateQualifiedRoot()
        {
            IPile p = new Pile.Engine.Transient.TransientPile();

            List<long> qualified;

            p.Create();
            qualified = new List<long>(p.GetQualified(1));
            Assert.AreEqual(0, qualified.Count);

            p.Create(1);
            qualified = new List<long>(p.GetQualified(1));
            Assert.AreEqual(1, qualified.Count);

            p.Create(1);
            qualified = new List<long>(p.GetQualified(1));
            Assert.AreEqual(2, qualified.Count);

            p.Create(2);
            qualified = new List<long>(p.GetQualified(1));
            Assert.AreEqual(2, qualified.Count);
            qualified = new List<long>(p.GetQualified(2));
            Assert.AreEqual(1, qualified.Count);

            p.Create(-1); // no problem to create a relation with a non-existent qualifier
            p.Create(99);
        }
Beispiel #2
0
        public void testCreateQualifiedRoot()
        {
            IPile p = new Pile.Engine.Transient.TransientPile();

            List <long> qualified;

            p.Create();
            qualified = new List <long>(p.GetQualified(1));
            Assert.AreEqual(0, qualified.Count);

            p.Create(1);
            qualified = new List <long>(p.GetQualified(1));
            Assert.AreEqual(1, qualified.Count);

            p.Create(1);
            qualified = new List <long>(p.GetQualified(1));
            Assert.AreEqual(2, qualified.Count);

            p.Create(2);
            qualified = new List <long>(p.GetQualified(1));
            Assert.AreEqual(2, qualified.Count);
            qualified = new List <long>(p.GetQualified(2));
            Assert.AreEqual(1, qualified.Count);

            p.Create(-1); // no problem to create a relation with a non-existent qualifier
            p.Create(99);
        }
Beispiel #3
0
        public void testCreateAndCount()
        {
            IPile p = new Pile.Engine.Transient.TransientPile();

            p.Create();
            p.Create();
            Assert.AreEqual(2, p.CountOfRelations);

            bool isNew;

            Assert.AreEqual(3, p.Create(1, 2, out isNew));
            Assert.IsTrue(isNew);
            Assert.AreEqual(3, p.CountOfRelations);
            Assert.AreEqual(2, p.CountOfRoots);

            Assert.AreEqual(3, p.Create(1, 2, out isNew));
            Assert.IsFalse(isNew);
            Assert.AreEqual(4, p.Create(2, 1));

            List <long> qualified;

            p.Create(3, 4, 1);
            qualified = new List <long>(p.GetQualified(1));
            Assert.AreEqual(1, qualified.Count);
        }
Beispiel #4
0
        public void testGetQualified()
        {
            IPile p = new Pile.Engine.Transient.TransientPile();

            p.Create();            // 1
            p.Create(100);         // 2
            p.Create(10, 11, 100); // 3
            p.Create(110);         // 4

            List <long> qualified;

            qualified = new List <long>(p.GetQualified(100));
            Assert.AreEqual(2, qualified.Count);
            Assert.AreEqual(2, qualified[0]);
            Assert.AreEqual(3, qualified[1]);

            qualified = new List <long>(p.GetQualified(110));
            Assert.AreEqual(1, qualified.Count);
        }
Beispiel #5
0
        public void testCreateAndCount()
        {
            IPile p = new Pile.Engine.Transient.TransientPile();

            p.Create();
            p.Create();
            Assert.AreEqual(2, p.CountOfRelations);

            bool isNew;
            Assert.AreEqual(3, p.Create(1, 2, out isNew));
            Assert.IsTrue(isNew);
            Assert.AreEqual(3, p.CountOfRelations);
            Assert.AreEqual(2, p.CountOfRoots);

            Assert.AreEqual(3, p.Create(1, 2, out isNew));
            Assert.IsFalse(isNew);
            Assert.AreEqual(4, p.Create(2, 1));

            List<long> qualified;
            p.Create(3, 4, 1);
            qualified = new List<long>(p.GetQualified(1));
            Assert.AreEqual(1, qualified.Count);
        }
Beispiel #6
0
        public void testGetQualified()
        {
            IPile p = new Pile.Engine.Transient.TransientPile();

            p.Create(); // 1
            p.Create(100); // 2
            p.Create(10, 11, 100); // 3
            p.Create(110); // 4

            List<long> qualified;
            qualified = new List<long>(p.GetQualified(100));
            Assert.AreEqual(2, qualified.Count);
            Assert.AreEqual(2, qualified[0]);
            Assert.AreEqual(3, qualified[1]);

            qualified = new List<long>(p.GetQualified(110));
            Assert.AreEqual(1, qualified.Count);
        }