Sha256: 82badb03e2aae04150dbc87ee2af4e2b964674c719a5c435812d5fc7541c400b

Contents?: true

Size: 759 Bytes

Versions: 4

Compression:

Stored size: 759 Bytes

Contents

import inkcpp_py as ink
import pytest

class Observer:
    def __init__(self):
        self.cnt = 0
    def __call__(self, new, old):
        self.cnt += 1
        if self.cnt == 1:
            assert new.type == ink.Value.Int32 and str(new) == '1'
            assert old is None
        else:
            assert new.type == ink.Value.Int32 and str(new) == '5'
            assert old.type == ink.Value.Int32 and str(old) == '1'
            

class TestObserver:
    def test_observer(self, assets, generate):
        [story, store, runner] = generate(assets['ObserverStory'])

        obs = Observer()
        store.observe('var1', obs)

        assert runner.getline() == "hello line 1 1 hello line 2 5 test line 3 5\n"
        assert obs.cnt == 2

        

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
inkcpp_rb-0.1.3 ext/inkcpp_rb/inkcpp/inkcpp_py/tests/test_Observer.py
inkcpp_rb-0.1.2 ext/inkcpp_rb/inkcpp/inkcpp_py/tests/test_Observer.py
inkcpp_rb-0.1.1 ext/inkcpp_rb/inkcpp/inkcpp_py/tests/test_Observer.py
inkcpp_rb-0.1.0 ext/inkcpp_rb/inkcpp/inkcpp_py/tests/test_Observer.py