public void ShouldGetFormattedAvailbeBoxesMessagesForAllCabinets() { var cabinet1 = new Cabinet(1); cabinet1.Store(new Bag()); var cabinet2 = new Cabinet(1); var cabinets = new List<Cabinet> { cabinet1, cabinet2 }; var robot = new Robot(cabinets, new HighestVacancyRateSelector(cabinets)); robot.Store(new Bag()); var message = robot.ReportEmptyBox(new EmptyBoxReporter()); Assert.AreEqual(message, string.Format("SuperRobot{0}\n Cabinet{1}:{2}\n Cabinet{3}:{4}\n", robot.GetHashCode(), cabinet1.GetHashCode(), cabinet1.AvailableBoxes(), cabinet2.GetHashCode(), cabinet2.AvailableBoxes() )); }
public void ShouldGetFormattedAvailbeBoxesMessagesFromAllManagedCabinets() { var cabinet1 = new Cabinet(10); var cabinets1 = new List<Cabinet> {cabinet1}; var robot = new Robot(cabinets1, new SequentialSelector(cabinets1)); var cabinet2 = new Cabinet(2); var manager = new Manager(new List<IStoreable> {robot, cabinet2}); manager.Store(new Bag()); var message = manager.ReportEmptyBox(new EmptyBoxReporter()); Assert.AreEqual(string.Format("Manager{0}\n" + " Robot{1}\n" + " Cabinet{2}:{3}\n"+ " Cabinet{4}:{5}\n", manager.GetHashCode(), robot.GetHashCode(), cabinet1.GetHashCode(), cabinet1.AvailableBoxes(), cabinet2.GetHashCode(), cabinet2.AvailableBoxes() ), message); }