public void As_long_as_this_mock_animal_is_also_milkable()
        {
            IMilkable mockAnimal = new FakeAnimal();

            // TODO Please remove the incorrect assertion.
            Assert.DoesNotThrow(() => mockAnimal.Milk());
            Assert.Throws<ThisIsntMilkableException>(() => mockAnimal.Milk());
        }
        public void As_long_as_this_mock_animal_is_also_milkable()
        {
            IMilkable mockAnimal = new FakeAnimal();

            // TODO Please remove the incorrect assertion.
            Assert.DoesNotThrow(() => mockAnimal.Milk());
            Assert.Throws <ThisIsntMilkableException>(() => mockAnimal.Milk());
        }
        public void But_milking_animals_for_tests_is_wasteful()
        {
            var mockAnimal = new FakeAnimal();
            var farm = new DairyFarm(mockAnimal); //We can test the farm machinery on a MOCK animal.

            // TODO Please remove the incorrect assertion.
            Assert.That(farm.GetProduce(), Is.EqualTo("Pretend milk"));
            Assert.That(farm.GetProduce(), Is.EqualTo("Real milk"));
        }
        public void But_milking_animals_for_tests_is_wasteful()
        {
            var mockAnimal = new FakeAnimal();
            var farm       = new DairyFarm(mockAnimal); //We can test the farm machinery on a MOCK animal.

            // TODO Please remove the incorrect assertion.
            Assert.That(farm.GetProduce(), Is.EqualTo("Pretend milk"));
            Assert.That(farm.GetProduce(), Is.EqualTo("Real milk"));
        }