public void should_store_in_locker_with_most_available_boxes() { smartRobot.Manage(lockers); var storedBag = new Bag(); Ticket ticket1 = smartRobot.Store(storedBag); Bag pickedBag = locker2.Pick(ticket1); Assert.That(pickedBag, Is.SameAs(storedBag)); }
public void should_store_into_super_robot_when_locker_and_robot_and_smart_robot_are_all_full() { var superRobot = new SuperRobot(); superRobot.Manage(new List <Locker> { new Locker(1) }); var smartRobot = new SmartRobot(); smartRobot.Manage(new List <Locker> { new Locker(1) }); var robot = new Robot(); robot.Manage(new List <Locker> { new Locker(1) }); var locker = new Locker(1); var manager = new Manager(locker, robot, smartRobot, superRobot); manager.Store(new Bag()); manager.Store(new Bag()); manager.Store(new Bag()); var ticket = manager.Store(new Bag()); Assert.NotNull(ticket); Assert.NotNull(superRobot.Pick(ticket)); }
public void should_return_bag_when_pick_if_bag_is_stored_into_super_robot() { var superRobot = new SuperRobot(); superRobot.Manage(new List <Locker> { new Locker(1) }); var smartRobot = new SmartRobot(); smartRobot.Manage(new List <Locker> { new Locker(1) }); var robot = new Robot(); robot.Manage(new List <Locker> { new Locker(1) }); var locker = new Locker(1); var manager = new Manager(locker, robot, smartRobot, superRobot); manager.Store(new Bag()); manager.Store(new Bag()); manager.Store(new Bag()); var storedBag = new Bag(); var ticket = manager.Store(storedBag); var pickedBag = manager.Pick(ticket); Assert.AreEqual(pickedBag, storedBag); }