コード例 #1
0
ファイル: TestBag.cs プロジェクト: proftodd/Advent_of_Code
        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);
        }
コード例 #2
0
ファイル: TestBag.cs プロジェクト: proftodd/Advent_of_Code
        public void Bag_reports_whether_another_bag_can_contain_it()
        {
            Bag container = new Bag("blue", "light");
            Bag cargo     = new Bag("red", "dark");

            cargo.SetContainedBy(container);

            Assert.IsTrue(cargo.CanBeIn(new Bag("blue", "light")));
            Assert.IsFalse(cargo.CanBeIn(new Bag("red", "light")));
        }