Skip to content

Instantly share code, notes, and snippets.

@leanucci
Created November 30, 2009 22:06
Show Gist options
  • Save leanucci/245796 to your computer and use it in GitHub Desktop.
Save leanucci/245796 to your computer and use it in GitHub Desktop.
require ‘toilet_paper’
require ‘lysol’
require ‘matches’
class Coworker < Vurbian
def use_bathroom(use)
case use
when only_using_lavatory
lavatory.leave_clean!
when pee, piss, wee-wee
toilet_seat.wipe if toilet_seat.still_wet_or_dirty?
when poo, poop, crap, shit, dump, diarrhea,
roll = ToiletPaper::Roll.get_roll
ToiletPaper::Roll.replace_or_buy if roll.empty?
Lysol::Can.spray
if Date.today > self.ass.expiry.date
match = Matches::Box.pop
match.light_and_dispose
end
else
fart_and_leave_door_shut!
end
end
end
require ‘coworker’
class CoworkerTest < Test::Unit
setup do
@coworker = Coworker.new
end
test "Should clean bathroom after taking a dump" do
crap_acronyms = %w(poo pppo crap shit dump diarrhea)
crap_acronyms.each do |crap_acronym|
@coworker.send(use_bathroom, crap_acronym)
assert toilet_paper.any?
assert bathroom.smells_like(:lysol)
assert bathroom.seat.is_clean?
end
end
test "Should absorb diarrhea's issues" do
@coworker.ass.expiry.date = 10.years_ago
@coworker.use_bathroom("diarrhea")
assert bathroom.smells_like(:match, :lysol)
end
test "Should clean when not shitting too" do
@coworker.marksman.toggle!
@coworker.use_bathroom("wee wee")
assert bathroom.toilet_seat.not_soaked_in_wee_wee!
end
#TODO: Improve code coverage.
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment