toaster / tests /test_grouping.py
SmaugC137's picture
Deploy Toaster demo to HF Space
16760fa
Raw
History Blame Contribute Delete
785 Bytes
from __future__ import annotations
import numpy as np
from toaster.core import Grouping
def test_groups_exclude_noise():
g = Grouping(np.array([0, 0, 1, 1, 1, -1], np.int32))
assert g.n_groups == 2
assert g.group_ids().tolist() == [0, 1]
assert g.n == 6
def test_indices_of_and_group_of():
g = Grouping(np.array([2, 0, 2, -1, 0], np.int32))
assert g.indices_of(2).tolist() == [0, 2]
assert g.indices_of(0).tolist() == [1, 4]
assert g.group_of(3) == -1
# Unknown group id -> empty.
assert g.indices_of(99).tolist() == []
def test_metadata_defaults():
g = Grouping(np.array([0, 1], np.int32), source="dbscan", params={"eps": 0.5})
assert g.source == "dbscan"
assert g.params["eps"] == 0.5
assert g.suggested_labels is None