Пример #1
0
    def test_json_loads_step(self, context):
        step_cost: int = _calc_step_cost(ScoreApiStepRatio.JSON_LOADS)

        for i in range(1, 100):
            obj = {}
            for j in range(i):
                obj[f'key{j}'] = f'value{j}'
            text: str = json_dumps(obj)
            context.set_step_counter(STEP_LIMIT)

            obj2: dict = json_loads(text)
            assert obj2 == obj

            expected_step: int = step_cost + step_cost * len(
                text.encode('utf-8')) // 100
            step_used: int = context.step_counter.step_used
            assert step_used == expected_step
Пример #2
0
    def test_json_loads_step(self):
        step_cost: int = self._calc_step_cost(ScoreApiStepRatio.JSON_LOADS)

        for i in range(1, 100):
            obj = {}

            for j in range(i):
                obj[f'key{j}'] = f'value{j}'

            text: str = json_dumps(obj)

            self.context.step_counter.reset(self.step_limit)

            obj2: dict = json_loads(text)
            self.assertEqual(obj, obj2)

            expected_step: int = step_cost + step_cost * len(text.encode('utf-8')) // 100
            step_used: int = self.context.step_counter.step_used
            self.assertEqual(expected_step, step_used)