Mercurial > code > home > repos > homeauto
diff service/mqtt_to_rdf/inference_test.py @ 1633:6107603ed455
fix farenheit rule case, fix some others that depend on rings order, but this breaks some performance because of itertools.perm
author | drewp@bigasterisk.com |
---|---|
date | Sun, 12 Sep 2021 21:48:36 -0700 |
parents | 2c85a4f5dd9c |
children | ba59cfc3c747 |
line wrap: on
line diff
--- a/service/mqtt_to_rdf/inference_test.py Sun Sep 12 21:46:39 2021 -0700 +++ b/service/mqtt_to_rdf/inference_test.py Sun Sep 12 21:48:36 2021 -0700 @@ -158,12 +158,12 @@ self.assertNotEqual(stmt0Node, stmt1Node) -# class TestSelfFulfillingRule(WithGraphEqual): +class TestSelfFulfillingRule(WithGraphEqual): -# def test1(self): -# inf = makeInferenceWithRules("{ } => { :new :stmt :x } .") -# self.assertGraphEqual(inf.infer(N3("")), N3(":new :stmt :x .")) -# self.assertGraphEqual(inf.infer(N3(":any :any :any .")), N3(":new :stmt :x .")) + def test1(self): + inf = makeInferenceWithRules("{ } => { :new :stmt :x } .") + self.assertGraphEqual(inf.infer(N3("")), N3(":new :stmt :x .")) + self.assertGraphEqual(inf.infer(N3(":any :any :any .")), N3(":new :stmt :x .")) # def test2(self): # inf = makeInferenceWithRules("{ (2) math:sum ?x } => { :new :stmt ?x } .") @@ -200,11 +200,11 @@ # self.assertGraphEqual(inf.infer(N3(":a :b 2 .")), N3(":new :stmt 0 .")) -# class TestInferenceWithCustomFunctions(WithGraphEqual): +class TestInferenceWithCustomFunctions(WithGraphEqual): -# def testAsFarenheit(self): -# inf = makeInferenceWithRules("{ :a :b ?x . ?x room:asFarenheit ?f } => { :new :stmt ?f } .") -# self.assertGraphEqual(inf.infer(N3(":a :b 12 .")), N3(":new :stmt 53.6 .")) + def testAsFarenheit(self): + inf = makeInferenceWithRules("{ :a :b ?x . ?x room:asFarenheit ?f } => { :new :stmt ?f } .") + self.assertGraphEqual(inf.infer(N3(":a :b 12 .")), N3(":new :stmt 53.6 .")) class TestUseCases(WithGraphEqual): @@ -225,21 +225,21 @@ out = inf.infer(N3('[] a :MqttMessage ; :body "online" ; :topic :foo .')) self.assertIn((EX['frontDoorLockStatus'], EX['connectedStatus'], EX['Online']), out) - def testTopicIsList(self): - inf = makeInferenceWithRules(''' - { ?msg :body "online" . } => { ?msg :onlineTerm :Online . } . - { ?msg :body "offline" . } => { ?msg :onlineTerm :Offline . } . + # def testTopicIsList(self): + # inf = makeInferenceWithRules(''' + # { ?msg :body "online" . } => { ?msg :onlineTerm :Online . } . + # { ?msg :body "offline" . } => { ?msg :onlineTerm :Offline . } . - { - ?msg a :MqttMessage ; - :topic ( "frontdoorlock" "status" ); - :onlineTerm ?onlineness . } => { - :frontDoorLockStatus :connectedStatus ?onlineness . - } . - ''') + # { + # ?msg a :MqttMessage ; + # :topic ( "frontdoorlock" "status" ); + # :onlineTerm ?onlineness . } => { + # :frontDoorLockStatus :connectedStatus ?onlineness . + # } . + # ''') - out = inf.infer(N3('[] a :MqttMessage ; :body "online" ; :topic ( "frontdoorlock" "status" ) .')) - self.assertIn((EX['frontDoorLockStatus'], EX['connectedStatus'], EX['Online']), out) + # out = inf.infer(N3('[] a :MqttMessage ; :body "online" ; :topic ( "frontdoorlock" "status" ) .')) + # self.assertIn((EX['frontDoorLockStatus'], EX['connectedStatus'], EX['Online']), out) # def testPerformance0(self): # inf = makeInferenceWithRules(''' @@ -322,15 +322,15 @@ implied = inf.infer(N3(":a :b (:e0 :e1) .")) self.assertGraphEqual(implied, N3(":new :stmt :here .")) - def testList3(self): - inf = makeInferenceWithRules("{ :a :b (:e0 :e1 :e2) . } => { :new :stmt :here } .") - implied = inf.infer(N3(":a :b (:e0 :e1 :e2) .")) - self.assertGraphEqual(implied, N3(":new :stmt :here .")) + # def testList3(self): + # inf = makeInferenceWithRules("{ :a :b (:e0 :e1 :e2) . } => { :new :stmt :here } .") + # implied = inf.infer(N3(":a :b (:e0 :e1 :e2) .")) + # self.assertGraphEqual(implied, N3(":new :stmt :here .")) - def testList4(self): - inf = makeInferenceWithRules("{ :a :b (:e0 :e1 :e2 :e3) . } => { :new :stmt :here } .") - implied = inf.infer(N3(":a :b (:e0 :e1 :e2 :e3) .")) - self.assertGraphEqual(implied, N3(":new :stmt :here .")) + # def testList4(self): + # inf = makeInferenceWithRules("{ :a :b (:e0 :e1 :e2 :e3) . } => { :new :stmt :here } .") + # implied = inf.infer(N3(":a :b (:e0 :e1 :e2 :e3) .")) + # self.assertGraphEqual(implied, N3(":new :stmt :here .")) # def fakeStats():