diff --git a/zoo_spec.rb b/spec/zoo_spec.rb similarity index 82% rename from zoo_spec.rb rename to spec/zoo_spec.rb index 64203cc..b423409 100644 --- a/zoo_spec.rb +++ b/spec/zoo_spec.rb @@ -1,5 +1,5 @@ # Zoo spec file -require "./zoo" +require_relative "../zoo" require "rspec" class Grasshoppers < Food; end @@ -28,14 +28,14 @@ class Salad < Food; end it "should be full after eating 30 bamboo" do panda = Panda.new 31.times do - panda.eat(Bamboo.new) + panda.eat(Bamboo.new) end panda.should be_full end it "should not be full after 1" do panda = Panda.new - panda.eat(Bamboo.new) + panda.eat(Bamboo.new) panda.should_not be_full end end @@ -80,3 +80,18 @@ 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).should be_true + end + + it "should like tacos" do + Human.new.likes?(:tacos).should be_true + end + + it "should like bamboo" do + Human.new.likes?(:bamboo).should_not be_true + end +end + diff --git a/zoo.rb b/zoo.rb index d4d906c..1b1aa46 100644 --- a/zoo.rb +++ b/zoo.rb @@ -53,6 +53,7 @@ def full? end + class Food def ==(other) @@ -66,12 +67,20 @@ class Wildebeests < Food; end class Zeebras < Food; end class Bamboo < Food; end + class Zookeeper def feed(args={}) food = args.fetch(:food) - panda = args.fetch(:to) - panda.eat(food) + animal = args.fetch(:to) + animal.eat(food) end end +class Food + attr_reader :name + + def initialize(name) + @name = name + end +end