From 7d9ed535bd2c15ceb15b586f481641dc48460b8c Mon Sep 17 00:00:00 2001 From: Erin O'Connell Date: Thu, 18 Mar 2021 11:21:46 -0700 Subject: [PATCH 01/14] passed has-name-and-volume test --- Gemfile.lock | 26 ++++++++++++++++++++++++++ lib/vessel.rb | 8 ++++++++ spec/vessel_spec.rb | 2 +- 3 files changed, 35 insertions(+), 1 deletion(-) create mode 100644 Gemfile.lock diff --git a/Gemfile.lock b/Gemfile.lock new file mode 100644 index 0000000..46f2eb9 --- /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 + x64-mingw32 + +DEPENDENCIES + rspec + +BUNDLED WITH + 2.2.7 diff --git a/lib/vessel.rb b/lib/vessel.rb index 6849edf..7629dea 100644 --- a/lib/vessel.rb +++ b/lib/vessel.rb @@ -6,4 +6,12 @@ def initialize(name, volume) @volume = volume end + def name() + @name + end + + def volume() + @volume + end + end diff --git a/spec/vessel_spec.rb b/spec/vessel_spec.rb index 3a6c301..0e81cbc 100644 --- a/spec/vessel_spec.rb +++ b/spec/vessel_spec.rb @@ -3,7 +3,7 @@ describe 'A vessel for holding liquid' do it 'has a name and volume' do - vessel = Vessel.new + vessel = Vessel.new('FAKE', 100) expect(vessel.name).to eq('FAKE') expect(vessel.volume).to eq(100) end From 89f30062b7365e8eb0e2e3e64eed916bbfab1d67 Mon Sep 17 00:00:00 2001 From: Erin O'Connell Date: Thu, 18 Mar 2021 11:23:22 -0700 Subject: [PATCH 02/14] passed is-initially-empty test --- lib/vessel.rb | 4 ++++ spec/vessel_spec.rb | 1 - 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/lib/vessel.rb b/lib/vessel.rb index 7629dea..05862ba 100644 --- a/lib/vessel.rb +++ b/lib/vessel.rb @@ -14,4 +14,8 @@ def volume() @volume end + def empty? + return TRUE + end + end diff --git a/spec/vessel_spec.rb b/spec/vessel_spec.rb index 0e81cbc..30013a1 100644 --- a/spec/vessel_spec.rb +++ b/spec/vessel_spec.rb @@ -9,7 +9,6 @@ end it 'is initially empty' do - skip vessel = Vessel.new('FAKE', 100) expect(vessel).to be_empty end From d311c904d42c685f1b58dded30a268abe80c82a2 Mon Sep 17 00:00:00 2001 From: Erin O'Connell Date: Thu, 18 Mar 2021 11:25:06 -0700 Subject: [PATCH 03/14] passed is-no-longer-empty-when-we-fill-it test --- lib/vessel.rb | 6 +++++- spec/vessel_spec.rb | 1 - 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/lib/vessel.rb b/lib/vessel.rb index 05862ba..7c4022d 100644 --- a/lib/vessel.rb +++ b/lib/vessel.rb @@ -4,6 +4,7 @@ class Vessel def initialize(name, volume) @name = name @volume = volume + @empty = TRUE end def name() @@ -15,7 +16,10 @@ def volume() end def empty? - return TRUE + @empty end + def fill + @empty = FALSE + end end diff --git a/spec/vessel_spec.rb b/spec/vessel_spec.rb index 30013a1..61ab6f2 100644 --- a/spec/vessel_spec.rb +++ b/spec/vessel_spec.rb @@ -14,7 +14,6 @@ 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 76783b7fbe90b50e373dec67b7b614bfc65894f2 Mon Sep 17 00:00:00 2001 From: Erin O'Connell Date: Thu, 18 Mar 2021 11:33:01 -0700 Subject: [PATCH 04/14] passed insatntiation test for item --- spec/item_spec.rb | 3 +++ 1 file changed, 3 insertions(+) diff --git a/spec/item_spec.rb b/spec/item_spec.rb index caeefe4..255fb97 100644 --- a/spec/item_spec.rb +++ b/spec/item_spec.rb @@ -2,4 +2,7 @@ describe 'An item of food or a beverage' do + it 'exists' do + #exists + end end From b62c06c88a4e137b16d3742a20fd5b1cadd308ed Mon Sep 17 00:00:00 2001 From: Erin O'Connell Date: Thu, 18 Mar 2021 11:37:33 -0700 Subject: [PATCH 05/14] passed has-name-and-volume test for item --- lib/item.rb | 3 +-- spec/item_spec.rb | 8 +++++++- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/lib/item.rb b/lib/item.rb index 7926fcf..45cf72d 100644 --- a/lib/item.rb +++ b/lib/item.rb @@ -4,6 +4,5 @@ class Item def initialize(name, volume) @name = name @volume = volume - end - + end end diff --git a/spec/item_spec.rb b/spec/item_spec.rb index 255fb97..ed7f937 100644 --- a/spec/item_spec.rb +++ b/spec/item_spec.rb @@ -4,5 +4,11 @@ it 'exists' do #exists - end + end + + it 'has a name and volume' do + item = Item.new('FAKE', 100) + expect(item.name).to eq('FAKE') + expect(item.volume).to eq(100) + end end From 652b994926b62b2cf9347d6f35491d77533e1b22 Mon Sep 17 00:00:00 2001 From: Erin O'Connell Date: Thu, 18 Mar 2021 11:38:22 -0700 Subject: [PATCH 06/14] passed instantiation test for water_despenser --- spec/water_dispenser_spec.rb | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/spec/water_dispenser_spec.rb b/spec/water_dispenser_spec.rb index 526e3d9..413f29c 100644 --- a/spec/water_dispenser_spec.rb +++ b/spec/water_dispenser_spec.rb @@ -2,4 +2,8 @@ describe 'A water dispenser' do + it 'exists' do + #exists + end + end From 4cc9be60ce12858c04718656f3944b11ba9dd1b1 Mon Sep 17 00:00:00 2001 From: Erin O'Connell Date: Thu, 18 Mar 2021 11:40:09 -0700 Subject: [PATCH 07/14] passed has-a-reservoir for water_despenser --- spec/water_dispenser_spec.rb | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/spec/water_dispenser_spec.rb b/spec/water_dispenser_spec.rb index 413f29c..c159069 100644 --- a/spec/water_dispenser_spec.rb +++ b/spec/water_dispenser_spec.rb @@ -6,4 +6,9 @@ #exists end + it 'has a reservoir' do + dispenser= WaterDispenser.new(5) + expect(dispenser.reservoir).to eq(5) + end + end From 41a2ba4c84ab3933658dda43742ef99236d0fd94 Mon Sep 17 00:00:00 2001 From: Erin O'Connell Date: Thu, 18 Mar 2021 11:47:22 -0700 Subject: [PATCH 08/14] wrote o-after-dispense for water_despenser, pass in progress --- lib/water_dispenser.rb | 1 - spec/water_dispenser_spec.rb | 11 +++++++++-- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/lib/water_dispenser.rb b/lib/water_dispenser.rb index 99f00d2..80d62f4 100644 --- a/lib/water_dispenser.rb +++ b/lib/water_dispenser.rb @@ -9,5 +9,4 @@ def initialize(reservoir) def dispense(vessel) reservoir.drain(vessel.volume) end - end diff --git a/spec/water_dispenser_spec.rb b/spec/water_dispenser_spec.rb index c159069..ad0d241 100644 --- a/spec/water_dispenser_spec.rb +++ b/spec/water_dispenser_spec.rb @@ -7,8 +7,15 @@ end it 'has a reservoir' do - dispenser= WaterDispenser.new(5) + dispenser= WaterDispenser.new(5) expect(dispenser.reservoir).to eq(5) end - + + it 'has 0 after dispense' do + skip + dispenser= WaterDispenser.new(5) + vessel = Vessel.new('FAKE', 5) + dispenser.dispense(vessel) + expect(dispenser.reservoir).to eq(0) + end end From bd0dfb40816a15264e6c2a69a11c1b1f62fcdbc4 Mon Sep 17 00:00:00 2001 From: Erin O'Connell Date: Thu, 18 Mar 2021 11:48:41 -0700 Subject: [PATCH 09/14] passed instantiation tests --- spec/freezer_spec.rb | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/spec/freezer_spec.rb b/spec/freezer_spec.rb index a8039e0..621dd75 100644 --- a/spec/freezer_spec.rb +++ b/spec/freezer_spec.rb @@ -2,4 +2,8 @@ describe 'A freezer' do + + it 'exists' do + #exists + end end From 63a5ab548045418d4b923501a669e45c7ae70872 Mon Sep 17 00:00:00 2001 From: Erin O'Connell Date: Thu, 18 Mar 2021 12:03:48 -0700 Subject: [PATCH 10/14] fixed negative volume issue --- lib/water_dispenser.rb | 4 ++++ lib/water_reservoir.rb | 4 ++++ 2 files changed, 8 insertions(+) diff --git a/lib/water_dispenser.rb b/lib/water_dispenser.rb index 80d62f4..0b9f21f 100644 --- a/lib/water_dispenser.rb +++ b/lib/water_dispenser.rb @@ -7,6 +7,10 @@ def initialize(reservoir) end def dispense(vessel) + #if reservoir < vessel.volume + puts('not enough water. Resevoir only has: ', reservoir) + # return + # end reservoir.drain(vessel.volume) end end diff --git a/lib/water_reservoir.rb b/lib/water_reservoir.rb index b314707..1c69511 100644 --- a/lib/water_reservoir.rb +++ b/lib/water_reservoir.rb @@ -17,6 +17,10 @@ def fill end def drain(volume) + if self.current_water_volume < volume + puts 'Not enough water to drain.' + return + end self.current_water_volume -= volume end From d69981c5bf56bacbe1c336db2053142296efb772 Mon Sep 17 00:00:00 2001 From: Erin O'Connell Date: Thu, 18 Mar 2021 12:09:09 -0700 Subject: [PATCH 11/14] tested negative drain issue in water_res --- spec/water_reservoir_spec.rb | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/spec/water_reservoir_spec.rb b/spec/water_reservoir_spec.rb index 059a885..956b8fa 100644 --- a/spec/water_reservoir_spec.rb +++ b/spec/water_reservoir_spec.rb @@ -2,4 +2,9 @@ describe 'A water reservoir' do + it 'cannot drain passed a 0 volume' do + water_reservoir = WaterReservoir.new(10,10) + water_reservoir.drain(13) + expect(water_reservoir.current_water_volume).to eq(10) + end end From 49b7627dc0fcbbd0a0926f7890e4d0d5f23b9c59 Mon Sep 17 00:00:00 2001 From: Erin O'Connell Date: Thu, 18 Mar 2021 12:11:32 -0700 Subject: [PATCH 12/14] added fill to water_dispense --- lib/water_dispenser.rb | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/lib/water_dispenser.rb b/lib/water_dispenser.rb index 0b9f21f..da419e9 100644 --- a/lib/water_dispenser.rb +++ b/lib/water_dispenser.rb @@ -13,4 +13,9 @@ def dispense(vessel) # end reservoir.drain(vessel.volume) end + + def fill(vessel) + vessel.fill + vessel.volume = vessel.volume + reservoir + end end From 189c69e3b5df4983206be5e0e967f8d89a7c18ce Mon Sep 17 00:00:00 2001 From: Erin O'Connell Date: Thu, 18 Mar 2021 12:12:55 -0700 Subject: [PATCH 13/14] wrote test to fill vessel, pass in progress --- lib/vessel.rb | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/lib/vessel.rb b/lib/vessel.rb index 7c4022d..e2246df 100644 --- a/lib/vessel.rb +++ b/lib/vessel.rb @@ -22,4 +22,12 @@ def empty? def fill @empty = FALSE end + + it 'fills vessel' do + skip + dispenser= WaterDispenser.new(5) + vessel = Vessel.new('FAKE', 5) + dispenser.fill(vessel) + expect(dispenser.reservoir).to eq(10) + end end From 0aa0beabce707d0c43d448565a67b6360993dbd6 Mon Sep 17 00:00:00 2001 From: Erin O'Connell Date: Thu, 18 Mar 2021 12:14:52 -0700 Subject: [PATCH 14/14] replaced vessel fill test --- lib/vessel.rb | 8 -------- spec/vessel_spec.rb | 9 +++++++++ 2 files changed, 9 insertions(+), 8 deletions(-) diff --git a/lib/vessel.rb b/lib/vessel.rb index e2246df..7c4022d 100644 --- a/lib/vessel.rb +++ b/lib/vessel.rb @@ -22,12 +22,4 @@ def empty? def fill @empty = FALSE end - - it 'fills vessel' do - skip - dispenser= WaterDispenser.new(5) - vessel = Vessel.new('FAKE', 5) - dispenser.fill(vessel) - expect(dispenser.reservoir).to eq(10) - end end diff --git a/spec/vessel_spec.rb b/spec/vessel_spec.rb index 61ab6f2..800c1a2 100644 --- a/spec/vessel_spec.rb +++ b/spec/vessel_spec.rb @@ -18,4 +18,13 @@ vessel.fill expect(vessel).to_not be_empty end + + + it 'fills vessel' do + skip + dispenser= WaterDispenser.new(5) + vessel = Vessel.new('FAKE', 5) + dispenser.fill(vessel) + expect(dispenser.reservoir).to eq(10) + end end