def test_evoked_proj():
    'Test SSP proj operations\n    '
    for proj in [True, False]:
        ave = read_evokeds(fname, condition=0, proj=proj)
        assert_true(all(((p['active'] == proj) for p in ave.info['projs'])))
        if proj:
            assert_raises(ValueError, ave.add_proj, [], {'remove_existing': True})
            assert_raises(ValueError, ave.del_proj, 0)
        else:
            projs = deepcopy(ave.info['projs'])
            n_proj = len(ave.info['projs'])
            ave.del_proj(0)
            assert_true((len(ave.info['projs']) == (n_proj - 1)))
            ave.add_proj(projs, remove_existing=False)
            assert_true((len(ave.info['projs']) == ((2 * n_proj) - 1)))
            ave.add_proj(projs, remove_existing=True)
            assert_true((len(ave.info['projs']) == n_proj))
    ave = read_evokeds(fname, condition=0, proj=False)
    data = ave.data.copy()
    ave.apply_proj()
    assert_allclose(np.dot(ave._projector, data), ave.data)
Test SSP proj operations
def test_evoked_proj():
    '\n    '
    for proj in [True, False]:
        ave = read_evokeds(fname, condition=0, proj=proj)
        assert_true(all(((p['active'] == proj) for p in ave.info['projs'])))
        if proj:
            assert_raises(ValueError, ave.add_proj, [], {'remove_existing': True})
            assert_raises(ValueError, ave.del_proj, 0)
        else:
            projs = deepcopy(ave.info['projs'])
            n_proj = len(ave.info['projs'])
            ave.del_proj(0)
            assert_true((len(ave.info['projs']) == (n_proj - 1)))
            ave.add_proj(projs, remove_existing=False)
            assert_true((len(ave.info['projs']) == ((2 * n_proj) - 1)))
            ave.add_proj(projs, remove_existing=True)
            assert_true((len(ave.info['projs']) == n_proj))
    ave = read_evokeds(fname, condition=0, proj=False)
    data = ave.data.copy()
    ave.apply_proj()
    assert_allclose(np.dot(ave._projector, data), ave.data)