Exemplo n.º 1
0
        public void GetActionFromSimplePerception()
        {
            VacuumPerceptionList list = new VacuumPerceptionList(new VacuumPerception(VacuumLocation.A, VacuumStatus.Clean));
            IDictionary <VacuumPerceptionList, VacuumAction> table = new Dictionary <VacuumPerceptionList, VacuumAction>();

            table[list] = VacuumAction.Left;

            TableDrivenVacuumAgent agent = new TableDrivenVacuumAgent(table);

            Assert.AreEqual(VacuumAction.Left, agent.GetAction(new VacuumPerception(VacuumLocation.A, VacuumStatus.Clean)));
        }
Exemplo n.º 2
0
        public void GetActionFromTwoPerceptions()
        {
            VacuumPerceptionList list1 = new VacuumPerceptionList(new VacuumPerception(VacuumLocation.A, VacuumStatus.Clean));
            VacuumPerceptionList list2 = new VacuumPerceptionList(new VacuumPerception(VacuumLocation.A, VacuumStatus.Clean), new VacuumPerception(VacuumLocation.B, VacuumStatus.Dirty));
            IDictionary <VacuumPerceptionList, VacuumAction> table = new Dictionary <VacuumPerceptionList, VacuumAction>();

            table[list1] = VacuumAction.Left;
            table[list2] = VacuumAction.Right;

            TableDrivenVacuumAgent agent = new TableDrivenVacuumAgent(table);

            Assert.AreEqual(VacuumAction.Left, agent.GetAction(new VacuumPerception(VacuumLocation.A, VacuumStatus.Clean)));
            Assert.AreEqual(VacuumAction.Right, agent.GetAction(new VacuumPerception(VacuumLocation.B, VacuumStatus.Dirty)));
        }
Exemplo n.º 3
0
        public void Equals()
        {
            VacuumPerceptionList l1 = new VacuumPerceptionList(new VacuumPerception(VacuumLocation.A, VacuumStatus.Clean));
            VacuumPerceptionList l2 = new VacuumPerceptionList(new VacuumPerception(VacuumLocation.A, VacuumStatus.Clean), new VacuumPerception(VacuumLocation.B, VacuumStatus.Clean));
            VacuumPerceptionList l3 = new VacuumPerceptionList(new VacuumPerception(VacuumLocation.A, VacuumStatus.Clean), new VacuumPerception(VacuumLocation.B, VacuumStatus.Dirty));
            VacuumPerceptionList l4 = new VacuumPerceptionList(new VacuumPerception(VacuumLocation.A, VacuumStatus.Dirty));
            VacuumPerceptionList l5 = new VacuumPerceptionList(new VacuumPerception(VacuumLocation.A, VacuumStatus.Clean));

            Assert.IsTrue(l1.Equals(l5));
            Assert.IsTrue(l5.Equals(l1));
            Assert.AreEqual(l1.GetHashCode(), l5.GetHashCode());

            Assert.IsFalse(l1.Equals(null));
            Assert.IsFalse(l1.Equals(123));
            Assert.IsFalse(l1.Equals(l2));
            Assert.IsFalse(l2.Equals(l1));
            Assert.IsFalse(l1.Equals(l3));
            Assert.IsFalse(l3.Equals(l1));
            Assert.IsFalse(l1.Equals(l4));
            Assert.IsFalse(l4.Equals(l1));
        }