public void should_pick_failed_when_given_used_ticket_to_robot() { var lockers = Enumerable.Range(0, 5).Select(i => new Locker(1)).ToList(); var robot = new SmartRobot(lockers); var usedTicket = robot.Store(new Bag()); robot.Store(new Bag()); robot.Pick(usedTicket); var bagNoExisting = robot.Pick(usedTicket); Assert.Null(bagNoExisting); }
public void should_pick_failed_when_given_no_existing_ticket_to_robot() { var lockers = Enumerable.Range(0, 5).Select(i => new Locker(1)).ToList(); var robot = new SmartRobot(lockers); var bag = robot.Pick(new Ticket()); Assert.Null(bag); }
public void should_return_bag_when_pick_bag_from_robot_with_ticket() { var expectedBag = new Bag(); var lockers = Enumerable.Range(0, 1).Select(i => new Locker(1)).ToList(); var robot = new SmartRobot(lockers); var ticket = robot.Store(expectedBag); var bag = robot.Pick(ticket); Assert.Equal(expectedBag, bag); }
public void should_return_specific_bag_when_store_bag_to_robot_for_multiple_times() { var expectedBag1 = new Bag(); var expectedBag2 = new Bag(); var lockers = Enumerable.Range(0, 3).Select(i => new Locker(2)).ToList(); var robot = new SmartRobot(lockers); var ticket1 = robot.Store(expectedBag1); robot.Store(expectedBag2); var bag1 = robot.Pick(ticket1); Assert.Equal(expectedBag1, bag1); }