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);
        }