public void HasSubjectOrObjectTest() { var text = "attack"; Verb target = new BaseVerb(text); IEntity entity = new CommonPluralNoun("monkeys"); var rand = new Random().Next(-1, 2); switch (rand) { case -1: target.BindSubject(entity); break; case 0: target.BindDirectObject(entity); break; case 1: target.BindDirectObject(entity); break; default: Check.That(false).IsTrue(); break; } var expected = true; bool actual; actual = target.HasSubjectOrObject(predicate); Check.That(actual).Equals(expected); bool predicate(IEntity e) => e.Text == "monkeys"; }
public void BindSubjectTest() { var text = "gave"; Verb target = new BaseVerb(text); IEntity subject = new PersonalPronoun("he"); target.BindSubject(subject); Check.That(target.Subjects).Contains(subject).And.HasSize(1); }
public void IsRelatedToOnTest2() { IEntity performer = new CommonPluralNoun("dogs"); IEntity receiver = new CommonPluralNoun("cats"); IVerbal relator = new BaseVerb("chase"); relator.BindSubject(performer); relator.BindDirectObject(receiver); performer.SetRelationshipLookup(new RelationshipLookup <IEntity, IVerbal>(new[] { relator }, Equals, Equals, Equals)); var actual = RelationshipInferenceExtensions.IsRelatedTo(receiver, performer).On(relator); Check.That(actual).IsTrue(); }
public void AggregateSubjectTest() { var text = "attack"; Verb target = new BaseVerb(text); IAggregateEntity actual; actual = target.AggregateSubject; Check.That(actual).IsEmpty(); IEntity subject = new CommonPluralNoun("monkeys"); target.BindSubject(subject); actual = target.AggregateSubject; Check.That(new[] { subject }.Except(actual)).IsEmpty(); }
public void SubjectsTest() { var text = "attack"; Verb target = new BaseVerb(text); IEnumerable <IEntity> actual; actual = target.Subjects; Check.That(actual).IsEmpty(); IEntity subject = new CommonPluralNoun("chimpanzees"); target.BindSubject(subject); actual = target.Subjects; Check.That(actual).Contains(subject); Check.That(target.AggregateSubject).Contains(subject); }
public void IsRelatedToTest() { IEntity performer = new CommonPluralNoun("dogs"); IEntity receiver = new CommonPluralNoun("cats"); IVerbal relator = new BaseVerb("chase"); relator.BindSubject(performer); relator.BindDirectObject(receiver); performer.SetRelationshipLookup(new RelationshipLookup <IEntity, IVerbal>(new[] { relator }, Equals, Equals, Equals)); ActionsRelatedOn?expected = new ActionsRelatedOn(new[] { relator }); ActionsRelatedOn?actual; actual = RelationshipInferenceExtensions.IsRelatedTo(performer, receiver); Check.That(actual).IsEqualTo(expected); }