diff --git a/zoo.rb b/zoo.rb index d4d906c..7b1f1d9 100644 --- a/zoo.rb +++ b/zoo.rb @@ -24,6 +24,10 @@ def full? false end + def visit + #insert code + end + end @@ -35,7 +39,7 @@ def acceptable_food end def full? - @meals > 30 + @meals > 30 end end @@ -61,6 +65,7 @@ def ==(other) end +class Bacon < Food; end class Tacos < Food; end class Wildebeests < Food; end class Zeebras < Food; end @@ -75,3 +80,21 @@ def feed(args={}) end +class Human + include Animal + + def acceptable_food + [Bacon.new, Tacos.new] + end +end + +class FoodBarge + + def acceptable_food + food = foodbarge.food_for(panda) + panda.feed(food) + end +end + + + diff --git a/zoo_spec.rb b/zoo_spec.rb index 64203cc..73d1c57 100644 --- a/zoo_spec.rb +++ b/zoo_spec.rb @@ -5,6 +5,7 @@ class Grasshoppers < Food; end class Salad < Food; end + describe Tacos do it "should know all tacos are equal" do (Tacos.new == Tacos.new).should be_true @@ -80,3 +81,29 @@ class Salad < Food; end Zookeeper.new.feed(food: :zeebras, to: lion) end end + +describe Human do + it "should like bacon" do + Human.new.likes?(Bacon.new).should eq(true) + end + + it "should like tacos" do + Human.new.likes?(Tacos.new).should eq(true) + end + + it "should not like bamboo" do + Human.new.likes?(Bamboo.new).should eq(false) + end +end + +describe FoodBarge do + it "should have the zookeeper get the panda food and the panda should eat it" do + panda = Panda.new + foodbarge = FoodBarge.new + Zookeeper.new.feed(food: :foodbarge, to: panda) + foodbarge.visit + panda.should be_full + end +end + +