public void Test_MathTest1() { var service = new LogicService(); var addFactResult = service.AddFact("match(input1,nn1,0.75)"); AssertResponseOk(addFactResult); addFactResult = service.AddFact("match(input2,nn1,0.80)"); AssertResponseOk(addFactResult); addFactResult = service.AddFact("match(input3,nn1,0.99)"); AssertResponseOk(addFactResult); addFactResult = service.AddFact("match(input4,nn1,1)"); AssertResponseOk(addFactResult); addFactResult = service.AddFact("match(input5,nn1,0.25)"); AssertResponseOk(addFactResult); addFactResult = service.AddFact("match(input6,nn1,-0.25)"); AssertResponseOk(addFactResult); addFactResult = service.AddFact("strongmatch(Result,NeuralNet):-(match(Result,NeuralNet,ActivationLevel),ActivationLevel > 0.5)"); AssertResponseOk(addFactResult); var queryHasSolution = service.QueryHasSolution("strongmatch(input1,nn1)"); Assert.IsTrue(queryHasSolution); queryHasSolution = service.QueryHasSolution("strongmatch(input5,nn1)"); Assert.IsFalse(queryHasSolution); var queryResult = service.GetQuerySolutions("strongmatch(X,nn1)"); Assert.AreEqual(5, queryResult.Count); Assert.AreEqual("input1", queryResult[0].Variables[0].TextValue); Assert.AreEqual("X", queryResult[0].Variables[0].Name); Assert.AreEqual("input2", queryResult[1].Variables[0].TextValue); Assert.AreEqual("X", queryResult[0].Variables[0].Name); Assert.AreEqual("input3", queryResult[2].Variables[0].TextValue); Assert.AreEqual("X", queryResult[0].Variables[0].Name); Assert.AreEqual("input4", queryResult[3].Variables[0].TextValue); Assert.AreEqual("X", queryResult[0].Variables[0].Name); Assert.AreEqual(false, queryResult[4].Solved); queryResult = service.GetQuerySolutions("match(input6,nn1,X)"); Assert.AreEqual(1, queryResult.Count); Assert.AreEqual("-0.25", queryResult[0].Variables[0].TextValue); Assert.AreEqual("X", queryResult[0].Variables[0].Name); }
public void Test_NoSolution() { var service = new LogicService(); service.AddFact("dog(ripley)"); service.AddFact("cat(misterkitty)"); service.AddFact("friendly(X):-dog(X)"); var queryHasSolution = service.QueryHasSolution("friendly(misterkitty)"); Assert.IsFalse(queryHasSolution); }