public void ShouldAddAllDependantsOnConstruction()
        {
            var expected = new TestDependant[]
            {
                new TestDependant1(), new TestDependant2()
            };
            DependantCollection <TestDependant> coll = new DependantCollection <TestDependant>(expected);

            Assert.Equal(expected, coll);
        }
        public void ShouldRemoveDependants()
        {
            DependantCollection <TestDependant> coll = new DependantCollection <TestDependant>();
            var toRemove = new TestDependant[]
            {
                new TestDependant1(),
                new TestDependant1(),
                new TestDependant1()
            };
            var remaining = new TestDependant[]
            {
                new TestDependant2()
            };

            coll.AddAll(toRemove);
            coll.AddAll(remaining);
            coll.RemoveAll(toRemove);

            Assert.Equal(remaining, coll);
        }