 |
Exercise 4: Test cases
[TestFixture] public class Exercise4 { Brain brain; Parser parser;
[SetUp] public void SetUp() { brain = new Brain(); parser = new Parser(brain); }
/// <summary> /// Ensure we can parse an entity declaration. /// </summary> [Test] public void ParseEntity() { parser.Parse("Daniel");
Assert.IsNotNull(brain.Get("Daniel")); }
/// <summary> /// Ensure we can parse a relationship. /// </summary> [Test] public void ParseRelationship() { parser.Parse("Daniel is_a man");
Assert.IsNotNull(brain.Get("Daniel")); Assert.IsNotNull(brain.Get("is_a")); Assert.IsNotNull(brain.Get("man")); Assert.IsTrue(brain.Get("Daniel").IsA(brain.Get("man")) ); }
/// <summary> /// Ensure we can parse an assignment. /// </summary> [Test] public void ParseAssignment() { parser.Parse("'Daniel'"); parser.Parse("Daniel has_a name"); parser.Parse("Daniel.name = 'Daniel'");
IEntity Daniel = brain.Get("Daniel"); IEntity name = brain.Get("name"); IEntity wDaniel = brain.Get("'Daniel'");
Assert.AreEqual(wDaniel, Daniel.Get(name)); }
/// <summary> /// Ensure we can parse multiple lines. /// </summary> [Test] public void ParseMultipleLines() { parser.Parse("a\nb\nc");
Assert.IsNotNull(brain.Get("a")); Assert.IsNotNull(brain.Get("b")); Assert.IsNotNull(brain.Get("c")); }
/// <summary> /// Ensure an exception is thrown if an entity is added twice. /// </summary> [Test] [ExpectedException] public void AddEntityTwice() { parser.Parse("a\na"); } }
|
|
|
|
 |