示例#1
0
        public void It_counts_transitive_containers_correctly()
        {
            var cargo      = new Bag("blue", "light");
            var container1 = new Bag("red", "dark");
            var container2 = new Bag("green", "forest");
            var container3 = new Bag("yellow", "sunny");

            cargo.SetContainedBy(container1);
            cargo.SetContainedBy(container2);
            container1.SetContainedBy(container3);
            ISet <Bag> expectedContainers   = new HashSet <Bag>(new[] { container1, container2, container3 });
            var        transitiveContainers = cargo.GetTransitiveContainers(cargo);

            transitiveContainers.ExceptWith(expectedContainers);
            Assert.AreEqual(0, transitiveContainers.Count);
        }
        public void It_reports_no_containers_correctly()
        {
            var cargo = new Bag("blue", "light");

            Assert.AreEqual(new HashSet <Bag>(), cargo.GetTransitiveContainers(cargo));
        }