Пример #1
0
def test_passed_arguments(mocker):
    mocker.patch('m2.rec2taps.extract_peaks')
    mocker.patch('sys.argv', ['exec', 'sti', 'rec', '-d', '50', '-p', '3'])
    mocker.patch('os.path.isfile', lambda x: True)

    rec2taps()

    m2.rec2taps.extract_peaks.assert_called_once_with('sti', 'rec', 50, 3,
                                                      None, False)
Пример #2
0
def test_default_arguments(mocker):
    mocker.patch('m2.rec2taps.extract_peaks')
    mocker.patch('sys.argv', ['exec', 'sti', 'rec'])
    mocker.patch('os.path.isfile', lambda x: True)

    rec2taps()

    m2.rec2taps.extract_peaks.assert_called_once_with(
        'sti', 'rec', defaults.DEFAULT_DISTANCE, defaults.DEFAULT_PROMINENCE,
        None, False)
Пример #3
0
def test_debug_plot_default(mocker):
    mocker.patch('m2.rec2taps.extract_peaks')
    mocker.patch('sys.argv',
                 ['exec', 'sti', 'rec', '-d', '50', '-p', '3', '-D'])
    mocker.patch('os.path.isfile', lambda x: True)

    rec2taps()

    m2.rec2taps.extract_peaks.assert_called_once_with(
        'sti', 'rec', 50, 3, defaults.DEFAULT_DEBUG_PLOT, False)
Пример #4
0
def test_debug_plot_custom(mocker):
    mocker.patch('m2.rec2taps.extract_peaks')
    mocker.patch(
        'sys.argv',
        ['exec', 'sti', 'rec', '-d', '50', '-p', '3', '-D', 'plot.pdf'])
    mocker.patch('os.path.isfile', lambda x: True)

    rec2taps()

    m2.rec2taps.extract_peaks.assert_called_once_with('sti', 'rec', 50, 3,
                                                      'plot.pdf', False)
Пример #5
0
def test_peaks_output(mocker):
    mocker.patch('sys.argv', ['exec', 'sti', 'rec'])
    mocker.patch('os.path.isfile', lambda x: True)
    mocker.patch('m2.rec2taps.extract_peaks', lambda *x: [1, 2, 3])
    stdout_mock = mocker.patch('sys.stdout', new_callable=io.StringIO)
    stderr_mock = mocker.patch('sys.stderr', new_callable=io.StringIO)

    rec2taps()

    assert stderr_mock.getvalue() == ''
    assert stdout_mock.getvalue() == '1\n2\n3\n'
Пример #6
0
def test_error_different_sr(mocker):
    mocker.patch('sys.argv', ['exec', 'sti', 'rec'])
    mocker.patch('os.path.isfile', lambda x: True)
    mocker.patch('scipy.io.wavfile.read',
                 mocker.MagicMock(side_effect=[('1', None), ('2', None)]))
    stdout_mock = mocker.patch('sys.stdout', new_callable=io.StringIO)
    stderr_mock = mocker.patch('sys.stderr', new_callable=io.StringIO)

    with pytest.raises(SystemExit):
        rec2taps()

    assert stdout_mock.getvalue() == ''
    assert stderr_mock.getvalue() == ('sti and rec do not have the same '
                                      'sample rate (1 != 2)\n')
Пример #7
0
def test_error_shorter_sti(mocker):
    mocker.patch('sys.argv', ['exec', 'sti', 'rec'])
    mocker.patch('os.path.isfile', lambda x: True)
    mocker.patch(
        'scipy.io.wavfile.read',
        mocker.MagicMock(side_effect=[(None,
                                       np.zeros((10,
                                                 2))), (None, np.zeros((8,
                                                                        2)))]))
    stdout_mock = mocker.patch('sys.stdout', new_callable=io.StringIO)
    stderr_mock = mocker.patch('sys.stderr', new_callable=io.StringIO)

    with pytest.raises(SystemExit):
        rec2taps()

    assert stdout_mock.getvalue() == ''
    assert stderr_mock.getvalue() == ('Stimuli file (sti) is shorter than '
                                      'recording file (rec).\n')