Ejemplo n.º 1
0
        public void MultipleRangePropertyTest()
        {
            var o = new Ontology("MultipleRangePropertyTest");

            o.Parser.ParseAndExecute("cats have an age between 1 and 20",
                                     "kittens are a kind of cat",
                                     "kittens have an age between 1 and 2",
                                     "adults are a kind of cat",
                                     "adults have an age between 2 and 20");
            var g   = o.Generator("cat");
            var age = o.Property("age");

            for (var n = 0; n < 200; n++)
            {
                var i      = g.Generate();
                var cat    = i.Individuals[0];
                var catAge = (float)(i.PropertyValue(cat, age));
                if (i.IsA(cat, "kitten"))
                {
                    Assert.IsTrue(catAge >= 1);
                    Assert.IsTrue(catAge <= 2);
                }
                else
                {
                    Assert.IsTrue(catAge >= 2);
                    Assert.IsTrue(catAge <= 20);
                }
            }
        }
Ejemplo n.º 2
0
        public void MultiPartTest()
        {
            var o = new Ontology("MultiPartTest");

            o.Parser.ParseAndExecute("A person has 4 pastimes called their hobbies");
            var invention = o.Generator("person").Generate();

            Assert.AreEqual(5, invention.Individuals.Count);
        }
Ejemplo n.º 3
0
        public void UnnamedPartTest()
        {
            var o = new Ontology("UnnamedPartTest");

            o.Parser.ParseAndExecute("a cat is a kind of person",
                                     "a cat has a color");
            var cat   = o.CommonNoun("cat");
            var color = o.CommonNoun("color");
            var i     = o.Generator(cat).Generate();

            Assert.AreEqual(1, cat.Parts.Count);
            Assert.AreEqual("color", cat.Parts[0].StandardName.Untokenize());
            Assert.IsTrue(i.IsA(i.Individuals[0], cat));
            Assert.IsTrue(i.IsA(i.Individuals[1], color));
        }
Ejemplo n.º 4
0
        public void PartNamingTest()
        {
            var o = new Ontology("PartNamingTest");

            o.Parser.ParseAndExecute("A face has eyes",
                                     "A face has a mouth",
                                     "A face has a nose",
                                     "A face has hair");
            var invention = o.Generator("face").Generate();

            Assert.AreEqual("the face", invention.NameString(invention.Individuals[0]));
            Assert.AreEqual("the face's eye", invention.NameString(invention.Individuals[1]));
            Assert.AreEqual("the face's mouth", invention.NameString(invention.Individuals[2]));
            Assert.AreEqual("the face's nose", invention.NameString(invention.Individuals[3]));
            Assert.AreEqual("the face's hair", invention.NameString(invention.Individuals[4]));
        }
Ejemplo n.º 5
0
        public void PossibleIndividualPartTest()
        {
            var o = new Ontology("PartNamingTest");

            o.ParseAndExecute("A face has eyes",
                              "A face has a mouth",
                              "A face has a nose",
                              "A face has hair");
            var invention = o.Generator("face").Generate();
            var face      = invention.PossibleIndividuals[0];

            Assert.IsTrue(face.IsA("face"));
            Assert.IsTrue(face.Part("eye")[0].IsA("eye"));
            Assert.IsTrue(face.Part("mouth")[0].IsA("mouth"));
            Assert.IsTrue(face.Part("nose")[0].IsA("nose"));
            Assert.IsTrue(face.Part("hair")[0].IsA("hair"));
        }
Ejemplo n.º 6
0
        public void PossibleIndividualTest()
        {
            var o = new Ontology("PossibleIndividualTest");

            o.ParseAndExecute("a cat is a kind of person",
                              "a persian is a kind of cat",
                              "a tabby is a kind of cat",
                              "a siamese is a kind of cat",
                              "a cat can be haughty",
                              "a cat can be cuddly",
                              "a cat can be crazy",
                              "a persian can be matted");
            var i = o.Generator("cat", 10).Generate();

            foreach (var pi in i.PossibleIndividuals)
            {
                Assert.IsTrue(pi.IsA("cat"));
            }
        }