public void ReturnFoundStatementIfExists() { // arrange var language = Language.Default; var semanticNetwork = new SemanticNetwork(language); var statementToCheck = new TestStatement(1); var statementRight = new TestStatement(1); var statementWrong = new TestStatement(2); semanticNetwork.Statements.Add(statementRight); semanticNetwork.Statements.Add(statementWrong); // act var answerToCheck = semanticNetwork.Ask().IsTrueThat(statementToCheck); var answerRight = semanticNetwork.Ask().IsTrueThat(statementRight); // assert Assert.IsFalse(answerToCheck.IsEmpty); Assert.IsTrue(((BooleanAnswer)answerToCheck).Result); Assert.AreSame(statementRight, answerToCheck.Explanation.Statements.Single()); Assert.IsFalse(answerRight.IsEmpty); Assert.IsTrue(((BooleanAnswer)answerRight).Result); Assert.AreSame(statementRight, answerRight.Explanation.Statements.Single()); }
public void ReturnEmptyAnswerIfNoMathingStatementsFound() { // arrange var language = Language.Default; var semanticNetwork = new SemanticNetwork(language); var statementToCheck = new TestStatement(1); var statementWrong = new TestStatement(2); // act var answerNoStatements = semanticNetwork.Ask().IsTrueThat(statementToCheck); semanticNetwork.Statements.Add(statementWrong); var answerWrongStatement = semanticNetwork.Ask().IsTrueThat(statementToCheck); // assert var answer = (BooleanAnswer)answerNoStatements; Assert.IsFalse(answer.IsEmpty); Assert.IsFalse(answer.Result); Assert.AreEqual(0, answer.Explanation.Statements.Count); answer = (BooleanAnswer)answerWrongStatement; Assert.IsFalse(answer.IsEmpty); Assert.IsFalse(answer.Result); Assert.AreEqual(0, answer.Explanation.Statements.Count); }
public void CreateStatementWithoutHint() { // arrange && act var statement = new TestStatement(TestStatementId, new LocalizedStringVariable(), null); // assert Assert.IsNotNull(statement.Hint); }
public void CreateStatementWithoutId() { // arrange && act var statement = new TestStatement(null, new LocalizedStringVariable(), new LocalizedStringVariable()); // assert Assert.IsNotNullOrEmpty(statement.ID); }
public void CreateStatementWithAllPropertiesSet() { // arrange && act var statement = new TestStatement(TestStatementId, new LocalizedStringVariable(), new LocalizedStringVariable()); // assert Assert.AreEqual(TestStatementId, statement.ID); }
public override IAnswer Process(IQuestionProcessingContext context) { IStatement testStatement; context.SemanticNetwork.Statements.Add(testStatement = new TestStatement()); testStatement.Context = context; context.Scope.Add(testStatement); Assert.IsTrue(context.SemanticNetwork.Statements.Enumerate <TestStatement>(context).Any()); return(null); }
public void SerializeTest() { var statement = new TestStatement { Location = new LocationInfo(0, 0) }; var result = BinarySerializeUtil.Serialize(statement); Assert.NotNull(result.Location); Assert.Equal(statement.Location, result.Location); Assert.Null(result.Body); }
public async Task ExecutePrivileged() { var requirements = new RequirementCollection(); requirements.Require(ObjectName.Parse("sys.tab1"), SqlPrivileges.Insert); SqlStatement statement = new TestStatement { Requirements = requirements, Location = new LocationInfo(0, 0) }; statement = await statement.PrepareAsync(context); await statement.ExecuteAsync(context); }
public async Task ExecuteWithBadprivileges() { var requirements = new RequirementCollection(); requirements.Require(ObjectName.Parse("sys.tab1"), SqlPrivileges.Alter); SqlStatement statement = new TestStatement { Requirements = requirements, Location = new LocationInfo(0, 0) }; statement = await statement.PrepareAsync(context); await Assert.ThrowsAnyAsync <UnauthorizedAccessException>(() => statement.ExecuteAsync(context)); }