public void VisitBlockStatement_TypeofConstantsIncluded() { //-- arrange var block = new BlockStatement( new ReturnStatement { Expression = new ConstantExpression { Value = typeof(IDisposable) } }, new ReturnStatement { Expression = new ConstantExpression { Value = (TypeMember)typeof(IFormattable) } } ); var foundTypes = new HashSet <TypeMember>(); var visitor = new TypeReferenceStatementVisitor(foundTypes); //-- act block.AcceptVisitor(visitor); //-- assert foundTypes.Should().BeEquivalentTo(new TypeMember[] { typeof(IDisposable), typeof(IFormattable) }); }
public void VisitBlockStatement_LocalVariableTypesIncluded() { //-- arrange var block = new BlockStatement( new VariableDeclarationStatement { Variable = new LocalVariable { Name = "x", Type = typeof(IDisposable) } } ); var foundTypes = new HashSet <TypeMember>(); var visitor = new TypeReferenceStatementVisitor(foundTypes); //-- act block.AcceptVisitor(visitor); //-- assert foundTypes.Should().BeEquivalentTo(new TypeMember[] { typeof(IDisposable) }); }