def setUp(self):
        db = Mock(spec=IconScoreDatabase)
        db.address = create_address(AddressPrefix.CONTRACT)
        context = IconScoreContext()
        context.icon_score_deploy_engine = Mock()
        traces = Mock(spec=list)

        context.tx = Mock(spec=Transaction)
        context.block = Mock(spec=Block)
        context.cumulative_step_used = Mock(spec=int)
        context.cumulative_step_used.attach_mock(Mock(), '__add__')
        context.step_counter = Mock(spec=IconScoreStepCounter)
        context.event_logs = []
        context.traces = traces
        context.tx_batch = TransactionBatch()

        ContextContainer._push_context(context)

        InternalCall._other_score_call = Mock()
        IconScoreContext.icx_engine = Mock(spec=IcxEngine)
        IconScoreContext.icon_score_deploy_engine = Mock(
            spec=IconScoreDeployEngine)

        context.icon_score_mapper = Mock()
        context.icon_score_mapper.get_icon_score = Mock(
            return_value=TestScore(db))
        self._score = TestScore(db)
def context(score_db):
    context = IconScoreContext()
    context.icon_score_deploy_engine = Mock()
    traces = Mock(spec=list)

    context.tx = Mock(spec=Transaction)
    context.block = Mock(spec=Block)
    context.cumulative_step_used = Mock(spec=int)
    context.cumulative_step_used.attach_mock(Mock(), '__add__')
    context.step_counter = Mock(spec=IconScoreStepCounter)
    context.event_logs = []
    context.traces = traces
    context.tx_batch = TransactionBatch()
    IconScoreContext.engine = ContextEngine(icx=Mock(spec=IcxEngine),
                                            deploy=Mock(spec=DeployEngine))
    IconScoreContext.storage = ContextStorage(deploy=Mock(spec=DeployStorage))
    context.icon_score_mapper = Mock()
    return context