提交 87c546f3 编写于 作者: M Manish Vasani

Update tests

上级 4c7d7c59
......@@ -187,6 +187,7 @@ public void TestGetFlowGraphInvalidArgumentWithNullSemanticModel()
private void TestGetFlowGraphInvalidArgumentCore(string argumentExceptionMessage, IOperation parent)
{
bool exceptionThrown = false;
try
{
IBlockOperation block = new BlockStatement(
......@@ -198,8 +199,12 @@ private void TestGetFlowGraphInvalidArgumentCore(string argumentExceptionMessage
catch (ArgumentException ex)
{
Assert.Equal(new ArgumentException(argumentExceptionMessage, "body").Message, ex.Message);
exceptionThrown = true;
}
Assert.True(exceptionThrown);
exceptionThrown = false;
try
{
IFieldInitializerOperation initializer = new FieldInitializer(
......@@ -212,8 +217,12 @@ private void TestGetFlowGraphInvalidArgumentCore(string argumentExceptionMessage
catch (ArgumentException ex)
{
Assert.Equal(new ArgumentException(argumentExceptionMessage, "initializer").Message, ex.Message);
exceptionThrown = true;
}
Assert.True(exceptionThrown);
exceptionThrown = false;
try
{
IPropertyInitializerOperation initializer = new PropertyInitializer(
......@@ -226,8 +235,12 @@ private void TestGetFlowGraphInvalidArgumentCore(string argumentExceptionMessage
catch (ArgumentException ex)
{
Assert.Equal(new ArgumentException(argumentExceptionMessage, "initializer").Message, ex.Message);
exceptionThrown = true;
}
Assert.True(exceptionThrown);
exceptionThrown = false;
try
{
IParameterInitializerOperation initializer = new ParameterInitializer(
......@@ -240,8 +253,12 @@ private void TestGetFlowGraphInvalidArgumentCore(string argumentExceptionMessage
catch (ArgumentException ex)
{
Assert.Equal(new ArgumentException(argumentExceptionMessage, "initializer").Message, ex.Message);
exceptionThrown = true;
}
Assert.True(exceptionThrown);
exceptionThrown = false;
try
{
IConstructorBodyOperation constructorBody = new ConstructorBodyOperation(
......@@ -256,8 +273,12 @@ private void TestGetFlowGraphInvalidArgumentCore(string argumentExceptionMessage
catch (ArgumentException ex)
{
Assert.Equal(new ArgumentException(argumentExceptionMessage, "constructorBody").Message, ex.Message);
exceptionThrown = true;
}
Assert.True(exceptionThrown);
exceptionThrown = false;
try
{
IMethodBodyOperation methodBody = new MethodBodyOperation(
......@@ -270,7 +291,11 @@ private void TestGetFlowGraphInvalidArgumentCore(string argumentExceptionMessage
catch (ArgumentException ex)
{
Assert.Equal(new ArgumentException(argumentExceptionMessage, "methodBody").Message, ex.Message);
exceptionThrown = true;
}
Assert.True(exceptionThrown);
exceptionThrown = false;
}
[CompilerTrait(CompilerFeature.IOperation, CompilerFeature.Dataflow)]
......@@ -293,6 +318,7 @@ void M(int x)
var methodBodySyntax = tree.GetCompilationUnitRoot().DescendantNodes().OfType<BaseMethodDeclarationSyntax>().Last();
// Verify ArgumentNullException
bool exceptionThrown = false;
try
{
_ = ControlFlowGraph.Create(node: null, model);
......@@ -300,8 +326,12 @@ void M(int x)
catch (ArgumentNullException ex)
{
Assert.Equal(ex.Message, new ArgumentNullException("node").Message);
exceptionThrown = true;
}
Assert.True(exceptionThrown);
exceptionThrown = false;
try
{
_ = ControlFlowGraph.Create(methodBodySyntax, semanticModel: null);
......@@ -309,8 +339,12 @@ void M(int x)
catch (ArgumentNullException ex)
{
Assert.Equal(ex.Message, new ArgumentNullException("semanticModel").Message);
exceptionThrown = true;
}
Assert.True(exceptionThrown);
exceptionThrown = false;
// Verify argument exception on providing a syntax node in executable code which does not produce root operation.
try
{
......@@ -320,8 +354,12 @@ void M(int x)
catch (ArgumentException ex)
{
Assert.Equal(ex.Message, new ArgumentException(CodeAnalysisResources.NotARootOperation, "operation").Message);
exceptionThrown = true;
}
Assert.True(exceptionThrown);
exceptionThrown = false;
// Verify null return for non-executable code syntax node, which does not produce an operation.
var classDecl = tree.GetRoot().DescendantNodes().OfType<ClassDeclarationSyntax>().Single();
Assert.Null(ControlFlowGraph.Create(classDecl, model));
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册