Example #1
0
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
Example #4
0
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
Example #7
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
Example #8
0
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
Example #11
0
 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
Example #13
0
    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 {}
Example #14
0
    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
Example #24
0
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