def test_dequeue_works_correctly_there_is_dogs_and_cats():
    new_shelter = AnimalShelter()
    new_shelter.enqueue('Oscar', 'dog')
    new_shelter.enqueue('Sherry', 'cat')
    actual = new_shelter.dequeue('dog')
    expected = 'Oscar'
    assert expected == actual
예제 #2
0
def fixed_shelter():
    shelter = AnimalShelter()
    shelter.enqueue(Cat('Tom'))
    shelter.enqueue(Dog('Spike'))
    shelter.enqueue(Cat('Mdhat'))

    return shelter
예제 #3
0
def test_dequeue_any():
    animals = AnimalShelter()
    aln = Dog('Aln')
    Sherry = Cat('Sherry')
    animals.enqueue(aln)
    animals.enqueue(Sherry)

    expected = None
    actual = animals.dequeue('any')
    assert expected == actual
def test_dequeue_and_enqueue():
    mylo = Dog('mylo')
    reixy = Dog('mylo')
    luna = Dog('luna')
    kitty = Cat('kitty')
    lily = Cat('lily')
    a = AnimalShelter()
    a.enqueue(mylo)
    a.enqueue(reixy)
    a.enqueue(luna)
    a.enqueue(kitty)
    a.enqueue(lily)

    assert a.dequeue('cat') == 'kitty'
    assert a.dequeue('cat') == 'lily'
    assert a.dequeue('dog') == 'mylo'
    assert a.dequeue('dog') == 'mylo'
    assert a.dequeue('dog') == 'luna'
예제 #5
0
def test_shelter_enqueue():
    shelter = AnimalShelter()

    shelter.enqueue(Cat("1"))
    assert shelter.queue1.front.value == "1"
    assert shelter.queue1.rear.value == "1"
    shelter.enqueue(Dog("2"))
    assert shelter.queue1.rear.value == "2"
    shelter.enqueue(Cat("3"))
    assert shelter.queue1.rear.value == "3"
    shelter.enqueue(Dog("4"))
    assert shelter.queue1.rear.value == "4"
    assert shelter.queue1.front.value == "1"
def test_enqueue_many_to_animal_shelter():
    new_shelter = AnimalShelter()
    new_shelter.enqueue('dog')
    new_shelter.enqueue('cat')
    new_shelter.enqueue('cat')
    new_shelter.enqueue('cat')
    new_shelter.enqueue('cat')
    assert new_shelter.front.name == 'Ima dog'
def test_dequeue_cat_from_shelter_of_many():
    new_shelter = AnimalShelter()
    new_shelter.enqueue('dog')
    new_shelter.enqueue('cat')
    new_shelter.enqueue('cat')
    new_shelter.enqueue('cat')
    new_shelter.enqueue('cat')
    new_shelter.enqueue('dog')
    assert new_shelter.dequeue('cat').name == 'Ima cat'
예제 #8
0
def test_dequeue_first_object():
    animals = AnimalShelter()

    animals.enqueue('Cherry', 'cat')
    animals.enqueue('Oscar', 'dog')
    animals.enqueue('Bobi', 'dog')
    animals.dequeue('Cat')
    expected = 'Front -> Oscar -> Bobi -> Rear'
    actual = animals.__str__()
    assert actual == expected
def test_dequeue_first_from_shelter_no_preference():
    new_shelter = AnimalShelter()
    new_shelter.enqueue('dog')
    new_shelter.enqueue('cat')
    new_shelter.enqueue('cat')
    new_shelter.enqueue('cat')
    new_shelter.enqueue('cat')
    new_shelter.enqueue('dog')
    assert new_shelter.dequeue().name == 'Ima dog'
    assert new_shelter.front.name == 'Ima cat'
예제 #10
0
def test_enqueu_cat_dog():
    animals = AnimalShelter()
    alex = Dog('alex')
    aln = Dog('Aln')
    Sherry = Cat('Sherry')
    Semsem = Cat('Semsem')
    animals.enqueue(alex)
    animals.enqueue(aln)
    animals.enqueue(Sherry)
    animals.enqueue(Semsem)

    expected = ('alex', 'Aln', 'Sherry', 'Semsem')
    actual = alex.name, aln.name, Sherry.name, Semsem.name
    assert expected == actual
예제 #11
0
def test_dequeue_cat():
    animals = AnimalShelter()
    alex = Dog('alex')
    aln = Dog('Aln')
    Sherry = Cat('Sherry')
    Semsem = Cat('Semsem')
    animals.enqueue(alex)
    animals.enqueue(aln)
    animals.enqueue(Sherry)
    animals.enqueue(Semsem)

    expected = 'Sherry'
    actual = animals.dequeue('cat')
    assert expected == actual
예제 #12
0
def test_shelter_dequeue():
    shelter = AnimalShelter()

    shelter.enqueue(Cat("1"))
    shelter.enqueue(Dog("2"))
    shelter.enqueue(Cat("3"))
    shelter.enqueue(Cat("a"))
    shelter.enqueue(Dog("4"))

    pet_adopted = shelter.dequeue('cat')
    assert pet_adopted.type == 'cat'
    assert pet_adopted.value == '1'

    pet_adopted = shelter.dequeue('cat')
    assert pet_adopted.type == 'cat'
    assert pet_adopted.value == '3'

    pet_adopted = shelter.dequeue('dog')
    assert shelter.queue1.front.value == "a"
    assert pet_adopted.type == 'dog'
    assert pet_adopted.value == '2'
def test_addeing_animal():
    new_shelter = AnimalShelter()
    new_shelter.enqueue('Oscar', 'dog')
    actual = new_shelter.dog.__str__()
    expected = 'Oscar-> None'
    assert expected == actual
예제 #14
0
def test_shelter_enqueue_notcar_or_dog():
    shelter = AnimalShelter()
    assert shelter.enqueue(Node('1')) == "Animal must be cat or dog"
예제 #15
0
def test_shelter_dequeue_not_in_list2():
    shelter = AnimalShelter()
    shelter.enqueue(Cat("1"))
    shelter.enqueue(Dog("2"))
    pet_adopted = shelter.dequeue('parrot')
    assert pet_adopted == None
예제 #16
0
def test_shelter_dequeue_capital():
    shelter = AnimalShelter()
    shelter.enqueue(Cat("1"))
    shelter.enqueue(Dog("2"))
    pet_adopted = shelter.dequeue('Dog')
    assert pet_adopted.value == '2'
def test_dequeue_one_animal_from_shelter():
    new_shelter = AnimalShelter()
    new_shelter.enqueue('dog')
    assert new_shelter.dequeue('dog').name == 'Ima dog'
    assert new_shelter.front == None
예제 #18
0
def test_enqueue():
    animals = AnimalShelter()
    animals.enqueue('Cherry', 'cat')
    expected = 'Cherry'
    actual = animals.front.name
    assert actual == expected
예제 #19
0
def test_enqueu_any_value():
    animals = AnimalShelter()
    expected = 'Add Cat or Dog Only'
    actual = animals.enqueue('any')
    assert expected == actual