Testes: test_inputs_calcnum

_Sem docstring de módulo._

Conteúdo dos testes:

 1import subprocess
 2import sys
 3import os
 4import pytest
 5
 6ROOT = os.path.abspath(os.path.join(os.path.dirname(__file__), '..'))
 7INPUT_DIR = os.path.join(os.path.dirname(__file__), 'inputs')
 8
 9
10def run_input_file_calc(fname):
11    path = os.path.join(INPUT_DIR, fname)
12    with open(path, 'r', encoding='utf-8') as fh:
13        data = fh.read()
14    env = dict(os.environ)
15    env['MPLBACKEND'] = env.get('MPLBACKEND', 'Agg')
16    # Execute the package entry to call menu_principal() so imports work
17    cmd = [sys.executable, '-c', "import codigos.calcnum as m; m.menu_principal()"]
18    proc = subprocess.run(cmd, input=data, stdout=subprocess.PIPE, stderr=subprocess.STDOUT, cwd=ROOT, text=True, timeout=30, env=env)
19    return proc.returncode, proc.stdout
20
21
22@pytest.mark.parametrize('fname,expected', [
23    ('inputBases.txt', ('Binário', '1011')),
24    ('inputSistemas.txt', ('Solução',)),
25    ('inputInterpolacoes.txt', ('Resultado (Newton)',)),
26    ('inputAjustes.txt', ('Polinômio interpolador',)),
27    ('inputEDOS_calcnum.txt', ('Tabela de resultados', 'Aproximação', 'y(1)')),
28    ('inputIntegracoes_calcnum.txt', ('Resultado',)),
29    ('inputRaizes.txt', ('A raiz encontrada',)),
30])
31def test_calcnum_inputs_basic(fname, expected):
32    rc, out = run_input_file_calc(fname)
33    print('\n--- output for', fname, '---')
34    print(out)
35    assert any(s in out for s in expected)

Resumo das funções de teste:

  • test_calcnum_inputs_basic: _Sem docstring._