예제 #1
0
        public void Execute_SourceIsNotInLaw()
        {
            var tree = TreeHelper.GetTree();

            var source = tree.Root.Partner2;
            var find   = new FindBasicRelationships();

            find.Execute(tree, source);
        }
예제 #2
0
        public void Execute_FirstCousinOnceRemovedCase2HasCorrectRelativePosition()
        {
            var alg = new FindBasicRelationships();

            alg.Execute(tree, ping);

            Assert.AreEqual(1, timmy.GetFactValue <int>(FactType.XPosition));
            Assert.AreEqual(1, timmy.GetFactValue <int>(FactType.YPosition));
        }
예제 #3
0
        public void Execute_SecondCousinHasCorrectRelativePosition()
        {
            var alg = new FindBasicRelationships();

            alg.Execute(tree, timmy);

            Assert.AreEqual(2, leroy.GetFactValue <int>(FactType.XPosition));
            Assert.AreEqual(0, leroy.GetFactValue <int>(FactType.YPosition));
        }
예제 #4
0
        public void Execute_InLawHasSameRelativePositionAsSpouse()
        {
            var alg = new FindBasicRelationships();

            alg.Execute(tree, roxi);

            Assert.AreEqual(jeff.GetFactValue <int>(FactType.XPosition), aura.GetFactValue <int>(FactType.XPosition));
            Assert.AreEqual(jeff.GetFactValue <int>(FactType.YPosition), aura.GetFactValue <int>(FactType.YPosition));
        }
예제 #5
0
        public void Execute_GrandparentHasCorrectRelativePosition()
        {
            var alg = new FindBasicRelationships();

            alg.Execute(tree, roxi);

            Assert.AreEqual(0, greg.GetFactValue <int>(FactType.XPosition));
            Assert.AreEqual(-2, greg.GetFactValue <int>(FactType.YPosition));
        }
예제 #6
0
        public void Execute_AuntUncleHasCorrectRelativePosition()
        {
            var alg = new FindBasicRelationships();

            alg.Execute(tree, roxi);

            Assert.AreEqual(0, jeff.GetFactValue <int>(FactType.XPosition));
            Assert.AreEqual(-1, jeff.GetFactValue <int>(FactType.YPosition));
        }
예제 #7
0
        public void Execute_SiblingHasCorrectRelativePosition()
        {
            var alg = new FindBasicRelationships();

            alg.Execute(tree, della);

            Assert.AreEqual(0, roxi.GetFactValue <int>(FactType.XPosition));
            Assert.AreEqual(0, roxi.GetFactValue <int>(FactType.YPosition));
        }
예제 #8
0
        public void Execute_AncestorsBelowSourceAreMarked()
        {
            var alg = new FindBasicRelationships();

            alg.Execute(tree, greg);

            Assert.IsTrue(brent.HasFact(FactType.Ancestor));
            Assert.IsTrue(roxi.HasFact(FactType.Ancestor));
            Assert.IsTrue(timmy.HasFact(FactType.Ancestor));
        }
예제 #9
0
        public void Execute_AncestorsAboveSourceAreMarked()
        {
            var alg = new FindBasicRelationships();

            alg.Execute(tree, roxi);

            Assert.IsTrue(brent.HasFact(FactType.Ancestor));
            Assert.IsTrue(greg.HasFact(FactType.Ancestor));
            Assert.IsTrue(pam.HasFact(FactType.Ancestor));
        }
예제 #10
0
        public void Execute_MarksAllMembersInTree()
        {
            var tree = TreeHelper.GetTree();

            //case 1
            var source = tree.Root.Children[0];
            var find   = new FindBasicRelationships();

            find.Execute(tree, source);
            Assert.AreEqual(tree.Count, find.MarkedMembers.Count);

            //case 2
            source = tree.Root.Children[1].Partnerships[0].Children[0];
            find   = new FindBasicRelationships();
            find.Execute(tree, source);
            Assert.AreEqual(tree.Count, find.MarkedMembers.Count);

            //case 3
            source = tree.Root.Partner1;
            find   = new FindBasicRelationships();
            find.Execute(tree, source);
            Assert.AreEqual(tree.Count, find.MarkedMembers.Count);
        }