public void CreateFromAttributeData_ThrowsWhenTypeAndNameIsSpecified() { var attributeData = CompiledSourceFileProvider.CompileAttribute( "[ExpectedException (typeof(DivideByZeroException), ExpectedExceptionName = \"DivideByZeroException\")]"); Assert.That( () => ExpectedExceptionModel.CreateFromAttributeData(attributeData), Throws.Exception.With.InstanceOf <InvalidOperationException>()); }
public void ConvertToConstraint_ConvertsExpectedExceptionMessage() { var attributeData = CompiledSourceFileProvider.CompileAttribute("[ExpectedException(ExpectedMessage = \"Test Message\")]"); IExpectedExceptionModel expectedException = new ExpectedExceptionModel(attributeData, ParseExpression("Exception"), null, ParseExpression("\"Test Message\""), null); var constraint = expectedException.AsConstraintExpression(""); Assert.That(constraint, Is.EquivalentTo(ParseExpression("Throws.Exception.With.Message.EqualTo(\"Test Message\")"))); }
public void ConvertToConstraint_ConvertsForCustomWellKnownException() { var attributeData = CompiledSourceFileProvider.CompileAttribute("[ExpectedException(typeof(InvalidOperationException))]"); IExpectedExceptionModel expectedException = new ExpectedExceptionModel(attributeData, ParseExpression("typeof(InvalidOperationException)"), null, null, null); var constraint = expectedException.AsConstraintExpression(""); Assert.That(constraint, Is.EquivalentTo(ParseExpression("Throws.InvalidOperationException"))); }
public void ConvertToConstraint_ConvertsForSimpleExceptionCase() { var attributeData = CompiledSourceFileProvider.CompileAttribute("[ExpectedException]"); IExpectedExceptionModel expectedException = new ExpectedExceptionModel(attributeData, IdentifierName("Exception"), null, null, null); var constraint = expectedException.AsConstraintExpression(""); Assert.That(constraint, Is.EquivalentTo(ParseExpression("Throws.Exception"))); }
public void CreateFromAttributeData_ExceptionNameIsSetCorrectly(string attribute) { var attributeData = CompiledSourceFileProvider.CompileAttribute(attribute); var expectedExceptionModel = ExpectedExceptionModel.CreateFromAttributeData(attributeData); Assert.That( expectedExceptionModel.ExceptionType, Is.EquivalentTo(TypeOfExpression(IdentifierName("DivideByZeroException")))); }
public void CreateFromAttributeData_UsesUserMessage() { var attributeData = CompiledSourceFileProvider.CompileAttribute("[ExpectedException (UserMessage = \"test user message\")]"); var expectedExceptionModel = ExpectedExceptionModel.CreateFromAttributeData(attributeData); Assert.That(expectedExceptionModel, Is.Not.Null); Assert.That( expectedExceptionModel.UserMessage, Is.EquivalentTo(LiteralExpression(SyntaxKind.StringLiteralExpression, Literal("test user message")))); }
public void CreateFromAttributeData_UsesCustomExceptionType() { var attributeData = CompiledSourceFileProvider.CompileAttribute("[ExpectedException(typeof(DivideByZeroException))]"); var expectedExceptionModel = ExpectedExceptionModel.CreateFromAttributeData(attributeData); Assert.That(expectedExceptionModel, Is.Not.Null); Assert.That( expectedExceptionModel.ExceptionType, Is.EquivalentTo(TypeOfExpression(IdentifierName("DivideByZeroException")))); }
public void CreateFromAttributeData_UsesExpectedMessage(string attribute, string message, string matchType) { var attributeData = CompiledSourceFileProvider.CompileAttribute(attribute); var expectedExceptionModel = ExpectedExceptionModel.CreateFromAttributeData(attributeData); Assert.That(expectedExceptionModel, Is.Not.Null); Assert.That( expectedExceptionModel.ExpectedMessage, Is.EquivalentTo(LiteralExpression(SyntaxKind.StringLiteralExpression, Literal(message)))); Assert.That( expectedExceptionModel.MatchType, Is.EquivalentTo(MemberAccess(IdentifierName("MessageMatch"), matchType))); }
public async Task CreateFromAttributeData_NoArgsAttribute() { var attributeData = CompiledSourceFileProvider.CompileAttribute("[ExpectedException]"); var expectedExceptionModel = ExpectedExceptionModel.CreateFromAttributeData(attributeData); Assert.That(expectedExceptionModel, Is.Not.Null); Assert.That( expectedExceptionModel.ExceptionType, Is.EquivalentTo(TypeOfExpression(IdentifierName("Exception")))); Assert.That( await expectedExceptionModel.GetAttributeSyntax(), Is.SameAs(await attributeData.ApplicationSyntaxReference.GetSyntaxAsync())); Assert.That(expectedExceptionModel.ExpectedMessage, Is.Null); }
public void CreateFromAttributeData_UsesAllCustomFields(string attribute) { var attributeData = CompiledSourceFileProvider.CompileAttribute(attribute); var expectedExceptionModel = ExpectedExceptionModel.CreateFromAttributeData(attributeData); Assert.That(expectedExceptionModel, Is.Not.Null); Assert.That( expectedExceptionModel.ExceptionType, Is.EquivalentTo(TypeOfExpression(IdentifierName("DivideByZeroException")))); Assert.That( expectedExceptionModel.ExpectedMessage, Is.EquivalentTo(LiteralExpression(SyntaxKind.StringLiteralExpression, Literal("test message")))); Assert.That( expectedExceptionModel.MatchType, Is.EquivalentTo(MemberAccess(IdentifierName("MessageMatch"), "Contains"))); Assert.That( expectedExceptionModel.UserMessage, Is.EquivalentTo(LiteralExpression(SyntaxKind.StringLiteralExpression, Literal("test user message")))); }