public void BitePet_MoreThanMaxBites_ShouldReturnCorrectNumbers()
        {
            int  result;
            Pet  p1 = new Cat();
            Flea f1 = new Flea();

            f1.JumpOnPet(p1);
            result = f1.BitePet(40);
            result = f1.BitePet(70);
            Assert.AreEqual(60, result, "60 bites are left - return value should be 60");
            Assert.AreEqual(100, f1.AmountBites, "flea 1 has finished 100 bites");
            Assert.AreEqual(0, p1.RemainingBites, "no more bites on this pet");
        }
        public void BitePet_MoreThanMaxBitesJumpOnNextPet_ShouldReturnCorrectNumbers()
        {
            int  result;
            Pet  p1 = new Cat();
            Pet  p2 = new Cat();
            Flea f1 = new Flea();

            f1.JumpOnPet(p1);
            result = f1.BitePet(40);
            result = f1.BitePet(70);
            f1.JumpOnPet(p2);
            result = f1.BitePet(150);
            Assert.AreEqual(100, result, "only 100 bites are possible - return 100 bites");
            Assert.AreEqual(200, f1.AmountBites, "all bites are used - check logic AmountBites");
        }
        public void BitePet_RemainingBites_ShouldReturnCorrectNumber()
        {
            int  result;
            Pet  p1 = new Cat();
            Flea f1 = new Flea();

            f1.JumpOnPet(p1);
            result = f1.BitePet(40);
            Assert.AreEqual(60, p1.RemainingBites, "60 lunches should be left");
        }
        public void BitePet_NegativeBite_ShouldReturnCorrectNumbers()
        {
            int  result;
            Pet  p3 = new Dog();
            Flea f2 = new Flea();

            f2.JumpOnPet(p3);
            result = f2.BitePet(-100);
            Assert.AreEqual(0, result, "negative bite is not possible - return 0");
            Assert.AreEqual(0, f2.AmountBites, "amount of bites stays to 0");
        }
        public void BitePet_JumpedOnNoPet_ShouldReturnCorrectNumbers()
        {
            int  result;
            Flea f1 = new Flea();
            Flea f3 = new Flea();

            f1.JumpOnPet(null);
            result = f1.BitePet(100);
            Assert.AreEqual(0, result, "flea landed on no pet - return 0");
            result = f3.BitePet(100);
            Assert.AreEqual(0, result, "flea landed on no pet - return 0");
        }