From fe7b550cdb3f4b0525ba295cc5adb38805dac317 Mon Sep 17 00:00:00 2001 From: kenkeiras Date: Tue, 23 May 2017 20:40:09 +0200 Subject: [PATCH] Try to move the tests to hy. --- naive-nlu/requirements.txt | 1 + naive-nlu/setup.py | 1 + naive-nlu/tree_nlu/test.py | 102 +------------------------------ naive-nlu/tree_nlu/tests/base.hy | 62 +++++++++++++++++++ 4 files changed, 67 insertions(+), 99 deletions(-) create mode 100644 naive-nlu/tree_nlu/tests/base.hy diff --git a/naive-nlu/requirements.txt b/naive-nlu/requirements.txt index 9891d55..4e6b173 100644 --- a/naive-nlu/requirements.txt +++ b/naive-nlu/requirements.txt @@ -1 +1,2 @@ jsondiff +hy diff --git a/naive-nlu/setup.py b/naive-nlu/setup.py index 8fdc33b..18db1cd 100644 --- a/naive-nlu/setup.py +++ b/naive-nlu/setup.py @@ -11,5 +11,6 @@ setup(name='tree_nlu', include_package_data=True, install_requires = [ 'jsondiff', + 'hy', ], zip_safe=False) diff --git a/naive-nlu/tree_nlu/test.py b/naive-nlu/tree_nlu/test.py index fbd24d8..bbda1a2 100644 --- a/naive-nlu/tree_nlu/test.py +++ b/naive-nlu/tree_nlu/test.py @@ -6,105 +6,8 @@ logging.getLogger().setLevel(logging.INFO) from .knowledge_base import KnowledgeBase from .modifiable_property import is_modifiable_property -examples = [ - { - "text": "icecream is cold", - "parsed": ("exists-property-with-value", 'icecream', 'cold'), - }, - { - "text": "is icecream cold?", - "parsed": ("question", ("exists-property-with-value", 'icecream', 'cold')) - }, - { - "text": "lava is dangerous", - "parsed": ("exists-property-with-value", 'lava', 'dangerous') - }, - { - "text": "is lava dangerous?", - "parsed": ("question", ("exists-property-with-value", 'lava', 'dangerous')), - }, - { - "text": "earth is a planet", - "parsed": ("pertenence-to-group", 'earth', 'planet'), - }, - { - "text": "io is a moon", - "parsed": ("pertenence-to-group", 'io', 'moon'), - }, - { - "text": "is earth a moon?", - "parsed": ("question", ("pertenence-to-group", 'earth', 'moon')), - }, - { - "text": "Green is a color", - "parsed": ("pertenence-to-group", 'green', 'color'), - }, - { - "text": "a plane can fly", - "parsed": ("has-capacity", 'plane', 'fly') - }, - { - "text": "a wale can swim", - "parsed": ("has-capacity", 'wale', 'swim') - }, - { - "text": "if earth is a planet, it is big", - "parsed": ("implies", - ("pertenence-to-group", 'earth', 'planet'), - ("exists-property-with-value", 'earth', 'big')), - }, -] - -base_knowledge = { - 'icecream': { - "groups": set(['noun', 'object', 'comestible', 'sweet']), - }, - 'lava': { - "groups": set(['noun', 'object']), - }, - 'earth': { - "groups": set(['noun', 'object', 'planet']), - }, - 'io': { - "groups": set(['noun', 'object']), - }, - 'green': { - "groups": set(['noun', 'color', 'concept']), - }, - 'plane': { - "groups": set(['noun', 'object', 'vehicle', 'fast']), - }, - 'car': { - "groups": set(['noun', 'object', 'vehicle', 'slow-ish']), - }, - 'wale': { - "groups": set(['noun', 'object', 'living-being']), - }, - 'cold': { - "groups": set(['property', 'temperature']), - "as_property": "temperature", - }, - 'dangerous': { - "groups": set(['property']), - "as_property": "safety", - }, - 'planet': { - "groups": set(['noun', 'group']), - }, - 'moon': { - "groups": set(['noun', 'group']), - }, - 'color': { - "groups": set(['property', 'group']), - }, - 'fly': { - "groups": set(['verb']), - }, - 'swim': { - "groups": set(['verb']), - }, -} - +import hy +from .tests import base def test_assumption(expectedResponse, knowledge, query): logging.info("Query: {}".format(query['text'])) @@ -118,6 +21,7 @@ def test_assumption(expectedResponse, knowledge, query): def main(): + base.run_tests() knowledge = KnowledgeBase( knowledge=base_knowledge, ) diff --git a/naive-nlu/tree_nlu/tests/base.hy b/naive-nlu/tree_nlu/tests/base.hy new file mode 100644 index 0000000..65f37fb --- /dev/null +++ b/naive-nlu/tree_nlu/tests/base.hy @@ -0,0 +1,62 @@ +(import [..knowledge_base [KnowledgeBase]]) + +(setv knowledge-base + { + "icecream" { "groups" (set ["noun" "object" "comestible" "sweet"]) } + + "lava" { "groups" (set ["noun" "object"]) } + "earth" { "groups" (set ["noun" "object" "planet"]) } + "io" { "groups" (set ["noun" "object"]) } + "green" { "groups" (set ["noun" "color" "concept"]) } + "plane" { "groups" (set ["noun" "object" "vehicle" "fast"]) } + "car" { "groups" (set ["noun" "object" "vehicle" "slow-ish"]) } + "wale" { "groups" (set ["noun" "object" "living-being"]) } + "cold" { "groups" (set ["property" "temperature"]) "as_property" "temperature" } + "dangerous" { "groups" (set ["property"]) "as_property" "safety" } + "planet" { "groups" (set ["noun" "group"]) } + "moon" { "groups" (set ["noun" "group"]) } + "color" { "groups" (set ["property" "group"]) } + "fly" { "groups" (set ["verb"]) } + "swim" { "groups" (set ["verb"]) } + } + ) + +(setv examples + [ + { "text" "icecream is cold" + "parsed" '(exists-property-with-value icecream cold) } + { "text" "is icecream cold?" + "parsed" '(question (exists-property-with-value icecream cold)) } + { "text" "lava is dangerous" + "parsed" '(exists-property-with-value lava dangerous) } + { "text" "is lava dangerous?" + "parsed" '(question (exists-property-with-value lava dangerous)) } + { "text" "earth is a planet" + "parsed" '(pertenence-to-group earth planet) } + { "text" "io is a moon" + "parsed" '(pertenence-to-group io moon) } + { "text" "is earth a moon?" + "parsed" '(question (pertenence-to-group earth moon)) } + { "text" "Green is a color" + "parsed" '(pertenence-to-group green color) } + { "text" "a plane can fly" + "parsed" '(has-capacity plane fly) } + { "text" "a wale can swim" + "parsed" '(has-capacity wale swim) } + { + "text" "if earth is a planet it is big" + "parsed" '(implies + (pertenence-to-group earth planet) + (exists-property-with-value earth big)) } + + ] + ) + +(defn run_tests [] + [ + (setv knowledge (KnowledgeBase + knowledge=base_knowledge, + ) + ) + ] + )