From fd1a0066eaf75e247cb620ffd290119c57b46ea5 Mon Sep 17 00:00:00 2001 From: Apurv-Bajaj Date: Tue, 13 Feb 2018 19:42:12 +0530 Subject: [PATCH 1/5] Add test for TableDrivenVacuumAgent --- tests/test_agents.py | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/tests/test_agents.py b/tests/test_agents.py index 59ab6bce9..1a5f69a84 100644 --- a/tests/test_agents.py +++ b/tests/test_agents.py @@ -2,7 +2,7 @@ from agents import Direction from agents import Agent from agents import ReflexVacuumAgent, ModelBasedVacuumAgent, TrivialVacuumEnvironment, compare_agents,\ - RandomVacuumAgent + RandomVacuumAgent, TableDrivenVacuumAgent random.seed("aima-python") @@ -94,6 +94,19 @@ def test_ModelBasedVacuumAgent() : assert environment.status == {(1,0):'Clean' , (0,0) : 'Clean'} +def test_TableDrivenVacuumAgent() : + # create an object of the TableDrivenVacuumAgent + agent = TableDrivenVacuumAgent() + # create an object of the TrivialVacuumEnvironment + environment = TrivialVacuumEnvironment() + # add agent to the environment + environment.add_thing(agent) + # run the environment + environment.run() + # check final status of the environment + assert environment.status == {(1,0):'Clean' , (0,0) : 'Clean'} + + def test_compare_agents() : environment = TrivialVacuumEnvironment agents = [ModelBasedVacuumAgent, ReflexVacuumAgent] From c0ca431d99e9487797c1481baf281ee05de88953 Mon Sep 17 00:00:00 2001 From: Apurv-Bajaj Date: Tue, 13 Feb 2018 23:47:18 +0530 Subject: [PATCH 2/5] Debug Travis --- tests/test_agents.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/tests/test_agents.py b/tests/test_agents.py index 1a5f69a84..667c8ef35 100644 --- a/tests/test_agents.py +++ b/tests/test_agents.py @@ -103,8 +103,9 @@ def test_TableDrivenVacuumAgent() : environment.add_thing(agent) # run the environment environment.run() + print(environment.status) # check final status of the environment - assert environment.status == {(1,0):'Clean' , (0,0) : 'Clean'} + assert environment.status == {(0,0):'Clean' , (1,0) : 'Clean'} def test_compare_agents() : From 6a23f22079bdb1b9fa9cc4b39a0dfe05a2fd4f51 Mon Sep 17 00:00:00 2001 From: Apurv-Bajaj Date: Tue, 13 Feb 2018 23:55:34 +0530 Subject: [PATCH 3/5] Minor fix --- tests/test_agents.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/tests/test_agents.py b/tests/test_agents.py index 667c8ef35..eedaf0d76 100644 --- a/tests/test_agents.py +++ b/tests/test_agents.py @@ -103,9 +103,8 @@ def test_TableDrivenVacuumAgent() : environment.add_thing(agent) # run the environment environment.run() - print(environment.status) # check final status of the environment - assert environment.status == {(0,0):'Clean' , (1,0) : 'Clean'} + assert environment.status == {(1, 0):'Clean', (0, 0):'Clean'} def test_compare_agents() : From 5089f8adbb8e8b504de4d9bbb048dc42f32f0240 Mon Sep 17 00:00:00 2001 From: Apurv-Bajaj Date: Wed, 14 Feb 2018 15:43:22 +0530 Subject: [PATCH 4/5] Fixed table for TableDrivenAgent --- agents.py | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/agents.py b/agents.py index 9308225f2..9b1ff0d33 100644 --- a/agents.py +++ b/agents.py @@ -181,12 +181,12 @@ def TableDrivenVacuumAgent(): ((loc_A, 'Dirty'),): 'Suck', ((loc_B, 'Clean'),): 'Left', ((loc_B, 'Dirty'),): 'Suck', - ((loc_A, 'Clean'), (loc_A, 'Clean')): 'Right', - ((loc_A, 'Clean'), (loc_A, 'Dirty')): 'Suck', - # ... - ((loc_A, 'Clean'), (loc_A, 'Clean'), (loc_A, 'Clean')): 'Right', - ((loc_A, 'Clean'), (loc_A, 'Clean'), (loc_A, 'Dirty')): 'Suck', - # ... + ((loc_A, 'Dirty'), (loc_A, 'Clean')): 'Right', + ((loc_A, 'Clean'), (loc_B, 'Dirty')): 'Suck', + ((loc_B, 'Clean'), (loc_A, 'Dirty')): 'Suck', + ((loc_B, 'Dirty'), (loc_B, 'Clean')): 'Left', + ((loc_A, 'Dirty'), (loc_A, 'Clean'), (loc_B, 'Dirty')): 'Suck', + ((loc_B, 'Dirty'), (loc_B, 'Clean'), (loc_A, 'Dirty')): 'Suck' } return Agent(TableDrivenAgentProgram(table)) From b21dbc926cb6e40c5d1aad0c2a976cffb4f4662e Mon Sep 17 00:00:00 2001 From: Apurv-Bajaj Date: Wed, 14 Feb 2018 15:54:35 +0530 Subject: [PATCH 5/5] Update README --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 91ce5b37e..3b811453b 100644 --- a/README.md +++ b/README.md @@ -34,7 +34,7 @@ Here is a table of algorithms, the figure, name of the algorithm in the book and | 2 | Model-Based-Vacuum-Agent | `ModelBasedVacuumAgent` | [`agents.py`][agents] | Done | Included | | 2.1 | Environment | `Environment` | [`agents.py`][agents] | Done | Included | | 2.1 | Agent | `Agent` | [`agents.py`][agents] | Done | Included | -| 2.3 | Table-Driven-Vacuum-Agent | `TableDrivenVacuumAgent` | [`agents.py`][agents] | | Included | +| 2.3 | Table-Driven-Vacuum-Agent | `TableDrivenVacuumAgent` | [`agents.py`][agents] | Done | Included | | 2.7 | Table-Driven-Agent | `TableDrivenAgent` | [`agents.py`][agents] | | Included | | 2.8 | Reflex-Vacuum-Agent | `ReflexVacuumAgent` | [`agents.py`][agents] | Done | Included | | 2.10 | Simple-Reflex-Agent | `SimpleReflexAgent` | [`agents.py`][agents] | | Included |