From 9424bcba568309277c75480d34111902e5132f49 Mon Sep 17 00:00:00 2001 From: Ian Snyder Date: Thu, 18 Mar 2021 11:20:33 -0700 Subject: [PATCH 1/6] add name and volume test for Class vessel --- Gemfile.lock | 26 ++++++++++++++++++++++++++ lib/vessel.rb | 6 +++++- 2 files changed, 31 insertions(+), 1 deletion(-) create mode 100644 Gemfile.lock diff --git a/Gemfile.lock b/Gemfile.lock new file mode 100644 index 0000000..683ed5e --- /dev/null +++ b/Gemfile.lock @@ -0,0 +1,26 @@ +GEM + remote: https://rubygems.org/ + specs: + diff-lcs (1.4.4) + rspec (3.10.0) + rspec-core (~> 3.10.0) + rspec-expectations (~> 3.10.0) + rspec-mocks (~> 3.10.0) + rspec-core (3.10.1) + rspec-support (~> 3.10.0) + rspec-expectations (3.10.1) + diff-lcs (>= 1.2.0, < 2.0) + rspec-support (~> 3.10.0) + rspec-mocks (3.10.2) + diff-lcs (>= 1.2.0, < 2.0) + rspec-support (~> 3.10.0) + rspec-support (3.10.2) + +PLATFORMS + ruby + +DEPENDENCIES + rspec + +BUNDLED WITH + 1.17.3 diff --git a/lib/vessel.rb b/lib/vessel.rb index 6849edf..3eb58b8 100644 --- a/lib/vessel.rb +++ b/lib/vessel.rb @@ -1,9 +1,13 @@ class Vessel attr_reader :volume - def initialize(name, volume) + def initialize(name = 'FAKE', volume = 100) @name = name @volume = volume end + def name + @name + end + end From bbf4fa0d4c6c38030caf214749c10bd4adaafc7d Mon Sep 17 00:00:00 2001 From: Ian Snyder Date: Thu, 18 Mar 2021 11:26:20 -0700 Subject: [PATCH 2/6] add assertion tests for empty? and fill methods --- lib/vessel.rb | 8 ++++++++ spec/vessel_spec.rb | 2 -- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/lib/vessel.rb b/lib/vessel.rb index 3eb58b8..b7b91b9 100644 --- a/lib/vessel.rb +++ b/lib/vessel.rb @@ -4,10 +4,18 @@ class Vessel def initialize(name = 'FAKE', volume = 100) @name = name @volume = volume + @empty = true end def name @name end + def empty? + @empty + end + + def fill + @empty = false + end end diff --git a/spec/vessel_spec.rb b/spec/vessel_spec.rb index 3a6c301..f956f42 100644 --- a/spec/vessel_spec.rb +++ b/spec/vessel_spec.rb @@ -9,13 +9,11 @@ end it 'is initially empty' do - skip vessel = Vessel.new('FAKE', 100) expect(vessel).to be_empty end it 'is no longer empty when we fill it' do - skip vessel = Vessel.new('FAKE', 100) vessel.fill expect(vessel).to_not be_empty From ab8dc6d33c4191fb2eadd323abc5359ca0ce1c9b Mon Sep 17 00:00:00 2001 From: Ian Snyder Date: Thu, 18 Mar 2021 11:33:30 -0700 Subject: [PATCH 3/6] add instantiation tests for class Item --- spec/item_spec.rb | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/spec/item_spec.rb b/spec/item_spec.rb index caeefe4..ccd6ad7 100644 --- a/spec/item_spec.rb +++ b/spec/item_spec.rb @@ -1,5 +1,18 @@ require_relative '../lib/item' describe 'An item of food or a beverage' do + let(:item) { Item.new("fake", 0) } + + it 'has a name' do + item + expect(item).to respond_to(:name) + end + + it 'has a volume' do + item + expect(item).to respond_to(:volume) + end + + end From 276c39fe1caf749b496b3f52ac27ee0406ce80f7 Mon Sep 17 00:00:00 2001 From: Ian Snyder Date: Thu, 18 Mar 2021 11:55:19 -0700 Subject: [PATCH 4/6] stub tests for class WaterDispenser --- spec/water_dispenser_spec.rb | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/spec/water_dispenser_spec.rb b/spec/water_dispenser_spec.rb index 526e3d9..e0e1d1e 100644 --- a/spec/water_dispenser_spec.rb +++ b/spec/water_dispenser_spec.rb @@ -1,5 +1,24 @@ require_relative '../lib/water_dispenser' describe 'A water dispenser' do + let(:wd) { WaterDispenser.new( fake_reservoir ) } + + class Reservoir + def drain + "FakeVolume" + end + end + it 'exists' do + skip + wd + end + + it 'dispenses' do + skip + expect(wd.dispense).to eq("FakeVolume") + end + + + end From 727687c3e9f0be2983c5527a80d37315b690d5ad Mon Sep 17 00:00:00 2001 From: Ian Snyder Date: Thu, 18 Mar 2021 12:00:24 -0700 Subject: [PATCH 5/6] modify method drain in class WaterReservoir to not drain empty containers --- lib/water_reservoir.rb | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/lib/water_reservoir.rb b/lib/water_reservoir.rb index b314707..bcd207c 100644 --- a/lib/water_reservoir.rb +++ b/lib/water_reservoir.rb @@ -17,7 +17,11 @@ def fill end def drain(volume) - self.current_water_volume -= volume + if empty? == false + self.current_water_volume -= volume + else + puts "I'm already empty!" + end end end From 682291e860a88d633c2f483e1e7b02f41e6f9367 Mon Sep 17 00:00:00 2001 From: Ian Snyder Date: Thu, 18 Mar 2021 12:10:24 -0700 Subject: [PATCH 6/6] modify drain method in class WaterReservoir --- lib/water_reservoir.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/water_reservoir.rb b/lib/water_reservoir.rb index bcd207c..0118488 100644 --- a/lib/water_reservoir.rb +++ b/lib/water_reservoir.rb @@ -17,7 +17,7 @@ def fill end def drain(volume) - if empty? == false + if empty? == true self.current_water_volume -= volume else puts "I'm already empty!"