/*
* test_spindetector.sli
*
* This file is part of NEST.
*
* Copyright (C) 2004 The NEST Initiative
*
* NEST is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 2 of the License, or
* (at your option) any later version.
*
* NEST is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with NEST. If not, see <http://www.gnu.org/licenses/>.
*
*/
/* BeginDocumentation
Name: testsuite::test_spindetector - test decoding mechanism of binary events by spin_detector
Synopsis: (test_binary) run -> test decoding mechanism of binary events by spin_detector
Description:
Test, whether the communication mechanism for binary neurons
works and whether the spin detector correctly decodes binary transitions.
Author: March 2013, Helias
*/
(unittest) run
/unittest using
/run_test
{
0.1 /h Set
ResetKernel
0 <<
/local_num_threads 1
/resolution h
>> SetStatus
% check, if double spikes are correctly interpreted as up transition
% and single spikes are interpreted as down transition
/sp /spin_detector Create def
/sg /spike_generator Create def
sg << /spike_times [10. 10. 15.] >> SetStatus
sg sp 1. 1. Connect
20. Simulate
% check if right state is decoded
sp /events get /weights get /w Set
w 0 get 1.0 eq assert_or_die
w 1 get 0.0 eq assert_or_die
sp /events get /times get /times Set
times cva
[ 10. 15.] eq
assert_or_die
} def
run_test