Exemple #1
0
def test_handle_primitive():
    exec_ctx = MagicMock()
    exec_ctx.get_variable_value.return_value = 5
    variable = MagicMock()
    trace = MagicMock()
    visitor = pao.PrimitiveAssertionVisitor(exec_ctx, variable, trace)
    statement = MagicMock()
    statement.get_position.return_value = 42
    visitor.handle(statement)
    trace.add_entry.assert_called_with(42, variable,
                                       pte.PrimitiveTraceEntry(variable, 5))
    def handle(self, statement: st.Statement) -> None:
        """Actually handle the statement.

        Args:
            statement: the statement that is visited.
        """
        value = self._exec_ctx.get_variable_value(self._variable)
        if value is None:
            return

        if is_primitive_type(type(value)):
            self._trace.add_entry(
                statement.get_position(),
                self._variable,
                pte.PrimitiveTraceEntry(self._variable, value),
            )
Exemple #3
0
def test_hash_neq():
    variable = MagicMock()
    assert hash(pte.PrimitiveTraceEntry(variable, False)) != hash(
        pte.PrimitiveTraceEntry(variable, True)
    )
Exemple #4
0
def test_hash():
    variable = MagicMock()
    assert hash(pte.PrimitiveTraceEntry(variable, True)) == hash(
        pte.PrimitiveTraceEntry(variable, True)
    )
Exemple #5
0
def test_neq():
    variable = MagicMock()
    assert pte.PrimitiveTraceEntry(variable, False) != pte.PrimitiveTraceEntry(
        variable, True
    )
Exemple #6
0
def test_get_assertions():
    variable = MagicMock()
    entry = pte.PrimitiveTraceEntry(variable, True)
    assertions = entry.get_assertions()
    assert assertions == {pas.PrimitiveAssertion(variable, True)}
Exemple #7
0
def test_clone():
    variable = MagicMock()
    entry = pte.PrimitiveTraceEntry(variable, True)
    cloned = entry.clone()
    assert cloned == pte.PrimitiveTraceEntry(variable, True)
Exemple #8
0
def test_init():
    variable = MagicMock()
    entry = pte.PrimitiveTraceEntry(variable, True)
    assert entry._variable == variable
    assert entry._value