public void CanProperlyAddADog()
        {
            shelter.FIFOAnimalShelter();
            shelter.AnimalEnqueue("dog");
            string actual   = shelter.DogQ.Front.Value;
            string expected = "dog";

            Assert.Equal(expected, actual);
        }
        public void Dequeue_returns_dog()
        {
            // Arrange
            AnimalShelter shelter = new AnimalShelter();

            shelter.AnimalEnqueue(Animal.Type.Bird);
            shelter.AnimalEnqueue(Animal.Type.Dog);
            shelter.AnimalEnqueue(Animal.Type.Cat);

            // Act
            Animal.Type?result = shelter.AnimalDequeue(Animal.Type.Dog);

            // Assert
            Assert.Equal(Animal.Type.Dog, result);
        }
        public void Dequeue_returns_dog_or_cat_or_null()
        {
            // Arrange
            AnimalShelter shelter = new AnimalShelter();

            shelter.AnimalEnqueue(Animal.Type.Bird);
            shelter.AnimalEnqueue(Animal.Type.Dog);
            shelter.AnimalEnqueue(Animal.Type.Cat);

            // Act
            Animal.Type?result = shelter.AnimalDequeue(Animal.Type.Bird);

            // Assert
            Assert.Null(result);
        }
        public void Shelter_can_add_animals()
        {
            // Arrange
            AnimalShelter shelter = new AnimalShelter();

            // Act
            shelter.AnimalEnqueue(Animal.Type.Dog);
            bool result = shelter.ShelterIsEmpty();

            // Assert
            Assert.False(result);
        }