Пример #1
0
        public void GetWholeChain_ReturnAllCrumbs_RelatedTo_Selected_One()
        {
            var crumbRoot = new Crumb();
            //B
            var crumbB     = new Crumb();
            var crumbB_A   = new Crumb();
            var crumbB_B   = new Crumb();
            var crumbB_C   = new Crumb();
            var crumbB_C_A = new Crumb();
            //C
            var crumbC = new Crumb();

            crumbRoot.RegisterObserver(crumbB);
            crumbRoot.RegisterObserver(crumbC);

            crumbB.RegisterObserver(crumbB_A);
            crumbB.RegisterObserver(crumbB_B);

            crumbB_C.RegisterObserver(crumbB_C_A);
            crumbB.RegisterObserver(crumbB_C);

            //act
            var crumbChain = crumbB.GetWholeChain().ToArray();

            Assert.Equal(6, crumbChain.Length);
            Assert.Contains(crumbRoot, crumbChain);
            Assert.Contains(crumbB, crumbChain);
            Assert.Contains(crumbB_A, crumbChain);
            Assert.Contains(crumbB_B, crumbChain);
            Assert.Contains(crumbB_C, crumbChain);
            Assert.Contains(crumbB_C_A, crumbChain);
        }
Пример #2
0
        public void GetWholeChain_ReturnCrumbsRelatedTo_Selected_WithNoSideOnes()
        {
            var crumbRoot = new Crumb()
            {
                Name = "root"
            };
            //B
            var crumbB = new Crumb()
            {
                Name = "B"
            };
            var crumbB_A = new Crumb()
            {
                Name = "B_A"
            };
            var crumbB_B   = new Crumb();
            var crumbB_C   = new Crumb();
            var crumbB_C_A = new Crumb();
            //C
            var crumbC = new Crumb();

            crumbRoot.RegisterObserver(crumbB);
            crumbRoot.RegisterObserver(crumbC);

            crumbB.RegisterObserver(crumbB_A);
            crumbB.RegisterObserver(crumbB_B);

            crumbB_C.RegisterObserver(crumbB_C_A);
            crumbB.RegisterObserver(crumbB_C);

            //act
            var crumbChain = crumbB_A.GetWholeChain().ToArray();

            Assert.Equal(3, crumbChain.Length);
            Assert.Contains(crumbRoot, crumbChain);
            Assert.Contains(crumbB, crumbChain);
            Assert.Contains(crumbB_A, crumbChain);
        }