public void Handle_WrongStatementType_ThrowsException() { MockRepository mocks = new MockRepository(); IBlacklistManager blacklistManager = mocks.Stub <IBlacklistManager>(); BlockParserContext blockParserContext = new BlockParserContext( new ProblemPipeStub(), Fragment.CreateNamed("returnFragmentType"), new List <ReturnCondition>(), blacklistManager, delegate { }); StatementHandlerBase <AssignmentStatement> handler = new AssignmentStatementHandlerController(blockParserContext); Method sampleMethod = IntrospectionUtility.MethodFactory <StatementHandlerBaseSample> ("ContainsReturnStatement"); Block sampleBlock = (Block)sampleMethod.Body.Statements[1]; Statement sample = sampleBlock.Statements[0]; ISymbolTable symbolTable = mocks.Stub <ISymbolTable>(); HandleContext context = new HandleContext( sample, symbolTable, new List <IPreCondition>(), new List <string>(), new List <BlockAssignment>(), new List <int>(), new Dictionary <string, bool>(), new Dictionary <string, bool>()); handler.Handle(context); }
public void Handle_WrongStatementType_ThrowsException() { MockRepository mocks = new MockRepository(); IBlacklistManager blacklistManager = mocks.Stub<IBlacklistManager>(); BlockParserContext blockParserContext = new BlockParserContext ( new ProblemPipeStub(), Fragment.CreateNamed ("returnFragmentType"), new List<ReturnCondition>(), blacklistManager, delegate { }); StatementHandlerBase<AssignmentStatement> handler = new AssignmentStatementHandlerController (blockParserContext); Method sampleMethod = IntrospectionUtility.MethodFactory<StatementHandlerBaseSample> ("ContainsReturnStatement"); Block sampleBlock = (Block) sampleMethod.Body.Statements[1]; Statement sample = sampleBlock.Statements[0]; ISymbolTable symbolTable = mocks.Stub<ISymbolTable>(); HandleContext context = new HandleContext ( sample, symbolTable, new List<IPreCondition>(), new List<string>(), new List<BlockAssignment>(), new List<int>(), new Dictionary<string, bool>(), new Dictionary<string, bool>()); handler.Handle (context); }
public Dictionary<Type, IStatementHandler> Build() { Dictionary<Type, IStatementHandler> statementHandlers = new Dictionary<Type, IStatementHandler>(); ReturnStatementHandler returnStatementHandler = new ReturnStatementHandler (_blockParserContext); AssignmentStatementHandlerController assignmentStatementHandler = new AssignmentStatementHandlerController (_blockParserContext); ExpressionStatementHandler expressionStatementHandler = new ExpressionStatementHandler (_blockParserContext); BranchStatementHandler branchStatementHandler = new BranchStatementHandler (_blockParserContext); SwitchStatementHandler switchStatementHandler = new SwitchStatementHandler (_blockParserContext); statementHandlers[returnStatementHandler.HandledStatementType] = returnStatementHandler; statementHandlers[assignmentStatementHandler.HandledStatementType] = assignmentStatementHandler; statementHandlers[expressionStatementHandler.HandledStatementType] = expressionStatementHandler; statementHandlers[branchStatementHandler.HandledStatementType] = branchStatementHandler; statementHandlers[switchStatementHandler.HandledStatementType] = switchStatementHandler; return statementHandlers; }
public Dictionary <Type, IStatementHandler> Build() { Dictionary <Type, IStatementHandler> statementHandlers = new Dictionary <Type, IStatementHandler>(); ReturnStatementHandler returnStatementHandler = new ReturnStatementHandler(_blockParserContext); AssignmentStatementHandlerController assignmentStatementHandler = new AssignmentStatementHandlerController(_blockParserContext); ExpressionStatementHandler expressionStatementHandler = new ExpressionStatementHandler(_blockParserContext); BranchStatementHandler branchStatementHandler = new BranchStatementHandler(_blockParserContext); SwitchStatementHandler switchStatementHandler = new SwitchStatementHandler(_blockParserContext); statementHandlers[returnStatementHandler.HandledStatementType] = returnStatementHandler; statementHandlers[assignmentStatementHandler.HandledStatementType] = assignmentStatementHandler; statementHandlers[expressionStatementHandler.HandledStatementType] = expressionStatementHandler; statementHandlers[branchStatementHandler.HandledStatementType] = branchStatementHandler; statementHandlers[switchStatementHandler.HandledStatementType] = switchStatementHandler; return(statementHandlers); }