Пример #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);
        }
Пример #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);
        }
Пример #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));
        }
Пример #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));
        }
Пример #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);
        }
Пример #6
0
        public void AddAnimalHerbivoreTest()
        {
            Animal herbivore = new Animal(Diet.Herbivore, Size.Small);
            Train  train     = new Train();

            train.AddAnimal(herbivore);

            Assert.AreEqual(1, train.HerbivoreCount);
        }
Пример #7
0
        public void AddAnimalCarnivoreTest()
        {
            Animal carnivore = new Animal(Diet.Carnivore, Size.Small);
            Train  train     = new Train();

            train.AddAnimal(carnivore);

            Assert.AreEqual(1, train.CarnivoreCount);
        }
Пример #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);
        }
Пример #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);
        }
Пример #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);
        }
Пример #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);
        }
Пример #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);
        }
Пример #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);
        }
Пример #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);
        }
Пример #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);
        }
Пример #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);
        }
Пример #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));
        }