Skip to content

Commit

Permalink
Move factories tests to own file
Browse files Browse the repository at this point in the history
  • Loading branch information
leo-mazzone committed Jan 2, 2025
1 parent 4cb3834 commit 0e806fe
Show file tree
Hide file tree
Showing 2 changed files with 49 additions and 40 deletions.
48 changes: 48 additions & 0 deletions test/common/test_factories.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
from typing import Any

import pyarrow.compute as pc
import pytest

from matchbox.common.factories import generate_dummy_probabilities, verify_components


@pytest.mark.parametrize(
("parameters"),
[
{
"left_range": (0, 1_000),
"right_range": (1_000, 2_000),
"prob_range": (0.6, 0.8),
"num_components": 10,
"total_rows": 100_000,
},
],
ids=["simple"],
)
def test_probabilities_factory(parameters: dict[str, Any]):
left_values = range(*parameters["left_range"])
right_values = range(*parameters["right_range"])

probabilities = generate_dummy_probabilities(
left_values=left_values,
right_values=right_values,
prob_range=parameters["prob_range"],
num_components=parameters["num_components"],
total_rows=parameters["total_rows"],
)
report = verify_components(table=probabilities)

assert report["num_components"] == parameters["num_components"]
assert set(pc.unique(probabilities["left"]).to_pylist()) == set(left_values)
assert set(pc.unique(probabilities["right"]).to_pylist()) == set(right_values)
assert (
pc.max(probabilities["probability"]).as_py() / 100
<= parameters["prob_range"][1]
)
assert (
pc.min(probabilities["probability"]).as_py() / 100
>= parameters["prob_range"][0]
)


def test_dummy_probs_min_edges_dedupe(): ...
41 changes: 1 addition & 40 deletions test/common/test_transform.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
import pyarrow.compute as pc
import pytest

from matchbox.common.factories import generate_dummy_probabilities, verify_components
from matchbox.common.factories import generate_dummy_probabilities
from matchbox.common.hash import IntMap
from matchbox.common.transform import (
attach_components_to_probabilities,
Expand Down Expand Up @@ -56,45 +56,6 @@ def parallel_pool_for_tests(
executor.shutdown(wait=False, cancel_futures=True)


@pytest.mark.parametrize(
("parameters"),
[
{
"left_range": (0, 1_000),
"right_range": (1_000, 2_000),
"prob_range": (0.6, 0.8),
"num_components": 10,
"total_rows": 100_000,
},
],
ids=["simple"],
)
def test_probabilities_factory(parameters: dict[str, Any]):
left_values = range(*parameters["left_range"])
right_values = range(*parameters["right_range"])

probabilities = generate_dummy_probabilities(
left_values=left_values,
right_values=right_values,
prob_range=parameters["prob_range"],
num_components=parameters["num_components"],
total_rows=parameters["total_rows"],
)
report = verify_components(table=probabilities)

assert report["num_components"] == parameters["num_components"]
assert set(pc.unique(probabilities["left"]).to_pylist()) == set(left_values)
assert set(pc.unique(probabilities["right"]).to_pylist()) == set(right_values)
assert (
pc.max(probabilities["probability"]).as_py() / 100
<= parameters["prob_range"][1]
)
assert (
pc.min(probabilities["probability"]).as_py() / 100
>= parameters["prob_range"][0]
)


@pytest.mark.parametrize(
("parameters"),
[
Expand Down

0 comments on commit 0e806fe

Please sign in to comment.