#Iteration 1
pry(main)> require './lib/exhibit'
pry(main)> require './lib/patron'
pry(main)> exhibit = Exhibit.new({name: "Gems and Minerals", cost: 0})
pry(main)> exhibit.name
pry(main)> exhibit.cost
pry(main)> patron_1 = Patron.new("Bob", 20)
pry(main)> patron_1.name
pry(main)> patron_1.spending_money
pry(main)> patron_1.interests
pry(main)> patron_1.add_interest("Dead Sea Scrolls")
pry(main)> patron_1.add_interest("Gems and Minerals")
pry(main)> patron_1.interests
pry(main)> require './lib/museum'
pry(main)> require './lib/patron'
pry(main)> require './lib/exhibit'
pry(main)> dmns = Museum.new("Denver Museum of Nature and Science")
pry(main)> dmns.name
pry(main)> dmns.exhibits
pry(main)> gems_and_minerals = Exhibit.new({name: "Gems and Minerals", cost: 0})
pry(main)> dead_sea_scrolls = Exhibit.new({name: "Dead Sea Scrolls", cost: 10})
pry(main)> imax = Exhibit.new({name: "IMAX",cost: 15})
pry(main)> dmns.add_exhibit(gems_and_minerals)
pry(main)> dmns.add_exhibit(dead_sea_scrolls)
pry(main)> dmns.add_exhibit(imax)
pry(main)> dmns.exhibits
pry(main)> patron_1 = Patron.new("Bob", 20)
pry(main)> patron_1.add_interest("Dead Sea Scrolls")
pry(main)> patron_1.add_interest("Gems and Minerals")
pry(main)> patron_2 = Patron.new("Sally", 20)
pry(main)> patron_2.add_interest("IMAX")
pry(main)> dmns.recommend_exhibits(patron_1)
pry(main)> dmns.recommend_exhibits(patron_2)
pry(main)> require './lib/museum'
pry(main)> require './lib/patron'
pry(main)> require './lib/exhibit'
pry(main)> dmns = Museum.new("Denver Museum of Nature and Science")
pry(main)> gems_and_minerals = Exhibit.new({name: "Gems and Minerals", cost: 0})
pry(main)> dead_sea_scrolls = Exhibit.new({name: "Dead Sea Scrolls", cost: 10})
pry(main)> imax = Exhibit.new({name: "IMAX",cost: 15})
pry(main)> dmns.add_exhibit(gems_and_minerals)
pry(main)> dmns.add_exhibit(dead_sea_scrolls)
pry(main)> dmns.add_exhibit(imax)
pry(main)> dmns.patrons
pry(main)> patron_1 = Patron.new("Bob", 0)
pry(main)> patron_1.add_interest("Gems and Minerals")
pry(main)> patron_1.add_interest("Dead Sea Scrolls")
pry(main)> patron_2 = Patron.new("Sally", 20)
pry(main)> patron_2.add_interest("Dead Sea Scrolls")
pry(main)> patron_3 = Patron.new("Johnny", 5)
pry(main)> patron_3.add_interest("Dead Sea Scrolls")
pry(main)> dmns.admit(patron_1)
pry(main)> dmns.admit(patron_2)
pry(main)> dmns.admit(patron_3)
pry(main)> dmns.patrons
#Patrons are added even if they don't have enough money for all/any exhibits.
pry(main)> dmns.patrons_by_exhibit_interest
#Exhibit:0x00007fb202248748... => [#Patron:0x00007fb2011455b8..., #Patron:0x00007fb20227f8b0..., #Patron:0x6666fb20114megan...],
pry(main)> dmns.ticket_lottery_contestants(dead_sea_scrolls)
pry(main)> dmns.draw_lottery_winner(dead_sea_scrolls)
pry(main)> dmns.draw_lottery_winner(gems_and_minerals)
#If no contestants are elgible for the lottery, nil is returned.
pry(main)> dmns.announce_lottery_winner(dead_sea_scrolls)
The above string should match exactly, you will need to stub the return of draw_lottery_winner
as the above method should depend on the return value of draw_lottery_winner
.
pry(main)> dmns.announce_lottery_winner(gems_and_minerals)
pry(main)> require './lib/museum'
pry(main)> require './lib/patron'
pry(main)> require './lib/exhibit'
pry(main)> dmns = Museum.new("Denver Museum of Nature and Science")
pry(main)> gems_and_minerals = Exhibit.new({name: "Gems and Minerals", cost: 0})
pry(main)> imax = Exhibit.new({name: "IMAX",cost: 15})
pry(main)> dead_sea_scrolls = Exhibit.new({name: "Dead Sea Scrolls", cost: 10})
pry(main)> dmns.add_exhibit(gems_and_minerals)
pry(main)> dmns.add_exhibit(imax)
pry(main)> dmns.add_exhibit(dead_sea_scrolls)
pry(main)> tj = Patron.new("TJ", 7)
pry(main)> tj.add_interest("IMAX")
pry(main)> tj.add_interest("Dead Sea Scrolls")
pry(main)> dmns.admit(tj)
pry(main)> tj.spending_money
pry(main)> patron_1 = Patron.new("Bob", 10)
pry(main)> patron_1.add_interest("Dead Sea Scrolls")
pry(main)> patron_1.add_interest("IMAX")
pry(main)> dmns.admit(patron_1)
pry(main)> patron_1.spending_money
pry(main)> patron_2 = Patron.new("Sally", 20)
pry(main)> patron_2.add_interest("IMAX")
pry(main)> patron_2.add_interest("Dead Sea Scrolls")
pry(main)> dmns.admit(patron_2)
pry(main)> patron_2.spending_money
pry(main)> morgan = Patron.new("Morgan", 15)
pry(main)> morgan.add_interest("Gems and Minerals")
pry(main)> morgan.add_interest("Dead Sea Scrolls")
pry(main)> dmns.admit(morgan)
pry(main)> morgan.spending_money
pry(main)> dmns.patrons_of_exhibits
pry(main)> dmns.revenue