/*
* test_poisson_generator_ps.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_poisson_generator_ps - basic test of poisson_generator_ps
Synopsis: (test_poisson_generator_ps) run -> fails if targets receive identical spikes trains
Description:
This basic test checks whether two targets receive different spikes trains
and whether the start and stop properties of the generator are respected.
The test does neither check that spikes indeed have high resolution nor
that grid-constrained neuron models receive consistent spike times.
Remarks:
This test fails for a correct implementation if in the simulation interval both targets
receive no spikes. The seed set in the default configuration of NEST avoids this
problem. Therefore, failure of this script indicates that the configuration is not
portable.
Author: February 2008, Diesmann, Plesser
*/
/unittest (6335) require
/unittest using
M_ERROR setverbosity
/poisson_generator_ps Create /pg Set
/spike_detector Create /sd1 Set
/spike_detector Create /sd2 Set
pg sd1 Connect
pg sd2 Connect
pg << /rate 100.0 /start 200.0 /stop 500.0 >> SetStatus
sd1 << /precise_times true >> SetStatus
sd2 << /precise_times true >> SetStatus
1000 Simulate
pg << /start 1200. /stop 1800. >> SetStatus
1000 Simulate
[sd1 sd2] {[/events /times] get} forall neq % spike trains differ
[sd1 sd2]
{
[/events /times] get
cva {dup 500.0 gt exch 1200.0 lt and } Select [] eq % there is a gap
} forall and % in both channels
and
assert_or_die