// TODO: discarding first instance due known initialization bug (bug 1)
new SIFNeuron ( sifNeuronPara );
final Neuron neuron = new SIFNeuron ( sifNeuronPara );
// interface Neuron accessor methods
// SIFNeuron is not a sensory neuron
assertFalse ( neuron.isSensory ( ) );
final double [ ] currents = neuron.getCurr ( 0 );
assertNotNull ( currents );
// SIFNeuron has 2 currents: excitatory and inhibitory
assertEquals ( 2, currents.length );
// LOGGER.debug ( "excitatory current ...: {}", currents [ 0 ] );
// LOGGER.debug ( "inhibitory current ...: {}", currents [ 1 ] );
// Initially the currents should be zero
assertEquals ( 0, currents [ 0 ], 0 );
assertEquals ( 0, currents [ 1 ], 0 );
final double membraneVoltage = neuron.getMemV ( 0 );
// LOGGER.debug ( "membrane voltage .....: {}", membraneVoltage );
// Initially the membrane voltage should be zero
assertEquals ( 0, membraneVoltage, 0 );
final boolean record = neuron.getRecord ( );
assertFalse ( record );
final long targetHost = neuron.getTHost ( );
assertEquals ( 0, targetHost );
final double timeOfNextFire = neuron.getTimeOfNextFire ( );
// LOGGER.debug ( "time of next fire ....: {}", timeOfNextFire );
assertEquals ( -1, timeOfNextFire, 0 );
final boolean realFire = neuron.realFire ( );
assertTrue ( realFire );
}