Ejemplo n.º 1
0
def test_version():
    """Test version assertions
    """
    assert_raises(TypeError, assert_version, 1)
    assert_raises(TypeError, assert_version, '1' * 8)
    assert_raises(AssertionError, assert_version, 'x' * 7)
    assert_version(__version__[-7:])

    v = '1088717'
    if not _has_git:
        assert_raises(ImportError, download_version, v, tempdir)
    else:
        assert_raises(IOError, download_version, v, op.join(tempdir, 'foo'))
        assert_raises(RuntimeError, download_version, 'x' * 7, tempdir)
        download_version(v, tempdir)
        ex_dir = op.join(tempdir, 'expyfun')
        assert_true(op.isdir(ex_dir))
        assert_true(op.isfile(op.join(ex_dir, '__init__.py')))
        with open(op.join(ex_dir, '_version.py')) as fid:
            line = fid.readline().strip()
        assert_equal(line.split(' = ')[1][-8:-1], v)

        # auto dir determination
        orig_dir = os.getcwd()
        os.chdir(tempdir)
        try:
            assert_true(op.isdir('expyfun'))
            assert_raises(IOError, download_version, v)
        finally:
            os.chdir(orig_dir)
        # make sure we can get latest version
        download_version(dest_dir=tempdir_2)
Ejemplo n.º 2
0
def test_version():
    """Test version assertions
    """
    assert_raises(TypeError, assert_version, 1)
    assert_raises(TypeError, assert_version, '1' * 8)
    assert_raises(AssertionError, assert_version, 'x' * 7)
    assert_version(__version__[-7:])

    v = 'b798e65'
    f = 'drammock'
    if not _has_git:
        assert_raises(ImportError, download_version, v, tempdir, f)
    else:
        assert_raises(IOError, download_version, v, op.join(tempdir, 'foo'), f)
        assert_raises(RuntimeError, download_version, 'x' * 7, tempdir, f)
        download_version(v, tempdir, f)
        ex_dir = op.join(tempdir, 'expyfun')
        assert_true(op.isdir(ex_dir))
        assert_true(op.isfile(op.join(ex_dir, '__init__.py')))
        with open(op.join(ex_dir, '_version.py')) as fid:
            line1 = fid.readline().strip()
            line2 = fid.readline().strip()
        assert_equal(line1.split(' = ')[1][-8:-1], v)
        assert_equal(line2.split(' = ')[1].strip('\''), f)

        # auto dir determination
        orig_dir = os.getcwd()
        os.chdir(tempdir)
        try:
            assert_true(op.isdir('expyfun'))
            assert_raises(IOError, download_version, v)
        finally:
            os.chdir(orig_dir)
        # make sure we can get latest version
        download_version(dest_dir=tempdir_2)
Ejemplo n.º 3
0
def test_version():
    """Test version assertions
    """
    assert_raises(TypeError, assert_version, 1)
    assert_raises(TypeError, assert_version, '1' * 8)
    assert_raises(AssertionError, assert_version, 'x' * 7)
    assert_version(__version__[-7:])

    v = 'c18133c'
    if not _has_git:
        assert_raises(ImportError, download_version, v, tempdir)
    else:
        assert_raises(IOError, download_version, v, op.join(tempdir, 'foo'))
        assert_raises(RuntimeError, download_version, 'x' * 7, tempdir)
        download_version(v, tempdir)
        ex_dir = op.join(tempdir, 'expyfun')
        assert_true(op.isdir(ex_dir))
        assert_true(op.isfile(op.join(ex_dir, '__init__.py')))
        with open(op.join(ex_dir, '_version.py')) as fid:
            line = fid.readline().strip()
        assert_equal(line.split(' = ')[1][-8:-1], v)

        # auto dir determination
        orig_dir = os.getcwd()
        os.chdir(tempdir)
        try:
            assert_true(op.isdir('expyfun'))
            assert_raises(IOError, download_version, v)
        finally:
            os.chdir(orig_dir)
Ejemplo n.º 4
0
def test_version_assertions():
    """Test version assertions."""
    with warnings.catch_warnings(record=True) as w:
        warnings.simplefilter('always')
        pytest.raises(TypeError, assert_version, 1)
        pytest.raises(TypeError, assert_version, '1' * 8)
        pytest.raises(AssertionError, assert_version, 'x' * 7)
        assert_version(__version__[-7:])
    assert all('actual' in str(ww.message) for ww in w)

    # old, broken, new
    for wi, want_version in enumerate(('090948e', 'cae6bc3', 'b6e8a81')):
        print('Running %s' % want_version)
        tempdir = _TempDir()
        if not _has_git:
            pytest.raises(ImportError, download_version, want_version, tempdir)
        else:
            pytest.raises(IOError, download_version, want_version,
                          op.join(tempdir, 'foo'))
            pytest.raises(RuntimeError, download_version, 'x' * 7, tempdir)
            ex_dir = op.join(tempdir, 'expyfun')
            assert not op.isdir(ex_dir)
            download_version(want_version, tempdir)
            assert op.isdir(ex_dir)
            assert op.isfile(op.join(ex_dir, '__init__.py'))
            got_fname = op.join(ex_dir, '_version.py')
            with open(got_fname) as fid:
                line1 = fid.readline().strip()
            got_version = line1.split(' = ')[1][-8:-1]
            ex = want_version
            if want_version == 'cae6bc3':
                ex = (ex, '.dev0+c')
            assert got_version in ex, got_fname

            # auto dir determination
            orig_dir = os.getcwd()
            os.chdir(tempdir)
            try:
                assert op.isdir('expyfun')
                pytest.raises(IOError, download_version, want_version)
            finally:
                os.chdir(orig_dir)
    # make sure we can get latest version
    tempdir_2 = _TempDir()
    if _has_git:
        pytest.raises(IOError, download_version, dest_dir=tempdir)
        download_version(dest_dir=tempdir_2)
Ejemplo n.º 5
0
def test_version_assertions():
    """Test version assertions."""
    pytest.raises(TypeError, assert_version, 1)
    pytest.raises(TypeError, assert_version, '1' * 8)
    pytest.raises(AssertionError, assert_version, 'x' * 7)
    assert_version(__version__[-7:])

    # old, broken, new
    for wi, want_version in enumerate(('090948e', 'cae6bc3', 'b6e8a81')):
        print('Running %s' % want_version)
        tempdir = _TempDir()
        if not _has_git:
            pytest.raises(ImportError, download_version, want_version, tempdir)
        else:
            pytest.raises(IOError, download_version, want_version,
                          op.join(tempdir, 'foo'))
            pytest.raises(RuntimeError, download_version, 'x' * 7, tempdir)
            ex_dir = op.join(tempdir, 'expyfun')
            assert not op.isdir(ex_dir)
            with pytest.warns(None):  # Sometimes warns
                download_version(want_version, tempdir)
            assert op.isdir(ex_dir)
            assert op.isfile(op.join(ex_dir, '__init__.py'))
            got_fname = op.join(ex_dir, '_version.py')
            with open(got_fname) as fid:
                line1 = fid.readline().strip()
            got_version = line1.split(' = ')[1][-8:-1]
            ex = want_version
            if want_version == 'cae6bc3':
                ex = (ex, '.dev0+c')
            assert got_version in ex, got_fname

            # auto dir determination
            orig_dir = os.getcwd()
            os.chdir(tempdir)
            try:
                assert op.isdir('expyfun')
                pytest.raises(IOError, download_version, want_version)
            finally:
                os.chdir(orig_dir)
    # make sure we can get latest version
    tempdir_2 = _TempDir()
    if _has_git:
        pytest.raises(IOError, download_version, dest_dir=tempdir)
        download_version(dest_dir=tempdir_2)
Ejemplo n.º 6
0
def test_version():
    """Test version assertions."""
    with warnings.catch_warnings(record=True) as w:
        warnings.simplefilter('always')
        assert_raises(TypeError, assert_version, 1)
        assert_raises(TypeError, assert_version, '1' * 8)
        assert_raises(AssertionError, assert_version, 'x' * 7)
        assert_version(__version__[-7:])
    assert_true(all('actual' in str(ww.message) for ww in w))

    for want_version in ('090948e', 'cae6bc3', 'b6e8a81'):  # old, broken, new
        tempdir = _TempDir()
        if not _has_git:
            assert_raises(ImportError, download_version, want_version, tempdir)
        else:
            assert_raises(IOError, download_version, want_version,
                          op.join(tempdir, 'foo'))
            assert_raises(RuntimeError, download_version, 'x' * 7, tempdir)
            ex_dir = op.join(tempdir, 'expyfun')
            assert_true(not op.isdir(ex_dir))
            download_version(want_version, tempdir)
            assert_true(op.isdir(ex_dir))
            assert_true(op.isfile(op.join(ex_dir, '__init__.py')))
            got_fname = op.join(ex_dir, '_version.py')
            with open(got_fname) as fid:
                line1 = fid.readline().strip()
            got_version = line1.split(' = ')[1][-8:-1]
            ex = want_version if want_version != 'cae6bc3' else '.dev0+c'
            assert_equal(got_version, ex,
                         msg='File {0}: {1} != {2}'.format(got_fname,
                                                           got_version, ex))

            # auto dir determination
            orig_dir = os.getcwd()
            os.chdir(tempdir)
            try:
                assert_true(op.isdir('expyfun'))
                assert_raises(IOError, download_version, want_version)
            finally:
                os.chdir(orig_dir)
    # make sure we can get latest version
    tempdir_2 = _TempDir()
    if _has_git:
        assert_raises(IOError, download_version, dest_dir=tempdir)
        download_version(dest_dir=tempdir_2)
Ejemplo n.º 7
0
# -*- coding: utf-8 -*-

# Authors: Kambiz Tavabi <*****@*****.**>
#
#          simplified bsd-3 license

"""Script for infant basic auditory testing using infant directed speech (IDS)"""

import numpy as np
from os import path as op
from expyfun import ExperimentController
from expyfun.stimuli import read_wav
from expyfun._trigger_controllers import decimals_to_binary
from expyfun import assert_version

assert_version('8511a4d')

fs = 24414
stim_dir = op.join(op.dirname(__file__), 'stimuli', 'ids')
sound_files = ['inForest_part-1-rms.wav',
               'inForest_part-2-rms.wav',
               'inForest_part-3-rms.wav',
               'inForest_part-4-rms.wav',
               'inForest_part-5-rms.wav']

sound_files = {j: op.join(stim_dir, k)
               for j, k in enumerate(sound_files)}
wavs = [np.ascontiguousarray(read_wav(v)) for _, v in sorted(sound_files.items())]
# convert length of wave files into number of bits
n_bits = int(np.floor(np.log2(len(wavs)))) + 1
with ExperimentController('IDS', stim_db=75, stim_fs=fs, stim_rms=0.01,
Ejemplo n.º 8
0
# -*- coding: utf-8 -*-

from os import path as op
import numpy as np
from expyfun import (ExperimentController, visual, assert_version,
                     get_keyboard_input, decimals_to_binary)
from expyfun.io import read_hdf5, read_wav

feedback = False  # should be False for MEG
assert_version('9c4bcea')
p = read_hdf5(op.join(op.dirname(__file__), 'params.hdf5'))
stim_dir = op.join(op.dirname(__file__), p['stim_dir'])

bg_color = [0.2] * 3
fix_color = [0.5] * 3
v_off = 2.

with ExperimentController('standard_setup',
                          full_screen=False,
                          stim_db=75,
                          noise_db=45,
                          participant='s',
                          session='0',
                          output_dir=None,
                          suppress_resamp=True,
                          check_rms=None,
                          version='9c4bcea') as ec:
    square = visual.Rectangle(ec, [0, 0, 10, 10], units='deg')
    ec.screen_text('expy_standard_setup_test.', wrap=False)
    ec.set_background_color(bg_color)
    fix = visual.FixationDot(ec, colors=[fix_color, bg_color])
# -*- coding: utf-8 -*-

import numpy as np
from os import path as op
from expyfun import (ExperimentController, EyelinkController, visual,
                     get_keyboard_input, assert_version, decimals_to_binary)
from expyfun.io import read_hdf5, read_wav
from expyfun.codeblocks import find_pupil_dynamic_range
from expyfun.analyze import press_times_to_hmfc

# TODO:
# - Button 1?
# - Center feedback more?

assert_version('7673bf0')
p = read_hdf5(op.join(op.dirname(__file__), 'params.hdf5'))
stim_dir = op.join(op.dirname(__file__), p['stim_dir'])

tmin, tmax = 0.1, 0.8  # acceptable delays for button presses

pre_instr = (
    'This set of trials is like the previous set of trials, except that')

dir_instr = (
    '\n\nOn this set of trials, the initial target speaker will always be a '
    '%s voice coming from the %s side.')

button_instr = (
    dir_instr +
    '\n\nYour job is to press a button as quickly as possible after the '
    'talker you\'re supposed to attend to says the letter "O". Please '