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), )
def test_hash_neq(): variable = MagicMock() assert hash(pte.PrimitiveTraceEntry(variable, False)) != hash( pte.PrimitiveTraceEntry(variable, True) )
def test_hash(): variable = MagicMock() assert hash(pte.PrimitiveTraceEntry(variable, True)) == hash( pte.PrimitiveTraceEntry(variable, True) )
def test_neq(): variable = MagicMock() assert pte.PrimitiveTraceEntry(variable, False) != pte.PrimitiveTraceEntry( variable, True )
def test_get_assertions(): variable = MagicMock() entry = pte.PrimitiveTraceEntry(variable, True) assertions = entry.get_assertions() assert assertions == {pas.PrimitiveAssertion(variable, True)}
def test_clone(): variable = MagicMock() entry = pte.PrimitiveTraceEntry(variable, True) cloned = entry.clone() assert cloned == pte.PrimitiveTraceEntry(variable, True)
def test_init(): variable = MagicMock() entry = pte.PrimitiveTraceEntry(variable, True) assert entry._variable == variable assert entry._value