public void should_not_store_bag_given_full_cabinet()
        {
            var robot = new Robot();
            var cabinet = new Cabinet(1);
            robot.Add(cabinet);
            var bagA = new Bag();
            robot.Store(bagA);

            var bagB = new Bag();
            var ticket = robot.Store(bagB);
            Assert.IsNull(ticket);
        }
Exemple #2
0
 public void Store_One_Bag_When_Not_All_Cabinets_Full_Return_Ticket()
 {
     var robot = new Robot(new List<Cabinet> { new Cabinet(0), new Cabinet(1), new Cabinet(0) });
     var bag = new Bag();
     var ticket = robot.Store(bag);
     Assert.IsNotNull(ticket);
 }
Exemple #3
0
 public void Pick_One_Bag_When_Cabinet_Has_My_Bag_And_Give_Valid_Ticket()
 {
     var robot = new Robot(new List<Cabinet> { new Cabinet(0), new Cabinet(1), new Cabinet(0) });
     var bag = new Bag();
     var ticket = robot.Store(bag);
     Bag pickBag = robot.Pick(ticket);
     Assert.AreEqual(bag,pickBag);
 }
Exemple #4
0
 public void Store_One_Bag_When_All_Cabinets_Full_Return_Null_Ticket()
 {
     List<Cabinet> emptyCabinetList = new List<Cabinet> { new Cabinet(0) };
     var robot = new Robot(emptyCabinetList);
     var bag = new Bag();
     var ticket = robot.Store(bag);
     Assert.IsNull(ticket);
 }
        public void should_return_matched_bag_when_pick_given_valid_ticket()
        {
            var robot = new Robot();
            var cabinet1 = new Cabinet(2);
            var cabinet2 = new Cabinet(2);
            robot.Add(cabinet1);
            robot.Add(cabinet2);

            var bag1 = new Bag();
            var bag2 = new Bag();
            var bag3 = new Bag();

            var ticket1 = robot.Store(bag1);
            var ticket2 = robot.Store(bag2);
            var ticket3 = robot.Store(bag3);

            Assert.AreEqual(bag3, robot.Pick(ticket3));
        }
Exemple #6
0
 public void Store_One_Bag_When_Not_All_Cabinets_Full_Return_Ticket()
 {
     var robot = new Robot();
     List<int> emptyCaibet = new List<int> { 0, 1, 0 };
     robot.Setup(emptyCaibet);
     var bag = new Bag();
     var ticket = robot.Store(bag);
     Assert.IsNotNull(ticket);
 }
Exemple #7
0
 public void Pick_One_Bag_When_Cabinet_Has_My_Bag_And_Give_InValid_Ticket()
 {
     var robot = new Robot(new List<Cabinet> { new Cabinet(0), new Cabinet(1), new Cabinet(0) });
     var bag = new Bag();
     var ticket = robot.Store(bag);
     robot.Pick(ticket);
     Bag returnBag = robot.Pick(ticket);
     Assert.IsNull(returnBag);
 }
Exemple #8
0
        public void Store_One_Bag_Return_Correct_Ticket_When_Not_All_Cabinets_Full()
        {
            List<Cabinet> notEmptyCabinetList = new List<Cabinet> { new Cabinet(1) };

            var robot = new Robot(notEmptyCabinetList);

            var bag = new Bag();
            var ticket = robot.Store(bag);
            var returnBag = robot.Pick(ticket);
            Assert.AreEqual(bag, returnBag);
        }
Exemple #9
0
        public void test_cabinet_could_not_pick_bag_when_ticket_has_been_returned_by_robot()
        {
            var rb = new Robot();
            var cabinet = new Cabinet(2);
            rb.Add(cabinet);

            var ticket = rb.Store(new Bag());
            var pickedBag = cabinet.PickBag(ticket,false);

            Assert.AreEqual(null, pickedBag);
        }
Exemple #10
0
        public void test_robot_could_pick_bag_when_ticket_is_valid()
        {
            var rb = new Robot();
            var cabinet = new Cabinet(2);
            rb.Add(cabinet);
            var bag = new Bag();
            var ticket = rb.Store(bag);

            var pickedBag = rb.PickBag(ticket);

            Assert.AreEqual(bag, pickedBag);
        }
        public void should_return_null_when_pick_given_cabinet_stroed_ticket()
        {
            var robot = new Robot();
            var cabinet1 = new Cabinet(2);
            var cabinet2 = new Cabinet(2);
            robot.Add(cabinet1);
            robot.Add(cabinet2);

            var bag1 = new Bag();
            var bag2 = new Bag();
            var bag3 = new Bag();

            robot.Store(bag1);
            robot.Store(bag2);
            var ticket3 = new Direct(cabinet2).Store(bag3);

            Assert.IsNull(robot.Pick(ticket3));
        }
        public void should_return_null_when_store_given_has_not_empty_box()
        {
            var robotWithNoEmptyBox = new Robot();

            var ticket = robotWithNoEmptyBox.Store(new Bag());

            Assert.IsNull(ticket);
        }
        public void should_return_validate_ticket_when_store_given_has_empty_box()
        {
            var robot = new Robot();
            var cabinet = new Cabinet(50);
            robot.Add(cabinet);

            var ticket = robot.Store(new Bag());

            Assert.IsNotNull(ticket);
        }
Exemple #14
0
 public void test_should_not_robot_save_bag_when_all_cabinet_full()
 {
     var rb = new Robot();
     rb.Add(new Cabinet(1));
     rb.Store(new Bag());
     rb.Store(new Bag());
 }
Exemple #15
0
 public void test_should_robot_save_bag_sequentially_when_nonrobot_save_bag_first()
 {
     var rb = new Robot();
     var cabinet1 = new Cabinet(2);
     rb.Add(cabinet1);
     var cabinet2 = new Cabinet(2);
     rb.Add(cabinet2);
     cabinet1.Store(new Bag());
     cabinet2.Store(new Bag());
     rb.Store(new Bag());
     Assert.IsFalse(cabinet1.HasEmptyBox());
 }
Exemple #16
0
        public void test_should_robot_save_bag_when_has_empty_box()
        {
            var rb = new Robot();
            rb.Add(new Cabinet());
            rb.Add(new Cabinet());

            Assert.IsTrue(rb.HasEmptyBox());

            var t1 = rb.Store(new Bag());
            Assert.IsNotNull(t1);
        }
Exemple #17
0
        public void test_robot_could_not_pick_bag_when_ticket_is_invalid()
        {
            var rb = new Robot();
            rb.Add(new Cabinet(2));
            rb.Store(new Bag());

            var pickedBag = rb.PickBag(new Ticket());

            Assert.AreEqual(null, pickedBag);
        }
        public void should_store_bags_sequentially_given_bags()
        {
            var bag1 = new Bag();
            var bag2 = new Bag();
            var cabinet1 = new Cabinet(1);
            var cabinet2 = new Cabinet(1);
            var robot = new Robot();
            robot.Add(cabinet1);
            robot.Add(cabinet2);
            robot.Store(bag1);

            Assert.IsFalse(cabinet1.HasEmptyBox());
            Assert.IsTrue(cabinet2.HasEmptyBox());

            robot.Store(bag2);
            Assert.IsFalse(cabinet1.HasEmptyBox());
            Assert.IsFalse(cabinet2.HasEmptyBox());
        }