46 lines
2.9 KiB
Python
46 lines
2.9 KiB
Python
# ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
|
|
# ┃ ██████ ██████ ██████ █ █ █ █ █ █▄ ▀███ █ ┃
|
|
# ┃ ▄▄▄▄▄█ █▄▄▄▄▄ ▄▄▄▄▄█ ▀▀▀▀▀█▀▀▀▀▀ █ ▀▀▀▀▀█ ████████▌▐███ ███▄ ▀█ █ ▀▀▀▀▀ ┃
|
|
# ┃ █▀▀▀▀▀ █▀▀▀▀▀ █▀██▀▀ ▄▄▄▄▄ █ ▄▄▄▄▄█ ▄▄▄▄▄█ ████████▌▐███ █████▄ █ ▄▄▄▄▄ ┃
|
|
# ┃ █ ██████ █ ▀█▄ █ ██████ █ ███▌▐███ ███████▄ █ ┃
|
|
# ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫
|
|
# ┃ Copyright (c) 2017, the Perspective Authors. ┃
|
|
# ┃ ╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌ ┃
|
|
# ┃ This file is part of the Perspective library, distributed under the terms ┃
|
|
# ┃ of the [Apache License 2.0](https://www.apache.org/licenses/LICENSE-2.0). ┃
|
|
# ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
|
|
|
|
import perspective as psp
|
|
|
|
client = psp.Server().new_local_client()
|
|
Table = client.table
|
|
|
|
|
|
class TestTableInfer(object):
|
|
def test_table_limit_wraparound_does_not_respect_partial_none(self):
|
|
t = Table({"a": "float", "b": "float"}, limit=3)
|
|
t.update([{"a": 10}, {"b": 1}, {"a": 20}, {"a": None, "b": 2}])
|
|
d1 = t.view().to_json()
|
|
|
|
t2 = Table({"a": "float", "b": "float"}, limit=3)
|
|
t2.update([{"a": 10}, {"b": 1}, {"a": 20}, {"b": 2}])
|
|
d2 = t2.view().to_json()
|
|
|
|
assert d1[0] == d2[0]
|
|
assert d1[1:] == d2[1:]
|
|
|
|
def test_table_limit_wraparound_does_not_respect_partial(self):
|
|
t = Table({"a": "float", "b": "float"}, limit=3)
|
|
t.update([{"a": 10}, {"b": 1}, {"a": 20}, {"a": 10, "b": 2}])
|
|
d1 = t.view().to_columns()
|
|
|
|
t2 = Table({"a": "float", "b": "float"}, limit=3)
|
|
t2.update([{"a": 10}, {"b": 1}, {"a": 20}, {"b": 2}])
|
|
d2 = t2.view().to_columns()
|
|
|
|
assert d1 != d2
|
|
|
|
def test_table_limit_with_json(self):
|
|
t = Table({"a": [1, 2, 3]}, limit=1)
|
|
assert t.size() == 1
|