File: test_plot.py

package info (click to toggle)
umap-learn 0.4.5%2Bdfsg-2
  • links: PTS, VCS
  • area: main
  • in suites: bullseye
  • size: 1,668 kB
  • sloc: python: 7,504; sh: 77; makefile: 17
file content (54 lines) | stat: -rw-r--r-- 1,605 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
import numpy as np
import pytest
import umap
from unittest import mock

np.random.seed(42)


@pytest.fixture(scope="session")
def mapper(iris):
    return umap.UMAP(n_epochs=100).fit(iris.data)


def test_umap_plot_dependency():
    with mock.patch.dict("sys.modules", pandas=mock.MagicMock()):
        try:
            from umap import plot
        except ImportError:
            assert True
        else:
            assert False, "Exception not raised for missing dependency"


# Check that the environment is actually setup for testability
# i.e. all the extra packages have been installed
@pytest.mark.xfail(run=False)
def test_umap_plot_testability():
    try:
        from umap import plot

        assert True
    except ImportError:
        assert False, "Missing dependencies - unable to test!"


# These tests requires revision: Refactoring is
# needed as there is no assertion nor
# property verification.
@pytest.mark.xfail(run=False)
def test_plot_runs_at_all(mapper, iris):
    from umap import plot as umap_plot

    umap_plot.points(mapper)
    umap_plot.points(mapper, labels=iris.target)
    umap_plot.points(mapper, values=iris.data[:, 0])
    umap_plot.points(mapper, theme="fire")
    umap_plot.diagnostic(mapper, diagnostic_type="all")
    umap_plot.diagnostic(mapper, diagnostic_type="neighborhood")
    umap_plot.connectivity(mapper)
    umap_plot.interactive(mapper)
    umap_plot.interactive(mapper, labels=iris.target)
    umap_plot.interactive(mapper, values=iris.data[:, 0])
    umap_plot.interactive(mapper, theme="fire")
    umap_plot._datashade_points(mapper.embedding_)