def test_constructor_param_count_of_type(test_case_mock, constructor_mock): const = ps.ConstructorStatement( test_case_mock, constructor_mock, { "test0": vri.VariableReferenceImpl(test_case_mock, float), "test1": vri.VariableReferenceImpl(test_case_mock, int), }, ) assert const._param_count_of_type(float) == 1
def test_constructor_replace_argument(test_case_mock, constructor_mock): var0 = vri.VariableReferenceImpl(test_case_mock, float) var1 = vri.VariableReferenceImpl(test_case_mock, float) var2 = vri.VariableReferenceImpl(test_case_mock, float) var3 = vri.VariableReferenceImpl(test_case_mock, float) const = ps.ConstructorStatement(test_case_mock, constructor_mock, [var0], {"test0": var2}) const._replace_argument(0, var1) assert const.args[0] is var1 const._replace_argument("test0", var3) assert const.kwargs["test0"] is var3
def test_constructor_get_argument(test_case_mock, constructor_mock): var0 = vri.VariableReferenceImpl(test_case_mock, float) var1 = vri.VariableReferenceImpl(test_case_mock, float) var2 = vri.VariableReferenceImpl(test_case_mock, float) var3 = vri.VariableReferenceImpl(test_case_mock, float) const = ps.ConstructorStatement(test_case_mock, constructor_mock, [var0, var1], { "test0": var2, "test1": var3 }) assert const._get_argument(0) is var0 assert const._get_argument("test0") is var2
def test_get_objects(default_test_case): stmt_1 = MagicMock(st.Statement) vri_1 = vri.VariableReferenceImpl(default_test_case, int) stmt_1.return_value = vri_1 stmt_2 = MagicMock(st.Statement) vri_2 = vri.VariableReferenceImpl(default_test_case, float) stmt_2.return_value = vri_2 stmt_3 = MagicMock(st.Statement) vri_3 = vri.VariableReferenceImpl(default_test_case, int) stmt_3.return_value = vri_3 default_test_case._statements = [stmt_1, stmt_2, stmt_3] result = default_test_case.get_objects(int, 2) assert result == [vri_1]
def test_clone(test_case_mock): orig_ref = vri.VariableReferenceImpl(test_case_mock, int) orig_statement = MagicMock(stmt.Statement) orig_statement.return_value = orig_ref test_case_mock.statements = [orig_statement] new_test_case = MagicMock(tc.TestCase) new_ref = vri.VariableReferenceImpl(new_test_case, int) new_statement = MagicMock(stmt.Statement) new_statement.return_value = new_ref new_test_case.get_statement.return_value = new_statement clone = orig_ref.clone(new_test_case) assert clone is new_ref
def test_get_position(test_case_mock): ref = vri.VariableReferenceImpl(test_case_mock, int) ref._test_case = test_case_mock statement = MagicMock(stmt.Statement) statement.return_value = ref test_case_mock.statements = [statement] assert ref.get_statement_position() == 0
def __init__( self, test_case: tc.TestCase, field: GenericField, source: vr.VariableReference, ): super().__init__( test_case, vri.VariableReferenceImpl(test_case, field.generated_type()) ) self._field = field self._source = source
def test__get_possible_calls_no_match(test_case_mock, function_mock): cluster = MagicMock(TestCluster) cluster.get_generators_for.return_value = {function_mock} assert ( tf.TestFactory(cluster)._get_possible_calls( float, [vri.VariableReferenceImpl(test_case_mock, int)] ) == [] )
def test_clone_with_offset(test_case_mock): orig_ref = vri.VariableReferenceImpl(test_case_mock, int) orig_statement = MagicMock(stmt.Statement) orig_statement.return_value = orig_ref test_case_mock.statements = [orig_statement] new_test_case = MagicMock(tc.TestCase) new_test_case.get_statement.return_value = MagicMock(stmt.Statement) orig_ref.clone(new_test_case, 5) new_test_case.get_statement.assert_called_once_with(5)
def test_primitive_statement_replace(field_mock): test_case = dtc.DefaultTestCase() ref = prim.IntPrimitiveStatement(test_case, 5) test_case.add_statement(ref) statement = fstmt.FieldStatement(test_case, field_mock, ref.return_value) test_case.add_statement(statement) new = vri.VariableReferenceImpl(test_case, int) statement.replace(ref.return_value, new) assert statement.source == new
def __init__( self, test_case: tc.TestCase, variable_type: Optional[Type], value: Optional[T] = None, ) -> None: super().__init__(test_case, vri.VariableReferenceImpl(test_case, variable_type)) self._value = value if value is None: self.randomize_value()
def __init__( self, test_case: tc.TestCase, type_: Optional[Type], elements: List[T], ): super().__init__( test_case, vri.VariableReferenceImpl(test_case, type_), ) self._elements = elements
def __init__( self, test_case: tc.TestCase, generic_callable: GenericCallableAccessibleObject, args: Optional[Dict[str, vr.VariableReference]] = None, ): """ Create a new statement with parameters. Args: test_case: the containing test case. generic_callable: the callable args: A map of parameter names to their values. """ super().__init__( test_case, vri.VariableReferenceImpl(test_case, generic_callable.generated_type()), ) self._generic_callable = generic_callable self._args = args if args else {}
def __init__( self, test_case: tc.TestCase, generic_callable: GenericCallableAccessibleObject, args: Optional[List[vr.VariableReference]] = None, kwargs: Optional[Dict[str, vr.VariableReference]] = None, ): """ Create a new statement with parameters. :param test_case: the containing test case. :param args: the positional parameters. :param kwargs: the keyword parameters. """ super().__init__( test_case, vri.VariableReferenceImpl(test_case, generic_callable.generated_type()), ) self._generic_callable = generic_callable self._args = args if args else [] self._kwargs = kwargs if kwargs else {}
def test_eq_other_type(test_case_mock): ref = vri.VariableReferenceImpl(test_case_mock, int) assert not ref.__eq__(test_case_mock)
def test_eq_same(test_case_mock): ref = vri.VariableReferenceImpl(test_case_mock, int) assert ref.__eq__(ref)
def test_hash(test_case_mock): ref = vri.VariableReferenceImpl(test_case_mock, int) assert ref.__hash__() != 0
def test_get_position_no_statements(test_case_mock): ref = vri.VariableReferenceImpl(test_case_mock, int) test_case_mock.statements = [] with pytest.raises(Exception): ref.get_statement_position()
def test_setters(test_case_mock): ref = vri.VariableReferenceImpl(test_case_mock, int) vt_new = float ref.variable_type = vt_new assert ref.variable_type == vt_new
def test_distance(test_case_mock): ref = vri.VariableReferenceImpl(test_case_mock, int) assert ref.distance == 0 ref.distance = 42 assert ref.distance == 42
def test_primitive_statement_replace(test_case_mock): statement = prim.IntPrimitiveStatement(test_case_mock, 0) new = vri.VariableReferenceImpl(test_case_mock, int) statement.replace(statement.return_value, new) assert statement.return_value == new
def test_is_primitive(test_case_mock, type_, result): ref = vri.VariableReferenceImpl(test_case_mock, type_) assert ref.is_primitive() == result
def test_is_type_unknown(test_case_mock, type_, result): ref = vri.VariableReferenceImpl(test_case_mock, type_) assert ref.is_type_unknown() == result
def test__dependencies_satisfied_satisfied(test_case_mock): objects = [ vri.VariableReferenceImpl(test_case_mock, int), vri.VariableReferenceImpl(test_case_mock, bool), ] assert tf.TestFactory._dependencies_satisfied({int, bool}, objects)
def test_getters(test_case_mock): ref = vri.VariableReferenceImpl(test_case_mock, int) assert ref.variable_type == int assert ref.test_case == test_case_mock