def test_visitor(code, expected): visitor = HalsteadVisitor.from_code(dedent(code)) assert expected == ( visitor.operators, visitor.operands, visitor.distinct_operators, visitor.distinct_operands, )
def test_HalsteadVisitor(self): visitor = HalsteadVisitor.from_code(self.code) result = visitor.operators, visitor.operands, \ visitor.distinct_operators, visitor.distinct_operands self.assertEqual(result, self.expected_result)
input_list = [int(input()) for el in range(n)] print() if n <= 7 or n > 10000: print("Ошибка ввода числа измерений. Ожидается 7 < N < 10000.") sys.exit() max_s = -sys.maxsize for i in range(n - 7): for j in range(n - 7 - i): current_s = input_list[i] + input_list[i + j + 7] if current_s > max_s: max_s = current_s print(max_s) ''' visitor = HalsteadVisitor.from_code(my_code) print("Уникальные операторы: " + str(visitor.operators_seen)) print("Уникальные операнды: " + str(visitor.operands_seen)) n1, n2 = visitor.distinct_operators, visitor.distinct_operands N1, N2 = visitor.operators, visitor.operands n = n1 + n2 N = N1 + N2 if n1 and n2: length = n1 * math.log(n1, 2) + n2 * math.log(n2, 2) else: length = 0 volume = N * math.log(n, 2) if n != 0 else 0 difficulty = (n1 * N2) / float(2 * n2) if n2 != 0 else 0 effort = difficulty * volume
def test_visitor(code, expected): visitor = HalsteadVisitor.from_code(dedent(code)) assert expected == (visitor.operators, visitor.operands, visitor.distinct_operators, visitor.distinct_operands)
def testHalsteadVisitor(self): visitor = HalsteadVisitor.from_code(self.code) result = visitor.operators, visitor.operands, \ visitor.distinct_operators, visitor.distinct_operands self.assertEqual(result, self.expected_result)