public void TestBuildingWhatIsMutualSequenceOfProcesses() { // arrange var language = Language.Default; var semanticNetwork = new TestSemanticNetwork(language); var processA = ConceptCreationHelper.CreateConcept(); processA.WithAttribute(IsProcessAttribute.Value); var processB = ConceptCreationHelper.CreateConcept(); processB.WithAttribute(IsProcessAttribute.Value); semanticNetwork.SemanticNetwork.DeclareThat(processA).StartsBeforeOtherStarted(processB); semanticNetwork.SemanticNetwork.DeclareThat(processA).FinishesAfterOtherFinished(processB); // act var questionRegular = new ProcessesQuestion(processA, processB); var answerRegular = (StatementsAnswer <ProcessesStatement>)questionRegular.Ask(semanticNetwork.SemanticNetwork.Context); var answerBuilder = (StatementsAnswer <ProcessesStatement>)semanticNetwork.SemanticNetwork.Ask().WhatIsMutualSequenceOfProcesses(processA, processB); // assert Assert.IsTrue(answerRegular.Result.SequenceEqual(answerBuilder.Result)); Assert.IsTrue(answerRegular.Explanation.Statements.SequenceEqual(answerBuilder.Explanation.Statements)); }
public void ConceptWithSubjectAreaCanFindIt() { // arrange var language = Language.Default; var semanticNetwork = new TestSemanticNetwork(language); IList <IConcept> subjectAreas = new IConcept[] { semanticNetwork.SubjectArea_Transport, semanticNetwork.SubjectArea_Numbers, semanticNetwork.SubjectArea_Processes, }; var conceptsWithoutSubjectArea = new List <IConcept>(SystemConcepts.GetAll()); conceptsWithoutSubjectArea.AddRange(subjectAreas); foreach (var concept in semanticNetwork.SemanticNetwork.Concepts.Except(conceptsWithoutSubjectArea)) { // act var answer = semanticNetwork.SemanticNetwork.Ask().ToWhichSubjectAreasBelongs(concept); // assert Assert.IsFalse(answer.IsEmpty); var groupStatement = (GroupStatement)answer.Explanation.Statements.Single(); Assert.IsTrue(subjectAreas.Contains(groupStatement.Area)); Assert.AreSame(concept, groupStatement.Concept); var conceptsAnswer = (ConceptsAnswer)answer; Assert.AreSame(groupStatement.Area, conceptsAnswer.Result.Single()); } }
public void MultipleSubjectAreas() { // arrange var language = Language.Default; var semanticNetwork = new TestSemanticNetwork(language); var concept = semanticNetwork.Base_Vehicle; var secondSubjectArea = Modules.Boolean.Concepts.LogicalValues.True; semanticNetwork.SemanticNetwork.DeclareThat(concept).BelongsToSubjectArea(secondSubjectArea); // act var answer = semanticNetwork.SemanticNetwork.Ask().ToWhichSubjectAreasBelongs(concept); // assert Assert.IsFalse(answer.IsEmpty); Assert.AreEqual(2, answer.Explanation.Statements.Count); Assert.IsTrue(answer.Explanation.Statements.OfType <GroupStatement>().Any(s => s.Area == semanticNetwork.SubjectArea_Transport && s.Concept == concept)); Assert.IsTrue(answer.Explanation.Statements.OfType <GroupStatement>().Any(s => s.Area == secondSubjectArea && s.Concept == concept)); var conceptsAnswer = (ConceptsAnswer)answer; Assert.IsTrue(conceptsAnswer.Result.Contains(semanticNetwork.SubjectArea_Transport)); Assert.IsTrue(conceptsAnswer.Result.Contains(secondSubjectArea)); }
public void CheckEquality() { // arrange var language = Language.Default; var semanticNetwork = new TestSemanticNetwork(language); // act var answer1 = semanticNetwork.SemanticNetwork.Ask().HowCompared(semanticNetwork.Number0, semanticNetwork.NumberZero); var answer2 = semanticNetwork.SemanticNetwork.Ask().HowCompared(semanticNetwork.NumberZero, semanticNetwork.Number0); // assert var explanation1 = (ComparisonStatement)answer1.Explanation.Statements.Single(); var explanation2 = (ComparisonStatement)answer2.Explanation.Statements.Single(); Assert.AreSame(explanation1, explanation2); Assert.IsTrue(explanation1.GetChildConcepts().Contains(semanticNetwork.Number0)); Assert.IsTrue(explanation1.GetChildConcepts().Contains(semanticNetwork.NumberZero)); Assert.IsTrue(explanation1.GetChildConcepts().Contains(ComparisonSigns.IsEqualTo)); var statement1 = (ComparisonStatement)((StatementAnswer)answer1).Result; Assert.AreSame(semanticNetwork.Number0, statement1.LeftValue); Assert.AreSame(semanticNetwork.NumberZero, statement1.RightValue); Assert.AreSame(ComparisonSigns.IsEqualTo, statement1.ComparisonSign); var statement2 = (ComparisonStatement)((StatementAnswer)answer2).Result; Assert.AreSame(semanticNetwork.NumberZero, statement2.LeftValue); Assert.AreSame(semanticNetwork.Number0, statement2.RightValue); Assert.AreSame(ComparisonSigns.IsEqualTo, statement2.ComparisonSign); }
public void ReturnAllSignsIfRecursive() { // arrange var language = Language.Default; var semanticNetwork = new TestSemanticNetwork(language); var ownSign = ConceptCreationHelper.CreateConcept(); ownSign.WithAttribute(IsSignAttribute.Value); semanticNetwork.SemanticNetwork.Concepts.Add(ownSign); var ownSignStatement = semanticNetwork.SemanticNetwork.DeclareThat(semanticNetwork.Vehicle_Motorcycle).HasSign(ownSign); // act var answerOwnSign = semanticNetwork.SemanticNetwork.Ask().IfHasSign(semanticNetwork.Vehicle_Motorcycle, ownSign); var answerInheritedSign = semanticNetwork.SemanticNetwork.Ask().IfHasSign(semanticNetwork.Vehicle_Motorcycle, semanticNetwork.Sign_AreaType); // assert Assert.IsFalse(answerOwnSign.IsEmpty); Assert.IsTrue(((BooleanAnswer)answerOwnSign).Result); Assert.AreSame(ownSignStatement, answerOwnSign.Explanation.Statements.Single()); Assert.IsFalse(answerInheritedSign.IsEmpty); Assert.IsTrue(((BooleanAnswer)answerInheritedSign).Result); Assert.AreEqual(2, answerInheritedSign.Explanation.Statements.Count); Assert.AreEqual(1, answerInheritedSign.Explanation.Statements.OfType <HasSignStatement>().Count()); Assert.AreEqual(1, answerInheritedSign.Explanation.Statements.OfType <IsStatement>().Count()); }
public void ReturnOwnSignsOnlyIfNoRecursion() { // arrange var language = Language.Default; var semanticNetwork = new TestSemanticNetwork(language); var ownSign = ConceptCreationHelper.CreateConcept(); ownSign.WithAttribute(IsSignAttribute.Value); semanticNetwork.SemanticNetwork.Concepts.Add(ownSign); var ownSignStatement = semanticNetwork.SemanticNetwork.DeclareThat(semanticNetwork.Vehicle_Motorcycle).HasSign(ownSign); var questionOwnSign = new HasSignsQuestion(semanticNetwork.Base_Vehicle, false); var questionInheritedSign = new HasSignsQuestion(semanticNetwork.Vehicle_Motorcycle, false); // act var answerOwnSign = questionOwnSign.Ask(semanticNetwork.SemanticNetwork.Context); var answerInheritedSign = questionInheritedSign.Ask(semanticNetwork.SemanticNetwork.Context); // assert Assert.IsFalse(answerOwnSign.IsEmpty); Assert.IsTrue(((BooleanAnswer)answerOwnSign).Result); Assert.AreEqual(2, answerOwnSign.Explanation.Statements.Count); Assert.IsFalse(answerInheritedSign.IsEmpty); Assert.IsTrue(((BooleanAnswer)answerInheritedSign).Result); Assert.AreSame(ownSignStatement, answerInheritedSign.Explanation.Statements.Single()); }
public void CheckGreaterAndLessConditions() { // arrange var language = Language.Default; var semanticNetwork = new TestSemanticNetwork(language); var orderedNumbersWith0 = new List <IConcept> { semanticNetwork.Number0, semanticNetwork.Number1, semanticNetwork.Number2, semanticNetwork.Number3, semanticNetwork.Number4, }; var orderedNumbersWithZero = new List <IConcept> { semanticNetwork.NumberZero, semanticNetwork.Number1, semanticNetwork.Number2, semanticNetwork.Number3, semanticNetwork.Number4, }; foreach (var orderedNumbers in new[] { orderedNumbersWith0, orderedNumbersWithZero }) { for (int l = 0; l < orderedNumbers.Count; l++) { for (int r = 0; r < orderedNumbers.Count; r++) { if (l != r) // because "A=A" automatic precondition is not defined { // act var answer = semanticNetwork.SemanticNetwork.Ask().HowCompared(orderedNumbers[l], orderedNumbers[r]); // assert var explanation = answer.Explanation.Statements; int expectedExplanationStatementsCount = Math.Abs(l - r); if (orderedNumbers == orderedNumbersWithZero && (l == 0 || r == 0)) { expectedExplanationStatementsCount++; } Assert.AreEqual(expectedExplanationStatementsCount, explanation.Count); Assert.AreEqual(explanation.Count, explanation.OfType <ComparisonStatement>().Count()); var statement = (ComparisonStatement)((StatementAnswer)answer).Result; Assert.AreSame(orderedNumbers[l], statement.LeftValue); Assert.AreSame(orderedNumbers[r], statement.RightValue); Assert.AreSame(l > r ? ComparisonSigns.IsGreaterThan : ComparisonSigns.IsLessThan, statement.ComparisonSign); } } } } }
public void DescribeRulesEnumeratesThem() { // arrange var language = Language.Default; var semanticNetwork = new TestSemanticNetwork(language).SemanticNetwork; // act var result = semanticNetwork.DescribeRules().ToString(); // assert Assert.Less(4000, result.Length); }
public void GivenConsistentSemanticNetworkWhenCheckConsistensyThenReturnEmptyText() { // arrange var language = Language.Default; var semanticNetwork = new TestSemanticNetwork(language).SemanticNetwork; // act var result = semanticNetwork.CheckConsistency(); // assert Assert.IsTrue(result.ToString().Contains(language.Statements.Consistency.CheckOk)); }
public void ReturnUnknownIfNoInformation() { // arrange var language = Language.Default; var semanticNetwork = new TestSemanticNetwork(language); // act var answer = semanticNetwork.SemanticNetwork.Ask().WhatIsSignValue(semanticNetwork.Base_Vehicle, semanticNetwork.Sign_AreaType); // assert Assert.IsTrue(answer.IsEmpty); Assert.AreEqual(0, answer.Explanation.Statements.Count); }
public void ReturnEmptyIfConceptsCanNotBeCompared() { // arrange var language = Language.Default; var semanticNetwork = new TestSemanticNetwork(language); // act var answer = semanticNetwork.SemanticNetwork.Ask().WhatIsTheDifference(semanticNetwork.AreaType_Air, semanticNetwork.MotorType_Jet); // assert Assert.IsTrue(answer.IsEmpty); Assert.AreEqual(0, answer.Explanation.Statements.Count); }
public void ReturnEmptyWithExplanationIfNoDifferenceFound() { // arrange var language = Language.Default; var semanticNetwork = new TestSemanticNetwork(language); // act var answer = semanticNetwork.SemanticNetwork.Ask().WhatIsTheDifference(semanticNetwork.Vehicle_Car, semanticNetwork.Vehicle_Motorcycle); // assert Assert.IsTrue(answer.IsEmpty); Assert.Greater(answer.Explanation.Statements.Count, 0); }
public void ReturnEmptyWithExplanationIfNoCommonFound() { // arrange var language = Language.Default; var semanticNetwork = new TestSemanticNetwork(language); // act var answer = semanticNetwork.SemanticNetwork.Ask().WhatInCommon(semanticNetwork.Vehicle_Car, semanticNetwork.Vehicle_JetFighter); // assert Assert.IsTrue(answer.IsEmpty); Assert.Greater(answer.Explanation.Statements.Count, 0); }
public void CheckUncomparableValues() { // arrange var language = Language.Default; var semanticNetwork = new TestSemanticNetwork(language); // act var answer = semanticNetwork.SemanticNetwork.Ask().HowCompared(ComparisonSigns.IsNotEqualTo, SequenceSigns.Causes); // assert Assert.IsTrue(answer.IsEmpty); Assert.AreEqual(0, answer.Explanation.Statements.Count); }
public void AnswerNotFound() { // arrange var language = Language.Default; var semanticNetwork = new TestSemanticNetwork(language); // act var answer = semanticNetwork.SemanticNetwork.Ask().IfIs(semanticNetwork.Sign_AreaType, semanticNetwork.Base_Vehicle); // assert Assert.IsFalse(answer.IsEmpty); Assert.IsFalse(((BooleanAnswer)answer).Result); Assert.AreEqual(0, answer.Explanation.Statements.Count); }
public void ReturnFalseIfNotFound() { // arrange var language = Language.Default; var semanticNetwork = new TestSemanticNetwork(language); // act var answer = semanticNetwork.SemanticNetwork.Ask().IfConceptBelongsToSubjectArea(semanticNetwork.Base_Vehicle, semanticNetwork.SubjectArea_Numbers); // assert Assert.IsFalse(answer.IsEmpty); Assert.IsFalse(((BooleanAnswer)answer).Result); Assert.AreEqual(0, answer.Explanation.Statements.Count); }
public void ReturnDirectSignValue() { // arrange var language = Language.Default; var semanticNetwork = new TestSemanticNetwork(language); // act var answer = semanticNetwork.SemanticNetwork.Ask().WhatIsSignValue(semanticNetwork.Vehicle_Car, semanticNetwork.Sign_AreaType); // assert Assert.IsFalse(answer.IsEmpty); Assert.AreSame(semanticNetwork.AreaType_Ground, ((ConceptAnswer)answer).Result); Assert.AreSame(typeof(SignValueStatement), answer.Explanation.Statements.Single().GetType()); }
public void CheckConditionsWithLeAndGe() { // arrange var language = Language.Default; var semanticNetwork = new TestSemanticNetwork(language); var comparisons = new[] { new Tuple <IConcept, IConcept, IConcept>(semanticNetwork.Number1or2, semanticNetwork.Number0, ComparisonSigns.IsGreaterThan), new Tuple <IConcept, IConcept, IConcept>(semanticNetwork.Number1or2, semanticNetwork.Number1, ComparisonSigns.IsGreaterThanOrEqualTo), new Tuple <IConcept, IConcept, IConcept>(semanticNetwork.Number1or2, semanticNetwork.Number2, ComparisonSigns.IsLessThanOrEqualTo), new Tuple <IConcept, IConcept, IConcept>(semanticNetwork.Number1or2, semanticNetwork.Number3, ComparisonSigns.IsLessThan), new Tuple <IConcept, IConcept, IConcept>(semanticNetwork.Number1or2, semanticNetwork.Number4, ComparisonSigns.IsLessThan), new Tuple <IConcept, IConcept, IConcept>(semanticNetwork.Number1or2, semanticNetwork.Number2or3, ComparisonSigns.IsLessThanOrEqualTo), new Tuple <IConcept, IConcept, IConcept>(semanticNetwork.Number1or2, semanticNetwork.Number3or4, ComparisonSigns.IsLessThan), new Tuple <IConcept, IConcept, IConcept>(semanticNetwork.Number2or3, semanticNetwork.Number0, ComparisonSigns.IsGreaterThan), new Tuple <IConcept, IConcept, IConcept>(semanticNetwork.Number2or3, semanticNetwork.Number1, ComparisonSigns.IsGreaterThan), new Tuple <IConcept, IConcept, IConcept>(semanticNetwork.Number2or3, semanticNetwork.Number2, ComparisonSigns.IsGreaterThanOrEqualTo), new Tuple <IConcept, IConcept, IConcept>(semanticNetwork.Number2or3, semanticNetwork.Number3, ComparisonSigns.IsLessThanOrEqualTo), new Tuple <IConcept, IConcept, IConcept>(semanticNetwork.Number2or3, semanticNetwork.Number4, ComparisonSigns.IsLessThan), new Tuple <IConcept, IConcept, IConcept>(semanticNetwork.Number2or3, semanticNetwork.Number1or2, ComparisonSigns.IsGreaterThanOrEqualTo), new Tuple <IConcept, IConcept, IConcept>(semanticNetwork.Number2or3, semanticNetwork.Number3or4, ComparisonSigns.IsLessThanOrEqualTo), new Tuple <IConcept, IConcept, IConcept>(semanticNetwork.Number3or4, semanticNetwork.Number0, ComparisonSigns.IsGreaterThan), new Tuple <IConcept, IConcept, IConcept>(semanticNetwork.Number3or4, semanticNetwork.Number1, ComparisonSigns.IsGreaterThan), new Tuple <IConcept, IConcept, IConcept>(semanticNetwork.Number3or4, semanticNetwork.Number2, ComparisonSigns.IsGreaterThan), new Tuple <IConcept, IConcept, IConcept>(semanticNetwork.Number3or4, semanticNetwork.Number3, ComparisonSigns.IsGreaterThanOrEqualTo), new Tuple <IConcept, IConcept, IConcept>(semanticNetwork.Number3or4, semanticNetwork.Number4, ComparisonSigns.IsLessThanOrEqualTo), new Tuple <IConcept, IConcept, IConcept>(semanticNetwork.Number3or4, semanticNetwork.Number1or2, ComparisonSigns.IsGreaterThan), new Tuple <IConcept, IConcept, IConcept>(semanticNetwork.Number3or4, semanticNetwork.Number2or3, ComparisonSigns.IsGreaterThanOrEqualTo), }; foreach (var comparison in comparisons) { // act var answer1 = semanticNetwork.SemanticNetwork.Ask().HowCompared(comparison.Item1, comparison.Item2); var statement1 = (ComparisonStatement)((StatementAnswer)answer1).Result; var answer2 = semanticNetwork.SemanticNetwork.Ask().HowCompared(comparison.Item2, comparison.Item1); var statement2 = (ComparisonStatement)((StatementAnswer)answer2).Result; // assert Assert.AreSame(comparison.Item1, statement1.LeftValue); Assert.AreSame(comparison.Item2, statement1.RightValue); Assert.AreSame(comparison.Item3, statement1.ComparisonSign); Assert.AreSame(comparison.Item2, statement2.LeftValue); Assert.AreSame(comparison.Item1, statement2.RightValue); Assert.AreSame(ComparisonSigns.Revert(comparison.Item3), statement2.ComparisonSign); } }
public void SubjectAreaWithoutConceptsHasNoConcepts() { // arrange var language = Language.Default; var semanticNetwork = new TestSemanticNetwork(language); var noSubjectAreaConcept = SystemConcepts.GetAll().First(); // act var answer = semanticNetwork.SemanticNetwork.Ask().WhichConceptsBelongToSubjectArea(noSubjectAreaConcept); // assert Assert.IsTrue(answer.IsEmpty); Assert.AreEqual(0, answer.Explanation.Statements.Count); }
public void ReturnTrueWithtExplanation() { // arrange var language = Language.Default; var semanticNetwork = new TestSemanticNetwork(language); // act var answer = semanticNetwork.SemanticNetwork.Ask().IfIsSign(semanticNetwork.Sign_AreaType); // assert Assert.IsFalse(answer.IsEmpty); Assert.IsTrue(((BooleanAnswer)answer).Result); Assert.IsTrue(answer.Explanation.Statements.OfType <HasSignStatement>().Any()); }
public void ReturnEmptyAnswerIfThereAreParentSignsButNotRecursive() { // arrange var language = Language.Default; var semanticNetwork = new TestSemanticNetwork(language); var question = new EnumerateSignsQuestion(semanticNetwork.Vehicle_Motorcycle, false); // act var answer = question.Ask(semanticNetwork.SemanticNetwork.Context); // assert Assert.IsTrue(answer.IsEmpty); Assert.AreEqual(0, answer.Explanation.Statements.Count); }
public void ReturnAllCommon() { // arrange var language = Language.Default; var semanticNetwork = new TestSemanticNetwork(language); // act var answer = semanticNetwork.SemanticNetwork.Ask().WhatInCommon(semanticNetwork.Vehicle_Steamboat, semanticNetwork.Vehicle_SteamLocomotive); // assert Assert.IsFalse(answer.IsEmpty); Assert.AreSame(semanticNetwork.Sign_MotorType, (((ConceptsAnswer)answer).Result).Single()); Assert.Greater(answer.Explanation.Statements.Count, 0); }
public void TestBuildingWhichContainersInclude() { // arrange var language = Language.Default; var semanticNetwork = new TestSemanticNetwork(language); // act var questionRegular = new EnumerateContainersQuestion(semanticNetwork.Part_Engine); var answerRegular = (ConceptsAnswer)questionRegular.Ask(semanticNetwork.SemanticNetwork.Context); var answerBuilder = (ConceptsAnswer)semanticNetwork.SemanticNetwork.Ask().WhichContainersInclude(semanticNetwork.Part_Engine); // assert Assert.IsTrue(answerRegular.Result.SequenceEqual(answerBuilder.Result)); Assert.IsTrue(answerRegular.Explanation.Statements.SequenceEqual(answerBuilder.Explanation.Statements)); }
public void TestBuildingToWhichSubjectAreasBelongs() { // arrange var language = Language.Default; var semanticNetwork = new TestSemanticNetwork(language); // act var questionRegular = new FindSubjectAreaQuestion(semanticNetwork.Vehicle_Car); var answerRegular = (ConceptsAnswer)questionRegular.Ask(semanticNetwork.SemanticNetwork.Context); var answerBuilder = (ConceptsAnswer)semanticNetwork.SemanticNetwork.Ask().ToWhichSubjectAreasBelongs(semanticNetwork.Vehicle_Car); // assert Assert.IsTrue(answerRegular.Result.SequenceEqual(answerBuilder.Result)); Assert.IsTrue(answerRegular.Explanation.Statements.SequenceEqual(answerBuilder.Explanation.Statements)); }
public void TestBuildingWhichDescendantsHas() { // arrange var language = Language.Default; var semanticNetwork = new TestSemanticNetwork(language); // act var questionRegular = new EnumerateDescendantsQuestion(semanticNetwork.Base_Vehicle); var answerRegular = (ConceptsAnswer)questionRegular.Ask(semanticNetwork.SemanticNetwork.Context); var answerBuilder = (ConceptsAnswer)semanticNetwork.SemanticNetwork.Ask().WhichDescendantsHas(semanticNetwork.Base_Vehicle); // assert Assert.IsTrue(answerRegular.Result.SequenceEqual(answerBuilder.Result)); Assert.IsTrue(answerRegular.Explanation.Statements.SequenceEqual(answerBuilder.Explanation.Statements)); }
public void TestBuildingWhichConceptsBelongToSubjectArea() { // arrange var language = Language.Default; var semanticNetwork = new TestSemanticNetwork(language); // act var questionRegular = new DescribeSubjectAreaQuestion(semanticNetwork.SubjectArea_Transport); var answerRegular = (ConceptsAnswer)questionRegular.Ask(semanticNetwork.SemanticNetwork.Context); var answerBuilder = (ConceptsAnswer)semanticNetwork.SemanticNetwork.Ask().WhichConceptsBelongToSubjectArea(semanticNetwork.SubjectArea_Transport); // assert Assert.IsTrue(answerRegular.Result.SequenceEqual(answerBuilder.Result)); Assert.IsTrue(answerRegular.Explanation.Statements.SequenceEqual(answerBuilder.Explanation.Statements)); }
public void TestBuildingHowCompared() { // arrange var language = Language.Default; var semanticNetwork = new TestSemanticNetwork(language); // act var questionRegular = new ComparisonQuestion(semanticNetwork.Number0, semanticNetwork.Number2); var answerRegular = (StatementAnswer)questionRegular.Ask(semanticNetwork.SemanticNetwork.Context); var answerBuilder = (StatementAnswer)semanticNetwork.SemanticNetwork.Ask().HowCompared(semanticNetwork.Number0, semanticNetwork.Number2); // assert Assert.AreEqual(answerRegular.Result, answerBuilder.Result); Assert.IsTrue(answerRegular.Explanation.Statements.SequenceEqual(answerBuilder.Explanation.Statements)); }
public void TestBuildingIfIsValue() { // arrange var language = Language.Default; var semanticNetwork = new TestSemanticNetwork(language); // act var questionRegular = new IsValueQuestion(semanticNetwork.AreaType_Air); var answerRegular = (BooleanAnswer)questionRegular.Ask(semanticNetwork.SemanticNetwork.Context); var answerBuilder = (BooleanAnswer)semanticNetwork.SemanticNetwork.Ask().IfIsValue(semanticNetwork.AreaType_Air); // assert Assert.AreEqual(answerRegular.Result, answerBuilder.Result); Assert.IsTrue(answerRegular.Explanation.Statements.SequenceEqual(answerBuilder.Explanation.Statements)); }
public void TestBuildingIfConceptBelongsToSubjectArea() { // arrange var language = Language.Default; var semanticNetwork = new TestSemanticNetwork(language); // act var questionRegular = new IsSubjectAreaQuestion(semanticNetwork.Vehicle_Car, semanticNetwork.SubjectArea_Transport); var answerRegular = (BooleanAnswer)questionRegular.Ask(semanticNetwork.SemanticNetwork.Context); var answerBuilder = (BooleanAnswer)semanticNetwork.SemanticNetwork.Ask().IfConceptBelongsToSubjectArea(semanticNetwork.Vehicle_Car, semanticNetwork.SubjectArea_Transport); // assert Assert.AreEqual(answerRegular.Result, answerBuilder.Result); Assert.IsTrue(answerRegular.Explanation.Statements.SequenceEqual(answerBuilder.Explanation.Statements)); }
public void TestBuildingWhatIsSignValue() { // arrange var language = Language.Default; var semanticNetwork = new TestSemanticNetwork(language); // act var questionRegular = new SignValueQuestion(semanticNetwork.Vehicle_Car, semanticNetwork.Sign_MotorType); var answerRegular = (ConceptAnswer)questionRegular.Ask(semanticNetwork.SemanticNetwork.Context); var answerBuilder = (ConceptAnswer)semanticNetwork.SemanticNetwork.Ask().WhatIsSignValue(semanticNetwork.Vehicle_Car, semanticNetwork.Sign_MotorType); // assert Assert.AreSame(answerRegular.Result, answerBuilder.Result); Assert.IsTrue(answerRegular.Explanation.Statements.SequenceEqual(answerBuilder.Explanation.Statements)); }