summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorMario Mulansky <mario.mulansky@gmx.net>2015-08-17 17:19:18 +0200
committerMario Mulansky <mario.mulansky@gmx.net>2015-08-17 17:19:18 +0200
commit84f3333317e119cc87c4cb5f9c444ff66f1f7a23 (patch)
tree7d5fc73de61fd124f93f24c588700f25ffe896c6 /test
parent0d7255c1fb7398720de10653efee617075c30892 (diff)
first unit tests for directionality
Diffstat (limited to 'test')
-rw-r--r--test/test_spike_delay_asymmetry.py41
1 files changed, 41 insertions, 0 deletions
diff --git a/test/test_spike_delay_asymmetry.py b/test/test_spike_delay_asymmetry.py
new file mode 100644
index 0000000..93c18de
--- /dev/null
+++ b/test/test_spike_delay_asymmetry.py
@@ -0,0 +1,41 @@
+""" test_spike_delay_asymmetry.py
+
+Tests the asymmetry functions
+
+Copyright 2015, Mario Mulansky <mario.mulansky@gmx.net>
+
+Distributed under the BSD License
+
+"""
+
+import numpy as np
+from numpy.testing import assert_equal, assert_almost_equal, \
+ assert_array_equal
+
+import pyspike as spk
+from pyspike import SpikeTrain, DiscreteFunc
+
+
+def test_profile():
+ st1 = SpikeTrain([100, 200, 300], [0, 1000])
+ st2 = SpikeTrain([105, 205, 300], [0, 1000])
+ expected_x = np.array([0, 100, 105, 200, 205, 300, 1000])
+ expected_y = np.array([1, 1, 1, 1, 1, 0, 0])
+ expected_mp = np.array([1, 1, 1, 1, 1, 2, 2])
+
+ f = spk.drct.spike_delay_asymmetry_profile(st1, st2)
+
+ assert f.almost_equal(DiscreteFunc(expected_x, expected_y, expected_mp))
+ assert_almost_equal(f.avrg(), 2.0/3.0)
+ assert_almost_equal(spk.drct.spike_delay_asymmetry(st1, st2), 2.0/3.0)
+ assert_almost_equal(spk.drct.spike_delay_asymmetry(st1, st2,
+ normalize=False),
+ 4.0)
+
+ st3 = SpikeTrain([105, 195, 500], [0, 1000])
+ expected_x = np.array([0, 100, 105, 195, 200, 300, 500, 1000])
+ expected_y = np.array([1, 1, 1, -1, -1, 0, 0, 0])
+ expected_mp = np.array([1, 1, 1, 1, 1, 1, 1, 1])
+
+ f = spk.drct.spike_delay_asymmetry_profile(st1, st3)
+ assert f.almost_equal(DiscreteFunc(expected_x, expected_y, expected_mp))