/* * 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