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 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 ThrowsErrorIfNoPreferenceToAdopt()
 {
     shelter.FIFOAnimalShelter();
     Assert.Throws <Exception>(() => shelter.AnimalDequeue("dog"));
 }