diff options
author | Vincent Rouvreau <10407034+VincentRouvreau@users.noreply.github.com> | 2021-11-02 17:04:48 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-11-02 17:04:48 +0100 |
commit | c9fdd10a487a91601737bef94a1665d7131fd517 (patch) | |
tree | 335951b87f8edd36b7eb45cbadc02efc2a6ca707 /src/python/test | |
parent | 58c09b0547749604260ea2584b4d2a3a9ea9735b (diff) | |
parent | 16044d44e2784508594c4dcb5aa6a0dd52d2c11f (diff) |
Merge pull request #525 from Hind-M/knn_dtm_overflow
Warn about overflow/nan in knn
Diffstat (limited to 'src/python/test')
-rwxr-xr-x | src/python/test/test_dtm.py | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/src/python/test/test_dtm.py b/src/python/test/test_dtm.py index 0a52279e..c29471cf 100755 --- a/src/python/test/test_dtm.py +++ b/src/python/test/test_dtm.py @@ -13,6 +13,7 @@ import numpy import pytest import torch import math +import warnings def test_dtm_compare_euclidean(): @@ -87,3 +88,16 @@ def test_density(): assert density == pytest.approx(expected) density = DTMDensity(weights=[0.5, 0.5], metric="neighbors", dim=1).fit_transform(distances) assert density == pytest.approx(expected) + +def test_dtm_overflow_warnings(): + pts = numpy.array([[10., 100000000000000000000000000000.], [1000., 100000000000000000000000000.]]) + impl_warn = ["keops", "hnsw"] + + with warnings.catch_warnings(record=True) as w: + for impl in impl_warn: + dtm = DistanceToMeasure(2, q=10000, implementation=impl) + r = dtm.fit_transform(pts) + assert len(w) == 2 + for i in range(len(w)): + assert issubclass(w[i].category, RuntimeWarning) + assert "Overflow" in str(w[i].message) |