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)
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)
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)
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)
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)
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)
# -*- 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,
# -*- 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 '