Skip to content

Commit

Permalink
Removed old tests
Browse files Browse the repository at this point in the history
  • Loading branch information
tommyod committed Jul 8, 2018
1 parent 571bb53 commit 7c1c47c
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 61 deletions.
61 changes: 4 additions & 57 deletions KDEpy/tests/test_kde.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,10 @@
Tests.
"""
import numpy as np
from KDEpy import KDE
import itertools
from KDEpy.NaiveKDE import NaiveKDE
import pytest

kernel_funcs = list(KDE._available_kernels.values())
kernel_funcs = list(NaiveKDE._available_kernels.values())


class TestNaiveKDE():
Expand Down Expand Up @@ -51,7 +50,7 @@ def test_against_R_density(self, kernel, bw, n, expected_result):
"""
data = np.array([0, 0.1, 1])
x = np.linspace(-1, 1, num=n)
y = KDE(kernel, bw=bw).fit(data).evaluate_naive(x)
y = NaiveKDE(kernel, bw=bw).fit(data).evaluate(x)
assert np.allclose(y, expected_result, atol=10**(-2.7))

@pytest.mark.parametrize("bw, n, expected_result",
Expand Down Expand Up @@ -82,61 +81,9 @@ def test_against_scipy_density(self, bw, n, expected_result):
"""
data = np.array([0, 0.1, 1])
x = np.linspace(-1, 1, num=n)
y = KDE(kernel='gaussian', bw=bw).fit(data).evaluate_naive(x)
y = NaiveKDE(kernel='gaussian', bw=bw).fit(data).evaluate(x)
assert np.allclose(y, expected_result)

@pytest.mark.parametrize("data, bw, n, kernel",
list(itertools.product([np.array([0, 0.1, 1]),
np.array([0, 10, 20])],
[0.1, 0.5, 1],
[1, 5, 10],
kernel_funcs)))
def test_naive_vs_sorted_eval(self, data, bw, n, kernel):
"""
Test the naive algorithm versus the sorted evaluation.
"""
x = np.linspace(np.min(data), np.max(data), num=n)
kde = KDE(kernel=kernel, bw=bw).fit(data)
assert np.allclose(kde.evaluate_naive(x),
kde.evaluate_sorted(x, tolerance=10e-3),
atol=10e-2, rtol=0)

@pytest.mark.parametrize("data, weights, kernel",
list(itertools.product(
[np.array([0, 0.1, 2]),
np.array([-5, 2, 5])],
[np.array([1, 3, 2]),
np.array([0, 3, 1])],
kernel_funcs)))
def test_weighted_naive(self, data, weights, kernel):
x = np.linspace(np.min(data), np.max(data), num=10)
kde = KDE(kernel=kernel, bw=1).fit(data, weights=weights)
y1 = kde.evaluate_naive(x)

data_weighted = np.repeat(data, weights)
kde = KDE(kernel=kernel, bw=1).fit(data_weighted)
y2 = kde.evaluate_naive(x)

assert np.allclose(y1, y2)

@pytest.mark.parametrize("data, weights, kernel",
list(itertools.product(
[np.array([0, 0.1, 2]),
np.array([-5, 2, 5])],
[np.array([1, 3, 2]),
np.array([0, 3, 1])],
kernel_funcs)))
def test_weighted_sorted(self, data, weights, kernel):
x = np.linspace(np.min(data), np.max(data), num=10)
kde = KDE(kernel=kernel, bw=1).fit(data, weights=weights)
y1 = kde.evaluate_sorted(x)

data_weighted = np.repeat(data, weights)
kde = KDE(kernel=kernel, bw=1).fit(data_weighted)
y2 = kde.evaluate_sorted(x)

assert np.allclose(y1, y2)


if __name__ == "__main__":
# --durations=10 <- May be used to show potentially slow tests
Expand Down
8 changes: 4 additions & 4 deletions KDEpy/tests/test_kernel_funcs.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,14 +5,14 @@
"""
import numpy as np
from scipy.integrate import quad
from KDEpy import KDE
from KDEpy.BaseKDE import BaseKDE
import pytest


class TestKernelFunctions():

@pytest.mark.parametrize("fname, function",
list(KDE._available_kernels.items()))
list(BaseKDE._available_kernels.items()))
def test_integral_unity(self, fname, function):
"""
Verify that all available kernel functions have an integral evaluating
Expand All @@ -27,7 +27,7 @@ def test_integral_unity(self, fname, function):
assert np.isclose(integral, 1)

@pytest.mark.parametrize("fname, function",
list(KDE._available_kernels.items()))
list(BaseKDE._available_kernels.items()))
def test_monotonic_decreasing(self, fname, function):
"""
Verify that all available kernel functions decrease away from their
Expand All @@ -45,7 +45,7 @@ def test_monotonic_decreasing(self, fname, function):
assert np.all(diffs_left >= 0)

@pytest.mark.parametrize("fname, function",
list(KDE._available_kernels.items()))
list(BaseKDE._available_kernels.items()))
def test_non_negative(self, fname, function):
"""
Verify that all available kernel functions are non-negative.
Expand Down

0 comments on commit 7c1c47c

Please sign in to comment.