Example #1
0
        public void AddAnimal_CheckIfDistributionIsCorrect_True()
        {
            //Arrange
            Train  train = new Train();
            string name  = "test";

            Animal.Diets dietHerbivore = Animal.Diets.Herbivore;
            Animal.Sizes size          = Animal.Sizes.Medium;

            Animal.Diets dietCarnivore = Animal.Diets.Carnivore;

            Animal animalHerbivore = new Animal(name, dietHerbivore, size);
            Animal animalCarnivore = new Animal(name, dietCarnivore, size);


            //Act
            train.AddAnimal(name, dietHerbivore, size);
            train.AddAnimal(name, dietCarnivore, size);
            train.DistibuteAnimals();

            //Assert

            Assert.AreEqual(animalCarnivore.Diet, train.wagonListReadOnly[0].animalListReadOnly[0].Diet);
            Assert.AreEqual(animalHerbivore.Diet, train.wagonListReadOnly[1].animalListReadOnly[0].Diet);
        }
Example #2
0
        public void CheckAlgorithm()
        {
            Train train = new Train();

            for (int i = 0; i < 3; i++)
            {
                Animal animal = new Animal(3, AnimalType.Plants);
                train.AddAnimal(animal);
            }

            Animal meatAnimal1 = new Animal(3, AnimalType.Meat);

            train.AddAnimal(meatAnimal1);

            Animal plantAnimal1 = new Animal(5, AnimalType.Plants);

            train.AddAnimal(plantAnimal1);

            Animal meatAnimal2 = new Animal(3, AnimalType.Meat);

            train.AddAnimal(meatAnimal2);

            Animal plantAnimal2 = new Animal(1, AnimalType.Plants);

            train.AddAnimal(plantAnimal2);

            Assert.AreEqual(3, train.GetContainers().Count);
        }
Example #3
0
        public void AddAnimalFalseTest()
        {
            //arrange
            Train train = new Train();
            Wagon wagon = new Wagon(10, false);

            //act
            train.Wagons.Add(wagon);
            train.AddAnimal("test", Size.Medium, typeAnimal.Herbivore);
            //assert
            Assert.IsFalse(train.AddAnimal("test", Size.Medium, typeAnimal.Carnivore));
        }
Example #4
0
        public void AddAnimalIsFalse()
        {
            //Arrange
            Train train = new Train();
            Wagon wagon = new Wagon(10, false);

            //Act
            train.Wagons.Add(wagon);
            train.AddAnimal("test", GrootteTypes.Middelgroot, AnimalTypes.PlantenEter);

            //Assert
            Assert.IsFalse(train.AddAnimal("test", GrootteTypes.Middelgroot, AnimalTypes.VleesEter));
        }
Example #5
0
        public void Four_Large_Herbivores_Fit_In_Two_Wagons()
        {
            // Arrange

            // Act
            for (int i = 0; i < 4; i++)
            {
                _train.AddAnimal(AnimalFactory.LargeHerbivore);
            }
            _train.DistributeAnimals();

            // Assert
            Assert.AreEqual(2, _train.WagonCount);
        }
        public void AddAnimalHerbivoreTest()
        {
            Animal herbivore = new Animal(Diet.Herbivore, Size.Small);
            Train  train     = new Train();

            train.AddAnimal(herbivore);

            Assert.AreEqual(1, train.HerbivoreCount);
        }
        public void AddAnimalCarnivoreTest()
        {
            Animal carnivore = new Animal(Diet.Carnivore, Size.Small);
            Train  train     = new Train();

            train.AddAnimal(carnivore);

            Assert.AreEqual(1, train.CarnivoreCount);
        }
Example #8
0
        public void AddWagon()
        {
            //Arrange
            Train train = new Train();

            //Assert
            Assert.IsFalse(train.AddAnimal("test", GrootteTypes.Klein, AnimalTypes.VleesEter));
            Assert.AreEqual(1, train.Wagons.Count);
            Assert.AreEqual(1, train.Wagons[0].AnimalToWagon.Count);
        }
Example #9
0
        public void NoWagonFoundTest()
        {
            //arrange
            //No wagon was created which invokes the NoWagonFound which if executed correctly will add a new wagon to train.Wagons
            //and will also add
            Train train = new Train();

            //assert
            Assert.IsFalse(train.AddAnimal("test", Size.Large, typeAnimal.Carnivore));
            Assert.AreEqual(1, train.Wagons.Count);
            Assert.AreEqual(1, train.Wagons[0].AnimalsInWagon.Count);
        }
Example #10
0
        public void CartAmountIsCorrectTest2()
        {
            //Arrange
            var cartAmount = 0;
            var train      = new Train();
            var animals    = new List <Animal>
            {
                new Animal("", Enums.Size.Small, Enums.Diet.Herbivore),
                new Animal("", Enums.Size.Small, Enums.Diet.Herbivore),
                new Animal("", Enums.Size.Medium, Enums.Diet.Herbivore),
                new Animal("", Enums.Size.Medium, Enums.Diet.Herbivore),
                new Animal("", Enums.Size.Medium, Enums.Diet.Herbivore),
                new Animal("", Enums.Size.Medium, Enums.Diet.Herbivore),


                new Animal("", Enums.Size.Large, Enums.Diet.Carnivore),
                new Animal("", Enums.Size.Large, Enums.Diet.Carnivore),
                new Animal("", Enums.Size.Medium, Enums.Diet.Carnivore),
                new Animal("", Enums.Size.Medium, Enums.Diet.Carnivore),
                new Animal("", Enums.Size.Small, Enums.Diet.Carnivore),
                new Animal("", Enums.Size.Small, Enums.Diet.Herbivore),
                new Animal("", Enums.Size.Small, Enums.Diet.Herbivore),
                new Animal("", Enums.Size.Small, Enums.Diet.Carnivore),
                new Animal("", Enums.Size.Large, Enums.Diet.Herbivore),
                new Animal("", Enums.Size.Large, Enums.Diet.Herbivore),
                new Animal("", Enums.Size.Large, Enums.Diet.Herbivore),
                new Animal("", Enums.Size.Large, Enums.Diet.Herbivore),
            };

            //Act
            foreach (var animal in animals)
            {
                train.AddAnimal(animal);
            }

            cartAmount = train.CalculateCartAmount();

            //Assert
            var count = 0;

            foreach (var cart in train.GetTrainCarts())
            {
                foreach (var animal in cart.GetAnimals())
                {
                    Console.WriteLine(animal.ToString() + " | Cart number" + count);
                }

                count++;
            }

            Assert.IsTrue(cartAmount == 7);
        }
Example #11
0
        public void AddAnimalAndDistributeAnimals_ExpectedAmountOfWagonsEqualsFive_True()
        {
            //Arrange
            Train  train = new Train();
            string name  = "test";

            Animal.Diets diet         = Animal.Diets.Herbivore;
            Animal.Sizes size1        = Animal.Sizes.Small;
            Animal.Sizes size2        = Animal.Sizes.Medium;
            Animal.Sizes size3        = Animal.Sizes.Large;
            int          expectedSize = 5;

            //Act
            train.AddAnimal(name, diet, size1);
            train.AddAnimal(name, diet, size2);
            train.AddAnimal(name, diet, size3);
            train.DistibuteAnimals();

            //Assert
            int actual = (int)train.wagonListReadOnly[0].animalListReadOnly[0].Size;

            Assert.AreEqual(expectedSize, actual);
        }
Example #12
0
        public void AddNewWagon()
        {
            //Arrange
            Train train = new Train();
            Wagon wagon = new Wagon(3, false);

            //Act
            train.Wagons.Add(wagon);

            //Assert
            Assert.IsFalse(train.AddAnimal("test", GrootteTypes.Groot, AnimalTypes.VleesEter));
            Assert.AreEqual(2, train.Wagons.Count);
            Assert.AreEqual(1, train.Wagons[1].AnimalToWagon.Count);
        }
Example #13
0
        public void DistributeAnimals_ExpectedAmountOfWagonsEqualsTwoBecauseOfSafety_True()
        {
            //Arrange
            Train  train = new Train();
            string name  = "test";

            Animal.Diets diet  = Animal.Diets.Herbivore;
            Animal.Diets diet2 = Animal.Diets.Carnivore;
            Animal.Sizes size1 = Animal.Sizes.Small;
            Animal.Sizes size2 = Animal.Sizes.Medium;
            Animal.Sizes size3 = Animal.Sizes.Large;
            int          expectedAmountOfWagons = 2;

            //Act
            train.AddAnimal(name, diet, size1);
            train.AddAnimal(name, diet2, size2);
            train.AddAnimal(name, diet, size3);
            train.DistibuteAnimals();

            //Assert
            int actual = train.wagonListReadOnly.Count;

            Assert.AreEqual(expectedAmountOfWagons, actual);
        }
Example #14
0
        public void NoWagonFoundTest2()
        {
            //arrange
            //THe animal can't be added to a existing wagon which will invoke the NoWagonFound method which will generate a new wagon and add the animal to said wagon
            //which means the train.wagons should contain 2 wagons.
            Train train = new Train();
            Wagon wagon = new Wagon(3, false);

            //act
            train.Wagons.Add(wagon);
            //assert
            Assert.IsFalse(train.AddAnimal("test", Size.Large, typeAnimal.Carnivore));
            Assert.AreEqual(2, train.Wagons.Count);
            Assert.AreEqual(1, train.Wagons[1].AnimalsInWagon.Count);
        }
Example #15
0
        public void AddAnimal_ExpectedAmountOfWagonsDoesNotEqualSeven_True()
        {
            // Arrange
            string name = "test";

            Animal.Diets diet         = Animal.Diets.Herbivore;
            Animal.Sizes size         = Animal.Sizes.Large;
            int          expectedSize = 7;
            Train        train        = new Train();

            // Act
            train.AddAnimal(name, diet, size);

            //Assert
            int actual = (int)train.animalListReadOnly[0].Size;

            Assert.AreNotEqual(expectedSize, actual);
        }
Example #16
0
        public void DistributeAnimals_ExpectedAmountOfWagonsEqualsSixty_ExceptionThrown()
        {
            //Arrange
            Train  train = new Train();
            string name  = "test";

            Animal.Diets diet = Animal.Diets.Herbivore;
            Animal.Sizes size = Animal.Sizes.Small;
            int          expectedAmountOfWagons = 60;

            //Act
            for (int i = 0; i < 35; i++)
            {
                train.AddAnimal(name, diet, size);
            }
            train.DistibuteAnimals();

            //Assert
            int actual = train.wagonListReadOnly.Count;

            Assert.AreEqual(expectedAmountOfWagons, actual);
        }
Example #17
0
        public void AmountOfAnimalsInTrainIsCorrect()
        {
            var animalCount = 0;
            var cartAmount  = 0;
            var train       = new Train();
            var animals     = new List <Animal>
            {
                new Animal("", Enums.Size.Large, Enums.Diet.Herbivore),
                new Animal("", Enums.Size.Large, Enums.Diet.Herbivore),
                new Animal("", Enums.Size.Large, Enums.Diet.Carnivore),
                new Animal("", Enums.Size.Large, Enums.Diet.Carnivore),
                new Animal("", Enums.Size.Medium, Enums.Diet.Carnivore),
                new Animal("", Enums.Size.Medium, Enums.Diet.Carnivore),
                new Animal("", Enums.Size.Small, Enums.Diet.Carnivore),
                new Animal("", Enums.Size.Small, Enums.Diet.Carnivore),
                new Animal("", Enums.Size.Small, Enums.Diet.Herbivore),
                new Animal("", Enums.Size.Small, Enums.Diet.Herbivore),
                new Animal("", Enums.Size.Small, Enums.Diet.Herbivore),
                new Animal("", Enums.Size.Small, Enums.Diet.Herbivore),
                new Animal("", Enums.Size.Medium, Enums.Diet.Herbivore),
                new Animal("", Enums.Size.Medium, Enums.Diet.Herbivore),
                new Animal("", Enums.Size.Medium, Enums.Diet.Herbivore),
                new Animal("", Enums.Size.Medium, Enums.Diet.Herbivore),
                new Animal("", Enums.Size.Large, Enums.Diet.Herbivore),
                new Animal("", Enums.Size.Large, Enums.Diet.Herbivore),
            };

            //Act
            foreach (var animal in animals)
            {
                train.AddAnimal(animal);
            }
            cartAmount = train.CalculateCartAmount();
            //Assert
            animalCount = 18;
            Assert.IsTrue(animalCount == train.GetTrainCarts().Sum(cart => cart.GetAnimals().Count));
        }