describe Animal do
before(:each) do
Animal.new
end
it "ao criar um Animal, o contador dos filhoes deve permanecer 0" do
lambda { Animal.new }.should_not change(Gato, :total)
end
it "ao criar um Animal, o contador dele deve ser 1" do
lambda { Animal.new }.should change(Animal, :total).by(1)
end
it "ao criar um filho, o contador do animal deve ser incrementado" do
lambda { Gato.new }.should change(Animal, :total).by(1)
end
it "ao criar uma instância de uma classe filha, o contador das demais classes filhas nao deve ser alterado" do
lambda { Cachorro.new }.should_not change(Gato, :total)
end
it "ao criar um siames, o contador do Gato deve ser incrementado" do
lambda { Siames.new }.should change(Gato, :total).by(1)
end
end