 |
Exercise 7: Test cases
using System; using System.Collections.Generic; using System.Linq; using System.Text; using NUnit.Framework; using Plato.Core; using Plato.Language; using Plato.Language.Parser;
namespace Tests { [TestFixture] public class Exercise7 { Brain brain; WordMappingParser parser;
[SetUp] public void SetUp() { brain = new Brain(); parser = new WordMappingParser(brain); }
/// <summary> /// Basic test. /// </summary> [Test] public void BasicTest() { parser.Parse("'I' -> speaker");
Assert.IsNotNull(brain.Get("'I'")); Assert.IsNotNull(brain.Get("speaker")); Assert.IsTrue(brain.Get("'I'").IsA(brain.Get("speaker"))); }
/// <summary> /// Ensure word type specifiers are applied properly. /// </summary> [Test] public void SpecifyWordType() { parser.Parse("'I' -> speaker: noun");
Assert.IsNotNull(brain.Get("'I'")); Assert.IsNotNull(brain.Get("speaker")); Assert.IsNotNull(brain.Get("noun")); Assert.IsTrue(brain.Get("'I'").IsA(brain.Get("speaker"))); Assert.IsTrue(brain.Get("speaker").IsA(brain.Get("noun"))); }
/// <summary> /// Ensure multiple word type specifiers are applied properly. /// </summary> [Test] public void SpecifyMultipleWordTypes() { parser.Parse("'x' -> x: a, b");
Assert.IsNotNull(brain.Get("'x'")); Assert.IsNotNull(brain.Get("x")); Assert.IsNotNull(brain.Get("a")); Assert.IsNotNull(brain.Get("b")); Assert.IsTrue(brain.Get("'x'").IsA(brain.Get("x"))); Assert.IsTrue(brain.Get("x").IsA(brain.Get("a"))); Assert.IsTrue(brain.Get("x").IsA(brain.Get("b"))); }
/// <summary> /// Ensure multi-line input is parsed properly. /// </summary> [Test] public void MutliLineInput() { parser.Parse("'Daniel' -> Daniel: noun\n'run' -> run: verb");
Assert.IsNotNull(brain.Get("'Daniel'")); Assert.IsNotNull(brain.Get("Daniel")); Assert.IsTrue(brain.Get("'Daniel'").IsA(brain.Get("Daniel"))); Assert.IsTrue(brain.Get("Daniel").IsA(brain.Get("noun")));
Assert.IsNotNull(brain.Get("'run'")); Assert.IsNotNull(brain.Get("run")); Assert.IsTrue(brain.Get("'run'").IsA(brain.Get("run"))); Assert.IsTrue(brain.Get("run").IsA(brain.Get("verb"))); }
[Test] public void IsATree() { parser.Parse("'I' -> speaker: noun");
EntityTree tree = brain.Get("'I'").GetIsATree();
Assert.AreEqual("'I'", tree.Root.Entity.Id); Assert.AreEqual("speaker", tree.Root.Children[0].Entity.Id); Assert.AreEqual("noun", tree.Root.Children[0].Children[0].Entity.Id); }
[Test] public void IsATree_Circular() { IEntity a = brain.CreateEntity("a"); IEntity b = brain.CreateEntity("b"); IEntity is_a = brain.Get("is_a"); brain.CreateRelationship(a, is_a, b); brain.CreateRelationship(b, is_a, a);
EntityTree tree = brain.Get("a").GetIsATree();
Assert.AreEqual("a", tree.Root.Entity.Id); Assert.AreEqual("b", tree.Root.Children[0].Entity.Id); Assert.AreEqual(0, tree.Root.Children[0].Children.Count); Assert.AreEqual(2, tree.GetList().Count); } } }
|
|
|
|
 |