Commit 70597c46 authored by narugo1992's avatar narugo1992
Browse files

dev(narugo): more test cases

parent 705ab76a
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -166,7 +166,7 @@ def detection_similarity(detect1: List[BBoxWithScoreAndLabel], detect2: List[BBo
    if mode == 'max':
        return float(sims.max())
    elif mode == 'mean':
        return float(sims.mean())
        return float(sims.mean()) if sims.shape[0] > 0 else 1.0
    elif mode == 'raw':
        return sims.tolist()
    else:
+12 −0
Original line number Diff line number Diff line
@@ -47,6 +47,12 @@ class TestBBoxFunctions:
        with pytest.raises(ValueError, match="Unknown similarity mode for bboxes - 'invalid'"):
            bboxes_similarity(sample_bboxes, sample_bboxes, mode='invalid')

    def test_bboxes_similarity_empty(self, sample_bboxes):
        assert bboxes_similarity([], [], mode='raw') == []
        assert bboxes_similarity([], [], mode='mean') == 1.0
        assert bboxes_similarity([], sample_bboxes, mode='raw') == pytest.approx([0.0, 0.0, 0.0])
        assert bboxes_similarity([], sample_bboxes, mode='mean') == pytest.approx(0.0)

    def test_bboxes_similarity_unequal_length(self, sample_bboxes):
        assert bboxes_similarity(sample_bboxes, sample_bboxes[:-1]) == pytest.approx(2 / 3)

@@ -84,6 +90,12 @@ class TestBBoxFunctions:
        assert isinstance(result, list)
        assert result == pytest.approx([1.0, 1.0, 1.0])

    def test_detection_similarity_empty(self, sample_detections):
        assert detection_similarity([], [], mode='raw') == []
        assert detection_similarity([], [], mode='mean') == 1.0
        assert detection_similarity([], sample_detections, mode='raw') == pytest.approx([0.0, 0.0, 0.0])
        assert detection_similarity([], sample_detections, mode='mean') == pytest.approx(0.0)

    def test_detection_similarity_invalid_mode(self, sample_detections):
        with pytest.raises(ValueError, match="Unknown similarity mode for bboxes - 'invalid'"):
            detection_similarity(sample_detections, sample_detections, mode='invalid')