22import pytest
33
44from LabIFSC2 import (Medida , arrayM , curva_max , curva_min , incertezas ,
5- linspaceM , nominais )
5+ linspaceM , nominais , regressao_linear )
66
77
88def test_nominal ():
@@ -14,31 +14,70 @@ def test_nominal():
1414 assert nominal [2 ]== - 34
1515 assert nominal [3 ]== - 5313.351
1616 with pytest .raises (TypeError ):
17- nominais (np .arange (10 ))
17+ nominais (np .arange (10 ),'' )
18+ x = np .array ([Medida (13431 ,'cm' ,351 ),Medida (0.006132 ,'cm' ,4 ),
19+ Medida (- 34 ,'cm' ,3 ),Medida (- 5313.351 ,'cm' ,3 )])
20+ metros = nominais (x ,'si' )
21+ valores = [13431 ,0.006132 ,- 34 ,- 5313.351 ]
22+ for x in range (len (metros )):
23+ assert np .isclose (metros [x ],valores [x ]/ 100 )
24+
25+
26+
1827
1928def test_incerteza_array ():
20- x = np .array ([Medida (- 351 ,'' ,3.5 ),Medida (0.006132 ,'' ,4.003 ),
21- Medida (- 34 ,'' ,310 ),Medida (- 5313.351 ,'' ,0 )])
22- incerteza = incertezas (x ,'' )
29+ x = np .array ([Medida (- 351 ,'cm ' ,3.5 ),Medida (0.006132 ,'cm ' ,4.003 ),
30+ Medida (- 34 ,'cm ' ,310 ),Medida (- 5313.351 ,'cm ' ,0 )])
31+ incerteza = incertezas (x ,'cm ' )
2332 assert incerteza [0 ]== 3.5
2433 assert incerteza [1 ]== 4.003
2534 assert incerteza [2 ]== 310
2635 assert incerteza [3 ]== 0
2736 with pytest .raises (TypeError ):
2837 incertezas (np .arange (10 ),'' )
29-
38+ si_incertezas = incertezas (x ,'si' )
39+ for x in range (len (si_incertezas )):
40+ assert np .isclose (si_incertezas [x ],incerteza [x ]/ 100 )
3041
3142def test_curvamin ():
3243 t = np .array ([Medida (5 ,'' ,0.1 ),Medida (9 ,'' ,2 ),Medida (11 ,'' ,0.5 )])
3344 curva_min (t ,'' )
3445 assert np .array_equal (curva_min (t ,'' ),np .array ([4.8 ,5 ,10 ]))
3546 assert np .array_equal (curva_min (t ,'' ,3 ),np .array ([4.7 ,3 ,9.5 ]))
47+ with pytest .raises (TypeError ):
48+ curva_min (np .arange (10 ),'' )
49+
50+
3651def test_curvamax ():
3752 t = np .array ([Medida (5 ,'' ,0.1 ),Medida (9 ,'' ,2 ),Medida (11 ,'' ,0.5 )])
3853 assert np .array_equal (curva_max (t ,'' ),np .array ([5.2 ,13 ,12 ]))
3954 assert np .array_equal (curva_max (t ,'' ,3 ),np .array ([5.3 ,15 ,12.5 ]))
55+ with pytest .raises (TypeError ):
56+ curva_max (np .arange (10 ),'' )
57+
58+ def test_curva_max_regressao ():
59+ x = np .array ([Medida (1 ,'cm' ,0.1 ),Medida (2 ,'cm' ,0.1 ),Medida (3 ,'cm' ,0.1 ),Medida (4 ,'cm' ,0.1 ),Medida (5 ,'cm' ,0.1 )])
60+ y = x
61+ linha = regressao_linear (x ,y )
62+ with pytest .raises (ValueError ):
63+ curva_max (linha ,'' )
64+ linha .amostrar (x ,'cm' )
65+ valores_nominais = nominais (linha ._amostragem_pre_calculada ,'m' )
66+ valores_incertezas = incertezas (linha ._amostragem_pre_calculada ,'m' )
67+ curva_maxima = curva_max (linha ,'si' )
68+ curva_minima = curva_min (linha ,'si' )
69+ assert np .array_equal (valores_nominais + 2 * valores_incertezas ,curva_maxima )
70+ assert np .array_equal (valores_nominais - 2 * valores_incertezas ,curva_minima )
71+ curva_maxima = curva_max (linha ,'si' ,3 )
72+ curva_minima = curva_min (linha ,'si' ,3 )
4073
41-
74+ assert np .array_equal (valores_nominais + 3 * valores_incertezas ,curva_maxima )
75+ assert np .array_equal (valores_nominais - 3 * valores_incertezas ,curva_minima )
76+ with pytest .raises (ValueError ):
77+ curva_max (linha ,'si' ,0 )
78+ with pytest .raises (ValueError ):
79+ curva_max (linha ,'si' ,- 1 )
80+
4281def test_linspace ():
4382 a = 1 ; b = 20 ; N = 20
4483 x = linspaceM (a ,b ,N ,'' ,0.1 )
0 commit comments