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._