def test_generate_cell_properties():
    PD, PG = fm.generate_cell_properties()
    assert_almost_equal(np.sum(PD**2), 1.)

    PDk = [1., 0.3, 0.2]
    PDe = PDk / np.linalg.norm(PDk)
    assert np.allclose(PDe, PD)
    assert_almost_equal(np.sum(PG**2), 1.)
def test_generate_firing_rate():
    time, disp, speed, acc = fm.generate_ballistic_profiles()
    #start = np.array((0., 0., 0.))
    stop = np.array((1., 1., 1.))
    pos, drn = fm.calc_pos_and_dir_along_movement(disp, stop)
    PD, PG = fm.generate_cell_properties()
    k = fm.generate_firing_rate(pos, drn, speed, acc, time, \
                                  PD, PG, model='k')
    assert_(np.all(k == 1.))
    
    ds = fm.generate_firing_rate(pos, drn, speed, acc, time, \
                                  PD, PG, model='ds')
    kds = fm.generate_firing_rate(pos, drn, speed, acc, time, \
                                  PD, PG, model='kds')
    assert_(np.allclose(ds + k, kds))
    assert_(kds.size == pos.shape[1] - 1)
    assert_(kds.argmax() == speed.argmax())