Пример #1
0
        public void TestAnimalShelter()
        {
            var shelter = new AnimalShelter();

            Assert.Throws <Exception>(() => shelter.TakeCat(), "No more cats.");
            Assert.Throws <Exception>(() => shelter.TakeDog(), "No more dogs.");
            Assert.Throws <Exception>(() => shelter.TakeAnimal(), "No more animal.");

            shelter.AddCat(new Cat("cat1"));
            shelter.AddCat(new Cat("cat2"));
            shelter.AddDog(new Dog("dog1"));
            shelter.AddDog(new Dog("dog2"));
            shelter.AddCat(new Cat("cat3"));

            Assert.AreEqual("cat1", shelter.TakeCat().Name);
            Assert.AreEqual("dog1", shelter.TakeDog().Name);
            Assert.AreEqual("cat2", shelter.TakeAnimal().Name);
            Assert.AreEqual("dog2", shelter.TakeAnimal().Name);
            Assert.AreEqual("cat3", shelter.TakeCat().Name);
        }