Esempio n. 1
0
 def test_combine_with_hint_defers(self, mock_combine: MagicMock) -> None:
     mock_combine.return_value = False
     m = FakeModel()
     h = bde.ColumnsStreamedEvent("doc", m, dict(foo=1), 200, "setter",
                                  "invoker")
     h2 = bde.ColumnsStreamedEvent("doc", m, dict(foo=2), 300, "setter",
                                   "invoker")
     e = bde.ModelChangedEvent("doc",
                               "model",
                               "attr",
                               "old",
                               "new",
                               "snew",
                               hint=h,
                               callback_invoker="invoker")
     e2 = bde.ModelChangedEvent("doc",
                                "model",
                                "attr",
                                "old2",
                                "new2",
                                "snew2",
                                hint=h2,
                                callback_invoker="invoker2")
     assert e.combine(e2) == False
     assert mock_combine.call_count == 1
     assert mock_combine.call_args[0] == (h2, )
     assert mock_combine.call_args[1] == {}
Esempio n. 2
0
 def test_combine_ignores_all(self):
     m = FakeModel()
     e = bde.ColumnsStreamedEvent("doc", m, dict(foo=1), 200, "setter", "invoker")
     e2 = bde.ColumnsStreamedEvent("doc", m, dict(foo=2), 300, "setter", "invoker")
     assert e.combine(e2) == False
     assert e.column_source is m
     assert e.data == dict(foo=1)
     assert e.rollover == 200
Esempio n. 3
0
 def test_combine_ignores_all(self) -> None:
     doc = Document()
     m = SomeModel()
     e = bde.ColumnsStreamedEvent(doc, m, "data", dict(foo=1), 200,
                                  "setter", "invoker")
     e2 = bde.ColumnsStreamedEvent(doc, m, "data", dict(foo=2), 300,
                                   "setter", "invoker")
     assert e.combine(e2) == False
     assert e.model is m
     assert e.attr == "data"
     assert e.data == dict(foo=1)
     assert e.rollover == 200
Esempio n. 4
0
 def test_combine_with_defers(self, mock_combine: MagicMock) -> None:
     mock_combine.return_value = False
     doc = Document()
     m = SomeModel()
     e = bde.ColumnsStreamedEvent(doc, m, "data", dict(foo=1), 200,
                                  "setter", "invoker")
     e2 = bde.ColumnsStreamedEvent(doc, m, "data", dict(foo=2), 300,
                                   "setter", "invoker")
     assert e.combine(e2) == False
     assert mock_combine.call_count == 1
     assert mock_combine.call_args[0] == (e2, )
     assert mock_combine.call_args[1] == {}
Esempio n. 5
0
 def test_dispatch(self):
     m = FakeModel()
     e = bde.ColumnsStreamedEvent("doc", m, dict(foo=1), 200, "setter", "invoker")
     e.dispatch(FakeEmptyDispatcher())
     d = FakeFullDispatcher()
     e.dispatch(d)
     assert d.called == ['_document_changed', '_document_patched', '_columns_streamed']
Esempio n. 6
0
 def test_pandas_data(self, pd) -> None:
     doc = Document()
     m = SomeModel()
     df = pd.DataFrame({'x': [1, 2, 3], 'y': [4, 5, 6]})
     e = bde.ColumnsStreamedEvent(doc, m, "data", df, 200, "setter",
                                  "invoker")
     assert isinstance(e.data, dict)
     assert e.data == {c: df[c] for c in df.columns}
Esempio n. 7
0
 def test_generate(self):
     m = FakeModel()
     e = bde.ColumnsStreamedEvent("doc", m, dict(foo=1), 200, "setter", "invoker")
     refs = dict(foo=10)
     bufs = set()
     r = e.generate(refs, bufs)
     assert r == dict(kind="ColumnsStreamed", column_source="ref", data=dict(foo=1), rollover=200)
     assert refs == dict(foo=10)
     assert bufs == set()
Esempio n. 8
0
 def test_init(self):
     m = FakeModel()
     e = bde.ColumnsStreamedEvent("doc", m, dict(foo=1), 200, "setter", "invoker")
     assert e.document == "doc"
     assert e.column_source == m
     assert e.data == dict(foo=1)
     assert e.rollover == 200
     assert e.setter == "setter"
     assert e.callback_invoker == "invoker"
Esempio n. 9
0
 def test_dispatch(self) -> None:
     doc = Document()
     m = SomeModel()
     e = bde.ColumnsStreamedEvent(doc, m, "data", dict(foo=1), 200,
                                  "setter", "invoker")
     e.dispatch(FakeEmptyDispatcher())
     d = FakeFullDispatcher()
     e.dispatch(d)
     assert d.called == [
         '_document_changed', '_document_patched', '_columns_streamed'
     ]
Esempio n. 10
0
 def test_init(self) -> None:
     doc = Document()
     m = SomeModel()
     e = bde.ColumnsStreamedEvent(doc, m, "data", dict(foo=1), 200,
                                  "setter", "invoker")
     assert e.document == doc
     assert e.model == m
     assert e.attr == "data"
     assert e.data == dict(foo=1)
     assert e.rollover == 200
     assert e.setter == "setter"
     assert e.callback_invoker == "invoker"
Esempio n. 11
0
 def test_to_serializable(self) -> None:
     doc = Document()
     m = SomeModel()
     e = bde.ColumnsStreamedEvent(doc, m, "data", dict(foo=1), 200,
                                  "setter", "invoker")
     s = Serializer()
     r = s.encode(e)
     assert r == dict(kind=e.kind,
                      model=m.ref,
                      attr="data",
                      data=MapRep(type="map", entries=[("foo", 1)]),
                      rollover=200)
     assert s.buffers == []
Esempio n. 12
0
 def test_pandas_data(self, pd):
     m = FakeModel()
     df = pd.DataFrame({'x': [1, 2, 3], 'y': [4, 5, 6]})
     e = bde.ColumnsStreamedEvent("doc", m, df, 200, "setter", "invoker")
     assert isinstance(e.data, dict)
     assert e.data == {c: df[c] for c in df.columns}