inewave 1.7.5__py3-none-any.whl → 1.8.1__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- inewave/__init__.py +1 -1
- inewave/newave/__init__.py +16 -7
- inewave/newave/avl_cortesfpha_nwv.py +10 -0
- inewave/newave/avl_desvfpha_s.py +7 -0
- inewave/newave/avl_desvfpha_v_q.py +7 -0
- inewave/newave/eco_fpha.py +10 -0
- inewave/newave/evap_avl_desv.py +33 -0
- inewave/newave/evap_cortes.py +34 -0
- inewave/newave/evap_eco.py +34 -0
- inewave/newave/fpha_avl_desv_s.py +59 -0
- inewave/newave/fpha_avl_desv_v_q.py +58 -0
- inewave/newave/fpha_cortes.py +40 -0
- inewave/newave/fpha_eco.py +41 -0
- inewave/newave/modelos/blocos/tabelacsv.py +1 -1
- inewave/newave/modelos/blocos/versaomodelo.py +3 -3
- inewave/newave/modelos/forwarh.py +1 -1
- inewave/newave/modelos/hidr.py +1 -1
- inewave/newave/modelos/modif.py +9 -9
- inewave/newave/modelos/pmo.py +40 -0
- inewave/newave/modelos/vazoes.py +1 -1
- inewave/newave/modif.py +1 -1
- inewave/newave/nwv_avl_evap.py +10 -0
- inewave/newave/nwv_cortes_evap.py +10 -0
- inewave/newave/nwv_eco_evap.py +10 -0
- inewave/newave/pmo.py +17 -0
- inewave/nwlistop/__init__.py +65 -30
- inewave/nwlistop/c_v_rhq.py +10 -0
- inewave/nwlistop/c_v_rhq_s.py +10 -0
- inewave/nwlistop/c_v_rhv_s.py +10 -0
- inewave/nwlistop/celetricas.py +10 -0
- inewave/nwlistop/cviol_eletricasin.py +19 -0
- inewave/nwlistop/cviol_rhq.py +21 -0
- inewave/nwlistop/cviol_rhq_sin.py +19 -0
- inewave/nwlistop/cviol_rhv.py +21 -0
- inewave/nwlistop/cviol_rhv_sin.py +19 -0
- inewave/nwlistop/deletricas.py +10 -0
- inewave/nwlistop/depminuh.py +10 -0
- inewave/nwlistop/desvuh.py +10 -0
- inewave/nwlistop/dtbmax.py +10 -0
- inewave/nwlistop/dtbmin.py +10 -0
- inewave/nwlistop/dvazmax.py +10 -0
- inewave/nwlistop/modelos/blocos/valoresserie.py +1 -1
- inewave/nwlistop/modelos/cviol_eletricasin.py +28 -0
- inewave/nwlistop/modelos/cviol_rhq.py +28 -0
- inewave/nwlistop/modelos/cviol_rhq_sin.py +28 -0
- inewave/nwlistop/modelos/cviol_rhv.py +26 -0
- inewave/nwlistop/modelos/cviol_rhv_sin.py +26 -0
- inewave/nwlistop/modelos/pivarm.py +20 -0
- inewave/nwlistop/modelos/pivarmincr.py +20 -0
- inewave/nwlistop/modelos/qbomb.py +28 -0
- inewave/nwlistop/modelos/qdesviouh.py +28 -0
- inewave/nwlistop/modelos/qturuh.py +28 -0
- inewave/nwlistop/modelos/qvertuh.py +28 -0
- inewave/nwlistop/modelos/valor_agua.py +24 -0
- inewave/nwlistop/modelos/viol_eletricasin.py +28 -0
- inewave/nwlistop/modelos/viol_evmin.py +23 -0
- inewave/nwlistop/modelos/viol_evminm.py +23 -0
- inewave/nwlistop/modelos/viol_evminsin.py +23 -0
- inewave/nwlistop/modelos/viol_fpha.py +31 -0
- inewave/nwlistop/modelos/viol_ghmin.py +29 -0
- inewave/nwlistop/modelos/viol_ghminm.py +29 -0
- inewave/nwlistop/modelos/viol_ghminsin.py +29 -0
- inewave/nwlistop/modelos/viol_ghminuh.py +28 -0
- inewave/nwlistop/modelos/viol_lpp_dfmax.py +29 -0
- inewave/nwlistop/modelos/viol_lpp_dfmaxm.py +29 -0
- inewave/nwlistop/modelos/viol_lpp_dfmaxsin.py +29 -0
- inewave/nwlistop/modelos/viol_lpp_tbmax.py +29 -0
- inewave/nwlistop/modelos/viol_lpp_tbmaxm.py +29 -0
- inewave/nwlistop/modelos/viol_lpp_tbmaxsin.py +29 -0
- inewave/nwlistop/modelos/viol_neg_evap.py +26 -0
- inewave/nwlistop/modelos/viol_pos_evap.py +26 -0
- inewave/nwlistop/modelos/viol_turbmax.py +28 -0
- inewave/nwlistop/modelos/viol_turbmin.py +28 -0
- inewave/nwlistop/modelos/viol_vazmax.py +28 -0
- inewave/nwlistop/modelos/viol_vazmin.py +28 -0
- inewave/nwlistop/modelos/vretiradauh.py +26 -0
- inewave/nwlistop/pivarm.py +13 -2
- inewave/nwlistop/pivarmincr.py +13 -2
- inewave/nwlistop/qbomb.py +23 -0
- inewave/nwlistop/qdesviouh.py +21 -0
- inewave/nwlistop/qturuh.py +21 -0
- inewave/nwlistop/qvertuh.py +21 -0
- inewave/nwlistop/vagua.py +10 -0
- inewave/nwlistop/valor_agua.py +21 -0
- inewave/nwlistop/vertuh.py +10 -0
- inewave/nwlistop/vevmin.py +10 -0
- inewave/nwlistop/vevminm.py +10 -0
- inewave/nwlistop/vevminsin.py +10 -0
- inewave/nwlistop/vghmin.py +10 -0
- inewave/nwlistop/vghminm.py +10 -0
- inewave/nwlistop/vghminsin.py +10 -0
- inewave/nwlistop/viol_eletricasin.py +19 -0
- inewave/nwlistop/viol_evmin.py +20 -0
- inewave/nwlistop/viol_evminm.py +22 -0
- inewave/nwlistop/viol_evminsin.py +19 -0
- inewave/nwlistop/viol_fpha.py +22 -0
- inewave/nwlistop/viol_ghmin.py +22 -0
- inewave/nwlistop/viol_ghminm.py +22 -0
- inewave/nwlistop/viol_ghminsin.py +19 -0
- inewave/nwlistop/viol_ghminuh.py +22 -0
- inewave/nwlistop/viol_lpp_dfmax.py +22 -0
- inewave/nwlistop/viol_lpp_dfmaxm.py +22 -0
- inewave/nwlistop/viol_lpp_dfmaxsin.py +18 -0
- inewave/nwlistop/viol_lpp_tbmax.py +22 -0
- inewave/nwlistop/viol_lpp_tbmaxm.py +22 -0
- inewave/nwlistop/viol_lpp_tbmaxsin.py +18 -0
- inewave/nwlistop/viol_neg_evap.py +22 -0
- inewave/nwlistop/viol_pos_evap.py +22 -0
- inewave/nwlistop/viol_turbmax.py +22 -0
- inewave/nwlistop/viol_turbmin.py +22 -0
- inewave/nwlistop/viol_vazmax.py +22 -0
- inewave/nwlistop/viol_vazmin.py +22 -0
- inewave/nwlistop/vretiradauh.py +21 -0
- inewave/nwlistop/vturuh.py +10 -0
- {inewave-1.7.5.dist-info → inewave-1.8.1.dist-info}/METADATA +1 -1
- {inewave-1.7.5.dist-info → inewave-1.8.1.dist-info}/RECORD +165 -56
- tests/libs/test_restricoes.py +0 -3
- tests/libs/test_usinas_hidreletricas.py +0 -2
- tests/mocks/arquivos/pivarm.py +22 -0
- tests/mocks/arquivos/pivarmincr.py +22 -0
- tests/mocks/arquivos/pmo.py +6 -1
- tests/mocks/arquivos/viol_fpha.py +29 -0
- tests/newave/test_evap_avl_desv.py +40 -0
- tests/newave/test_evap_cortes.py +41 -0
- tests/newave/test_evap_eco.py +41 -0
- tests/newave/test_fpha_avl_desv_s.py +39 -0
- tests/newave/test_fpha_avl_desv_v_q.py +38 -0
- tests/newave/test_fpha_cortes.py +48 -0
- tests/newave/test_fpha_eco.py +47 -0
- tests/newave/test_pmo.py +14 -0
- tests/nwlistop/test_cviol_eletricasin.py +37 -0
- tests/nwlistop/test_cviol_rhq_sin.py +37 -0
- tests/nwlistop/test_cviol_rhv_sin.py +37 -0
- tests/nwlistop/test_pivarm.py +15 -1
- tests/nwlistop/test_pivarmincr.py +18 -1
- tests/nwlistop/test_qbomb.py +40 -0
- tests/nwlistop/test_qdesviouh.py +40 -0
- tests/nwlistop/test_qturuh.py +40 -0
- tests/nwlistop/test_qvertuh.py +40 -0
- tests/nwlistop/test_valor_agua.py +40 -0
- tests/nwlistop/test_viol_eletricasin.py +37 -0
- tests/nwlistop/test_viol_evmin.py +40 -0
- tests/nwlistop/test_viol_evminm.py +40 -0
- tests/nwlistop/test_viol_evminsin.py +37 -0
- tests/nwlistop/test_viol_fpha.py +40 -0
- tests/nwlistop/test_viol_ghmin.py +40 -0
- tests/nwlistop/test_viol_ghminm.py +40 -0
- tests/nwlistop/test_viol_ghminsin.py +37 -0
- tests/nwlistop/test_viol_ghminuh.py +40 -0
- tests/nwlistop/test_viol_lpp_dfmax.py +40 -0
- tests/nwlistop/test_viol_lpp_dfmaxm.py +40 -0
- tests/nwlistop/test_viol_lpp_dfmaxsin.py +37 -0
- tests/nwlistop/test_viol_lpp_tbmax.py +40 -0
- tests/nwlistop/test_viol_lpp_tbmaxm.py +40 -0
- tests/nwlistop/test_viol_lpp_tbmaxsin.py +37 -0
- tests/nwlistop/test_viol_neg_evap.py +41 -0
- tests/nwlistop/test_viol_pos_evap.py +40 -0
- tests/nwlistop/test_viol_turbmax.py +40 -0
- tests/nwlistop/test_viol_turbmin.py +40 -0
- tests/nwlistop/test_viol_vazmax.py +40 -0
- tests/nwlistop/test_viol_vazmin.py +40 -0
- tests/nwlistop/test_vretiradauh.py +40 -0
- {inewave-1.7.5.dist-info → inewave-1.8.1.dist-info}/LICENSE.md +0 -0
- {inewave-1.7.5.dist-info → inewave-1.8.1.dist-info}/WHEEL +0 -0
- {inewave-1.7.5.dist-info → inewave-1.8.1.dist-info}/top_level.txt +0 -0
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
from inewave.newave.evap_avl_desv import EvapAvlDesv
|
|
2
|
+
|
|
3
|
+
from tests.mocks.mock_open import mock_open
|
|
4
|
+
from unittest.mock import MagicMock, patch
|
|
5
|
+
|
|
6
|
+
from tests.mocks.arquivos.nwv_avl_evap import MockNwvAvlEvap
|
|
7
|
+
|
|
8
|
+
ARQ_TESTE = "./tests/mocks/arquivos/__init__.py"
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
def test_atributos_encontrados_evap_avl_desv():
|
|
12
|
+
m: MagicMock = mock_open(read_data="".join(MockNwvAvlEvap))
|
|
13
|
+
with patch("builtins.open", m):
|
|
14
|
+
rel = EvapAvlDesv.read(ARQ_TESTE)
|
|
15
|
+
assert rel.versao == "FPHA_NEWAVE"
|
|
16
|
+
assert rel.tabela.at[0, "periodo"] == 1
|
|
17
|
+
assert rel.tabela.at[0, "codigo_usina"] == 4
|
|
18
|
+
assert rel.tabela.at[0, "nome_usina"] == "FUNIL-GRANDE"
|
|
19
|
+
assert rel.tabela.at[0, "volume_armazenado_hm3"] == 265.86
|
|
20
|
+
assert rel.tabela.at[0, "evaporacao_calculada_hm3"] == 0.23
|
|
21
|
+
assert rel.tabela.at[0, "evaporacao_modelo_hm3"] == 0.23
|
|
22
|
+
assert rel.tabela.at[0, "desvio_absoluto_hm3"] == 0.0
|
|
23
|
+
assert rel.tabela.at[0, "desvio_percentual"] == 0.0
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
def test_eq_evap_avl_desv():
|
|
27
|
+
m: MagicMock = mock_open(read_data="".join(MockNwvAvlEvap))
|
|
28
|
+
with patch("builtins.open", m):
|
|
29
|
+
rel1 = EvapAvlDesv.read(ARQ_TESTE)
|
|
30
|
+
rel2 = EvapAvlDesv.read(ARQ_TESTE)
|
|
31
|
+
assert rel1 == rel2
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
def test_neq_evap_avl_desv():
|
|
35
|
+
m: MagicMock = mock_open(read_data="".join(MockNwvAvlEvap))
|
|
36
|
+
with patch("builtins.open", m):
|
|
37
|
+
rel1 = EvapAvlDesv.read(ARQ_TESTE)
|
|
38
|
+
rel2 = EvapAvlDesv.read(ARQ_TESTE)
|
|
39
|
+
rel1.tabela.iloc[0, 0] = -1
|
|
40
|
+
assert rel1 != rel2
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
from inewave.newave.evap_cortes import EvapCortes
|
|
2
|
+
|
|
3
|
+
from tests.mocks.mock_open import mock_open
|
|
4
|
+
from unittest.mock import MagicMock, patch
|
|
5
|
+
|
|
6
|
+
from tests.mocks.arquivos.nwv_cortes_evap import MockNwvCortesEvap
|
|
7
|
+
|
|
8
|
+
ARQ_TESTE = "./tests/mocks/arquivos/__init__.py"
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
def test_atributos_encontrados_evap_cortes():
|
|
12
|
+
m: MagicMock = mock_open(read_data="".join(MockNwvCortesEvap))
|
|
13
|
+
with patch("builtins.open", m):
|
|
14
|
+
rel = EvapCortes.read(ARQ_TESTE)
|
|
15
|
+
assert rel.versao == "FPHA_NEWAVE"
|
|
16
|
+
assert rel.tabela.at[0, "periodo"] == 1
|
|
17
|
+
assert rel.tabela.at[0, "codigo_usina"] == 4
|
|
18
|
+
assert rel.tabela.at[0, "nome_usina"] == "FUNIL-GRANDE"
|
|
19
|
+
assert rel.tabela.at[0, "derivada_cota_area"] == 0.0000000000
|
|
20
|
+
assert rel.tabela.at[0, "derivada_volume_cota"] == 0.0000000000
|
|
21
|
+
assert rel.tabela.at[0, "volume_referencia_hm3"] == 265.86
|
|
22
|
+
assert rel.tabela.at[0, "evaporacao_referencia_hm3"] == 0.23
|
|
23
|
+
assert rel.tabela.at[0, "coeficiente_volume"] == 0.0000000000
|
|
24
|
+
assert rel.tabela.at[0, "rhs_volume"] == 0.2263
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
def test_eq_evap_cortes():
|
|
28
|
+
m: MagicMock = mock_open(read_data="".join(MockNwvCortesEvap))
|
|
29
|
+
with patch("builtins.open", m):
|
|
30
|
+
rel1 = EvapCortes.read(ARQ_TESTE)
|
|
31
|
+
rel2 = EvapCortes.read(ARQ_TESTE)
|
|
32
|
+
assert rel1 == rel2
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
def test_neq_evap_cortes():
|
|
36
|
+
m: MagicMock = mock_open(read_data="".join(MockNwvCortesEvap))
|
|
37
|
+
with patch("builtins.open", m):
|
|
38
|
+
rel1 = EvapCortes.read(ARQ_TESTE)
|
|
39
|
+
rel2 = EvapCortes.read(ARQ_TESTE)
|
|
40
|
+
rel1.tabela.iloc[0, 0] = -1
|
|
41
|
+
assert rel1 != rel2
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
from inewave.newave.evap_eco import EvapEco
|
|
2
|
+
|
|
3
|
+
from tests.mocks.mock_open import mock_open
|
|
4
|
+
from unittest.mock import MagicMock, patch
|
|
5
|
+
|
|
6
|
+
from tests.mocks.arquivos.nwv_eco_evap import MockNwvEcoEvap
|
|
7
|
+
|
|
8
|
+
ARQ_TESTE = "./tests/mocks/arquivos/__init__.py"
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
def test_atributos_encontrados_evap_eco():
|
|
12
|
+
m: MagicMock = mock_open(read_data="".join(MockNwvEcoEvap))
|
|
13
|
+
with patch("builtins.open", m):
|
|
14
|
+
rel = EvapEco.read(ARQ_TESTE)
|
|
15
|
+
assert rel.versao == "FPHA_NEWAVE"
|
|
16
|
+
assert rel.tabela.at[0, "periodo"] == 1
|
|
17
|
+
assert rel.tabela.at[0, "codigo_usina"] == 4
|
|
18
|
+
assert rel.tabela.at[0, "nome_usina"] == "FUNIL-GRANDE"
|
|
19
|
+
assert rel.tabela.at[0, "volume_referencia_hm3"] == 265.86
|
|
20
|
+
assert rel.tabela.at[0, "evaporacao_referencia_hm3"] == 0.23
|
|
21
|
+
assert rel.tabela.at[0, "coeficiente_evaporacao_mm_mes"] == 6
|
|
22
|
+
assert rel.tabela.at[0, "flag_evaporacao"] == 1
|
|
23
|
+
assert rel.tabela.at[0, "evaporacao_linear"] == 1
|
|
24
|
+
assert rel.tabela.at[0, "tipo_volume_referencia"] == 1
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
def test_eq_evap_eco():
|
|
28
|
+
m: MagicMock = mock_open(read_data="".join(MockNwvEcoEvap))
|
|
29
|
+
with patch("builtins.open", m):
|
|
30
|
+
rel1 = EvapEco.read(ARQ_TESTE)
|
|
31
|
+
rel2 = EvapEco.read(ARQ_TESTE)
|
|
32
|
+
assert rel1 == rel2
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
def test_neq_evap_eco():
|
|
36
|
+
m: MagicMock = mock_open(read_data="".join(MockNwvEcoEvap))
|
|
37
|
+
with patch("builtins.open", m):
|
|
38
|
+
rel1 = EvapEco.read(ARQ_TESTE)
|
|
39
|
+
rel2 = EvapEco.read(ARQ_TESTE)
|
|
40
|
+
rel1.tabela.iloc[0, 0] = -1
|
|
41
|
+
assert rel1 != rel2
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
from inewave.newave.fpha_avl_desv_s import FphaAvlDesvS
|
|
2
|
+
|
|
3
|
+
from tests.mocks.mock_open import mock_open
|
|
4
|
+
from unittest.mock import MagicMock, patch
|
|
5
|
+
|
|
6
|
+
from tests.mocks.arquivos.avl_desvfpha_s import MockAvlDesvFphaS
|
|
7
|
+
|
|
8
|
+
ARQ_TESTE = "./tests/mocks/arquivos/__init__.py"
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
def test_atributos_encontrados_fpha_avl_desv_s():
|
|
12
|
+
m: MagicMock = mock_open(read_data="".join(MockAvlDesvFphaS))
|
|
13
|
+
with patch("builtins.open", m):
|
|
14
|
+
rel = FphaAvlDesvS.read(ARQ_TESTE)
|
|
15
|
+
assert rel.versao == "FPHA_NEWAVE"
|
|
16
|
+
assert rel.tabela.at[0, "codigo_usina"] == 4
|
|
17
|
+
assert rel.tabela.at[0, "nome_usina"] == "FUNIL-GRANDE"
|
|
18
|
+
assert rel.tabela.at[0, "volume_armazenado_percentual"] == 100.0
|
|
19
|
+
assert rel.tabela.at[0, "vazao_turbinada_m3s"] == 0.0
|
|
20
|
+
assert rel.tabela.at[0, "vazao_vertida_m3s"] == 0.0
|
|
21
|
+
assert rel.tabela.at[0, "desvio_percentual"] == 0.0
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
def test_es_fpha_avl_desv_s():
|
|
25
|
+
m: MagicMock = mock_open(read_data="".join(MockAvlDesvFphaS))
|
|
26
|
+
with patch("builtins.open", m):
|
|
27
|
+
rel1 = FphaAvlDesvS.read(ARQ_TESTE)
|
|
28
|
+
rel2 = FphaAvlDesvS.read(ARQ_TESTE)
|
|
29
|
+
assert rel1 == rel2
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
## Não precisa comparar isto, é somente leitura - passa por agregação
|
|
33
|
+
# def test_nes_fpha_avl_desv_s():
|
|
34
|
+
# m: MagicMock = mock_open(read_data="".join(MockAvlDesvFphaS))
|
|
35
|
+
# with patch("builtins.open", m):
|
|
36
|
+
# rel1 = AvlDesvFphaS.read(ARQ_TESTE)
|
|
37
|
+
# rel2 = AvlDesvFphaS.read(ARQ_TESTE)
|
|
38
|
+
# rel1.tabela.iloc[0, 0] = -1
|
|
39
|
+
# assert rel1 != rel2
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
from inewave.newave.fpha_avl_desv_v_q import FphaAvlDesvVQ
|
|
2
|
+
import pandas as pd # type: ignore
|
|
3
|
+
from tests.mocks.mock_open import mock_open
|
|
4
|
+
from unittest.mock import MagicMock, patch
|
|
5
|
+
|
|
6
|
+
from tests.mocks.arquivos.avl_desvfpha_v_q import MockAvlDesvFphaVQ
|
|
7
|
+
|
|
8
|
+
ARQ_TESTE = "./tests/mocks/arquivos/__init__.py"
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
def test_atributos_encontrados_fpha_avl_desv_v_q():
|
|
12
|
+
m: MagicMock = mock_open(read_data="".join(MockAvlDesvFphaVQ))
|
|
13
|
+
with patch("builtins.open", m):
|
|
14
|
+
rel = FphaAvlDesvVQ.read(ARQ_TESTE)
|
|
15
|
+
assert rel.versao == "FPHA_NEWAVE"
|
|
16
|
+
assert rel.tabela.at[0, "codigo_usina"] == 4
|
|
17
|
+
assert rel.tabela.at[0, "nome_usina"] == "FUNIL-GRANDE"
|
|
18
|
+
assert pd.isna(rel.tabela.at[0, "volume_armazenado_percentual"])
|
|
19
|
+
assert rel.tabela.at[0, "vazao_turbinada_m3s"] == 0.0
|
|
20
|
+
assert rel.tabela.at[0, "desvio_percentual"] == 0.0
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
def test_eq_fpha_avl_desv_v_q():
|
|
24
|
+
m: MagicMock = mock_open(read_data="".join(MockAvlDesvFphaVQ))
|
|
25
|
+
with patch("builtins.open", m):
|
|
26
|
+
rel1 = FphaAvlDesvVQ.read(ARQ_TESTE)
|
|
27
|
+
rel2 = FphaAvlDesvVQ.read(ARQ_TESTE)
|
|
28
|
+
assert rel1 == rel2
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
## Não precisa comparar isto, é somente leitura - passa por agregação
|
|
32
|
+
# def test_neq_fpha_avl_desv_v_q():
|
|
33
|
+
# m: MagicMock = mock_open(read_data="".join(MockAvlDesvFphaVQ))
|
|
34
|
+
# with patch("builtins.open", m):
|
|
35
|
+
# rel1 = AvlDesvFphaVQ.read(ARQ_TESTE)
|
|
36
|
+
# rel2 = AvlDesvFphaVQ.read(ARQ_TESTE)
|
|
37
|
+
# rel1.tabela.iloc[0, 0] = -1
|
|
38
|
+
# assert rel1 != rel2
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
from inewave.newave.fpha_cortes import FphaCortes
|
|
2
|
+
|
|
3
|
+
from tests.mocks.mock_open import mock_open
|
|
4
|
+
from unittest.mock import MagicMock, patch
|
|
5
|
+
|
|
6
|
+
from tests.mocks.arquivos.avl_cortesfpha_nwv import (
|
|
7
|
+
MockAvlCortesFphaNwv28,
|
|
8
|
+
MockAvlCortesFphaNwv,
|
|
9
|
+
)
|
|
10
|
+
|
|
11
|
+
ARQ_TESTE = "./tests/mocks/arquivos/__init__.py"
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
def test_atributos_encontrados_fpha_cortes():
|
|
15
|
+
m: MagicMock = mock_open(read_data="".join(MockAvlCortesFphaNwv))
|
|
16
|
+
with patch("builtins.open", m):
|
|
17
|
+
rel = FphaCortes.read(ARQ_TESTE)
|
|
18
|
+
assert rel.versao == "28.16_CPAMP"
|
|
19
|
+
assert rel.tabela.at[0, "codigo_usina"] == 4
|
|
20
|
+
assert rel.tabela.at[0, "periodo"] == 5
|
|
21
|
+
assert rel.tabela.at[0, "nome_usina"] == "FUNIL-GRANDE"
|
|
22
|
+
assert rel.tabela.at[0, "indice_corte"] == 1
|
|
23
|
+
assert rel.tabela.at[0, "fator_correcao"] == 1.0
|
|
24
|
+
assert rel.tabela.at[0, "rhs_energia"] == 0.0
|
|
25
|
+
assert rel.tabela.at[0, "coeficiente_volume_util_MW_hm3"] == 0.0
|
|
26
|
+
assert (
|
|
27
|
+
rel.tabela.at[0, "coeficiente_vazao_turbinada_MW_m3s"]
|
|
28
|
+
== 0.35607775
|
|
29
|
+
)
|
|
30
|
+
assert rel.tabela.at[0, "coeficiente_vazao_vertida_MW_m3s"] == 0.0
|
|
31
|
+
assert rel.tabela.at[0, "coeficiente_vazao_lateral_MW_m3s"] == 0.0
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
def test_eq_fpha_cortes():
|
|
35
|
+
m: MagicMock = mock_open(read_data="".join(MockAvlCortesFphaNwv))
|
|
36
|
+
with patch("builtins.open", m):
|
|
37
|
+
rel1 = FphaCortes.read(ARQ_TESTE)
|
|
38
|
+
rel2 = FphaCortes.read(ARQ_TESTE)
|
|
39
|
+
assert rel1 == rel2
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
def test_neq_fpha_cortes():
|
|
43
|
+
m: MagicMock = mock_open(read_data="".join(MockAvlCortesFphaNwv))
|
|
44
|
+
with patch("builtins.open", m):
|
|
45
|
+
rel1 = FphaCortes.read(ARQ_TESTE)
|
|
46
|
+
rel2 = FphaCortes.read(ARQ_TESTE)
|
|
47
|
+
rel1.tabela.iloc[0, 0] = -1
|
|
48
|
+
assert rel1 != rel2
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
from inewave.newave.fpha_eco import FphaEco
|
|
2
|
+
|
|
3
|
+
from tests.mocks.mock_open import mock_open
|
|
4
|
+
from unittest.mock import MagicMock, patch
|
|
5
|
+
|
|
6
|
+
from tests.mocks.arquivos.eco_fpha import MockEcoFpha
|
|
7
|
+
|
|
8
|
+
ARQ_TESTE = "./tests/mocks/arquivos/__init__.py"
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
def test_atributos_encontrados_fpha_eco():
|
|
12
|
+
m: MagicMock = mock_open(read_data="".join(MockEcoFpha))
|
|
13
|
+
with patch("builtins.open", m):
|
|
14
|
+
rel = FphaEco.read(ARQ_TESTE)
|
|
15
|
+
assert rel.versao == "FPHA_NEWAVE"
|
|
16
|
+
assert rel.tabela.at[0, "codigo_usina"] == 4
|
|
17
|
+
assert rel.tabela.at[0, "periodo"] == 1
|
|
18
|
+
assert rel.tabela.at[0, "nome_usina"] == "FUNIL-GRANDE"
|
|
19
|
+
assert rel.tabela.at[0, "tipo"] == 2
|
|
20
|
+
assert rel.tabela.at[0, "conv"] == 1
|
|
21
|
+
assert rel.tabela.at[0, "alfa"] == 1
|
|
22
|
+
assert rel.tabela.at[0, "rems"] == 1
|
|
23
|
+
assert rel.tabela.at[0, "numero_pontos_vazao_turbinada"] == 5
|
|
24
|
+
assert rel.tabela.at[0, "vazao_turbinada_minima"] == 0.0
|
|
25
|
+
assert rel.tabela.at[0, "vazao_turbinada_maxima"] == 507.2
|
|
26
|
+
assert rel.tabela.at[0, "numero_pontos_volume_armazenado"] == 1
|
|
27
|
+
assert rel.tabela.at[0, "volume_armazenado_minimo"] == 265.9
|
|
28
|
+
assert rel.tabela.at[0, "volume_armazenado_maximo"] == 265.9
|
|
29
|
+
assert rel.tabela.at[0, "geracao_minima"] == 0.0
|
|
30
|
+
assert rel.tabela.at[0, "geracao_maxima"] == 180.0
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
def test_eq_fpha_eco():
|
|
34
|
+
m: MagicMock = mock_open(read_data="".join(MockEcoFpha))
|
|
35
|
+
with patch("builtins.open", m):
|
|
36
|
+
rel1 = FphaEco.read(ARQ_TESTE)
|
|
37
|
+
rel2 = FphaEco.read(ARQ_TESTE)
|
|
38
|
+
assert rel1 == rel2
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
def test_neq_fpha_eco():
|
|
42
|
+
m: MagicMock = mock_open(read_data="".join(MockEcoFpha))
|
|
43
|
+
with patch("builtins.open", m):
|
|
44
|
+
rel1 = FphaEco.read(ARQ_TESTE)
|
|
45
|
+
rel2 = FphaEco.read(ARQ_TESTE)
|
|
46
|
+
rel1.tabela.iloc[0, 0] = -1
|
|
47
|
+
assert rel1 != rel2
|
tests/newave/test_pmo.py
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
from inewave.newave.modelos.pmo import (
|
|
2
|
+
BlocoVersaoModeloPMO,
|
|
2
3
|
BlocoConvergenciaPMO,
|
|
3
4
|
BlocoEafPastTendenciaHidrolPMO,
|
|
4
5
|
BlocoEafPastCfugaMedioPMO,
|
|
@@ -28,6 +29,7 @@ from datetime import datetime
|
|
|
28
29
|
from tests.mocks.mock_open import mock_open
|
|
29
30
|
from unittest.mock import MagicMock, patch
|
|
30
31
|
|
|
32
|
+
from tests.mocks.arquivos.pmo import MockVersaoModeloPMO
|
|
31
33
|
from tests.mocks.arquivos.pmo import MockBlocoEafPastTendenciaHidrolPMO
|
|
32
34
|
from tests.mocks.arquivos.pmo import MockBlocoEafPastCfugaMedioPMO
|
|
33
35
|
from tests.mocks.arquivos.pmo import MockBlocoConvergenciaPMO
|
|
@@ -63,6 +65,16 @@ from tests.mocks.arquivos.pmo import MockPMO
|
|
|
63
65
|
ARQ_TESTE = "./tests/mocks/arquivos/__init__.py"
|
|
64
66
|
|
|
65
67
|
|
|
68
|
+
def test_versao_modelo():
|
|
69
|
+
m: MagicMock = mock_open(read_data="".join(MockVersaoModeloPMO))
|
|
70
|
+
b = BlocoVersaoModeloPMO()
|
|
71
|
+
with patch("builtins.open", m):
|
|
72
|
+
with open("", "") as fp:
|
|
73
|
+
b.read(fp)
|
|
74
|
+
|
|
75
|
+
assert b.data == "29.3.1"
|
|
76
|
+
|
|
77
|
+
|
|
66
78
|
def test_eafpast_tendencia_hidrologica():
|
|
67
79
|
m: MagicMock = mock_open(
|
|
68
80
|
read_data="".join(MockBlocoEafPastTendenciaHidrolPMO)
|
|
@@ -376,6 +388,7 @@ def test_atributos_encontrados_pmo():
|
|
|
376
388
|
m: MagicMock = mock_open(read_data="".join(MockPMO))
|
|
377
389
|
with patch("builtins.open", m):
|
|
378
390
|
pmo = Pmo.read(ARQ_TESTE)
|
|
391
|
+
assert pmo.versao_modelo is not None
|
|
379
392
|
assert pmo.eafpast_tendencia_hidrologica is not None
|
|
380
393
|
assert pmo.eafpast_cfuga_medio is not None
|
|
381
394
|
assert pmo.convergencia is not None
|
|
@@ -409,6 +422,7 @@ def test_atributos_nao_encontrados_pmo():
|
|
|
409
422
|
m: MagicMock = mock_open(read_data="".join(MockBlocoConvergenciaPMO))
|
|
410
423
|
with patch("builtins.open", m):
|
|
411
424
|
pmo = Pmo.read(ARQ_TESTE)
|
|
425
|
+
assert pmo.versao_modelo is None
|
|
412
426
|
assert pmo.convergencia is not None
|
|
413
427
|
assert pmo.custo_operacao_series_simuladas is None
|
|
414
428
|
assert pmo.custo_operacao_total is None
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
from inewave.nwlistop.cviol_eletricasin import CviolEletricasin
|
|
2
|
+
|
|
3
|
+
from datetime import datetime
|
|
4
|
+
from tests.mocks.mock_open import mock_open
|
|
5
|
+
from unittest.mock import MagicMock, patch
|
|
6
|
+
|
|
7
|
+
from tests.mocks.arquivos.celetricas import MockCeletricas
|
|
8
|
+
|
|
9
|
+
ARQ_TESTE = "./tests/mocks/arquivos/__init__.py"
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
def test_atributos_encontrados_cviol_eletricasin():
|
|
13
|
+
m: MagicMock = mock_open(read_data="".join(MockCeletricas))
|
|
14
|
+
with patch("builtins.open", m):
|
|
15
|
+
n = CviolEletricasin.read(ARQ_TESTE)
|
|
16
|
+
assert n.valores is not None
|
|
17
|
+
assert n.valores.iloc[0, 0] == datetime(2023, 1, 1)
|
|
18
|
+
assert n.valores.iloc[-1, -1] == 0.0
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
def test_atributos_nao_encontrados_cviol_eletricasin():
|
|
22
|
+
m: MagicMock = mock_open(read_data="")
|
|
23
|
+
with patch("builtins.open", m):
|
|
24
|
+
n = CviolEletricasin.read(ARQ_TESTE)
|
|
25
|
+
assert n.valores is None
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
def test_eq_cviol_eletricasin():
|
|
29
|
+
m: MagicMock = mock_open(read_data="".join(MockCeletricas))
|
|
30
|
+
with patch("builtins.open", m):
|
|
31
|
+
n1 = CviolEletricasin.read(ARQ_TESTE)
|
|
32
|
+
n2 = CviolEletricasin.read(ARQ_TESTE)
|
|
33
|
+
assert n1 == n2
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
# Não deve ter teste de diferença, visto que o atributo é
|
|
37
|
+
# implementado como Lazy Property.
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
from inewave.nwlistop.cviol_rhq_sin import CviolRhqsin
|
|
2
|
+
|
|
3
|
+
from datetime import datetime
|
|
4
|
+
from tests.mocks.mock_open import mock_open
|
|
5
|
+
from unittest.mock import MagicMock, patch
|
|
6
|
+
|
|
7
|
+
from tests.mocks.arquivos.c_v_rhq_s import MockCVRHQs
|
|
8
|
+
|
|
9
|
+
ARQ_TESTE = "./tests/mocks/arquivos/__init__.py"
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
def test_atributos_encontrados_cviol_rhq_sin():
|
|
13
|
+
m: MagicMock = mock_open(read_data="".join(MockCVRHQs))
|
|
14
|
+
with patch("builtins.open", m):
|
|
15
|
+
n = CviolRhqsin.read(ARQ_TESTE)
|
|
16
|
+
assert n.valores is not None
|
|
17
|
+
assert n.valores.iloc[0, 0] == datetime(2023, 1, 1)
|
|
18
|
+
assert n.valores.iloc[-1, -1] == 0.0
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
def test_atributos_nao_encontrados_cviol_rhq_sin():
|
|
22
|
+
m: MagicMock = mock_open(read_data="")
|
|
23
|
+
with patch("builtins.open", m):
|
|
24
|
+
n = CviolRhqsin.read(ARQ_TESTE)
|
|
25
|
+
assert n.valores is None
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
def test_eq_cviol_rhq_sin():
|
|
29
|
+
m: MagicMock = mock_open(read_data="".join(MockCVRHQs))
|
|
30
|
+
with patch("builtins.open", m):
|
|
31
|
+
n1 = CviolRhqsin.read(ARQ_TESTE)
|
|
32
|
+
n2 = CviolRhqsin.read(ARQ_TESTE)
|
|
33
|
+
assert n1 == n2
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
# Não deve ter teste de diferença, visto que o atributo é
|
|
37
|
+
# implementado como Lazy Property.
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
from inewave.nwlistop.cviol_rhv_sin import CviolRhvsin
|
|
2
|
+
|
|
3
|
+
from datetime import datetime
|
|
4
|
+
from tests.mocks.mock_open import mock_open
|
|
5
|
+
from unittest.mock import MagicMock, patch
|
|
6
|
+
|
|
7
|
+
from tests.mocks.arquivos.c_v_rhv_s import MockCVRHVs
|
|
8
|
+
|
|
9
|
+
ARQ_TESTE = "./tests/mocks/arquivos/__init__.py"
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
def test_atributos_encontrados_cviol_rhv_sin():
|
|
13
|
+
m: MagicMock = mock_open(read_data="".join(MockCVRHVs))
|
|
14
|
+
with patch("builtins.open", m):
|
|
15
|
+
n = CviolRhvsin.read(ARQ_TESTE)
|
|
16
|
+
assert n.valores is not None
|
|
17
|
+
assert n.valores.iloc[0, 0] == datetime(2023, 1, 1)
|
|
18
|
+
assert n.valores.iloc[-1, -1] == 0.0
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
def test_atributos_nao_encontrados_cviol_rhv_sin():
|
|
22
|
+
m: MagicMock = mock_open(read_data="")
|
|
23
|
+
with patch("builtins.open", m):
|
|
24
|
+
n = CviolRhvsin.read(ARQ_TESTE)
|
|
25
|
+
assert n.valores is None
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
def test_eq_cviol_rhv_sin():
|
|
29
|
+
m: MagicMock = mock_open(read_data="".join(MockCVRHVs))
|
|
30
|
+
with patch("builtins.open", m):
|
|
31
|
+
n1 = CviolRhvsin.read(ARQ_TESTE)
|
|
32
|
+
n2 = CviolRhvsin.read(ARQ_TESTE)
|
|
33
|
+
assert n1 == n2
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
# Não deve ter teste de diferença, visto que o atributo é
|
|
37
|
+
# implementado como Lazy Property.
|
tests/nwlistop/test_pivarm.py
CHANGED
|
@@ -4,12 +4,13 @@ from datetime import datetime
|
|
|
4
4
|
from tests.mocks.mock_open import mock_open
|
|
5
5
|
from unittest.mock import MagicMock, patch
|
|
6
6
|
|
|
7
|
-
from tests.mocks.arquivos.pivarm import MockPivarm
|
|
7
|
+
from tests.mocks.arquivos.pivarm import MockPivarm, MockPivarm_v29_2
|
|
8
8
|
|
|
9
9
|
ARQ_TESTE = "./tests/mocks/arquivos/__init__.py"
|
|
10
10
|
|
|
11
11
|
|
|
12
12
|
def test_atributos_encontrados_pivarm():
|
|
13
|
+
Pivarm.set_version("28.12")
|
|
13
14
|
m: MagicMock = mock_open(read_data="".join(MockPivarm))
|
|
14
15
|
with patch("builtins.open", m):
|
|
15
16
|
n = Pivarm.read(ARQ_TESTE)
|
|
@@ -21,6 +22,19 @@ def test_atributos_encontrados_pivarm():
|
|
|
21
22
|
assert n.valores.iloc[-1, -1] == 11.57
|
|
22
23
|
|
|
23
24
|
|
|
25
|
+
def test_atributos_encontrados_pivarm_v29_2():
|
|
26
|
+
Pivarm.set_version("29.2")
|
|
27
|
+
m: MagicMock = mock_open(read_data="".join(MockPivarm_v29_2))
|
|
28
|
+
with patch("builtins.open", m):
|
|
29
|
+
n = Pivarm.read(ARQ_TESTE)
|
|
30
|
+
assert n.usina is not None
|
|
31
|
+
assert n.usina == "CAMARGOS"
|
|
32
|
+
assert n.valores is not None
|
|
33
|
+
assert n.valores.iloc[0, 0] == datetime(2021, 1, 1)
|
|
34
|
+
assert n.valores.iloc[3, -1] == -312253.4
|
|
35
|
+
assert n.valores.iloc[-1, -1] == -418673.9
|
|
36
|
+
|
|
37
|
+
|
|
24
38
|
def test_atributos_nao_encontrados_pivarm():
|
|
25
39
|
m: MagicMock = mock_open(read_data="")
|
|
26
40
|
with patch("builtins.open", m):
|
|
@@ -4,12 +4,16 @@ from datetime import datetime
|
|
|
4
4
|
from tests.mocks.mock_open import mock_open
|
|
5
5
|
from unittest.mock import MagicMock, patch
|
|
6
6
|
|
|
7
|
-
from tests.mocks.arquivos.pivarmincr import
|
|
7
|
+
from tests.mocks.arquivos.pivarmincr import (
|
|
8
|
+
MockPivarmincr,
|
|
9
|
+
MockPivarmincr_v29_2,
|
|
10
|
+
)
|
|
8
11
|
|
|
9
12
|
ARQ_TESTE = "./tests/mocks/arquivos/__init__.py"
|
|
10
13
|
|
|
11
14
|
|
|
12
15
|
def test_atributos_encontrados_pivarmincr():
|
|
16
|
+
Pivarmincr.set_version("28.12")
|
|
13
17
|
m: MagicMock = mock_open(read_data="".join(MockPivarmincr))
|
|
14
18
|
with patch("builtins.open", m):
|
|
15
19
|
n = Pivarmincr.read(ARQ_TESTE)
|
|
@@ -21,6 +25,19 @@ def test_atributos_encontrados_pivarmincr():
|
|
|
21
25
|
assert n.valores.iloc[-1, -1] == 0.89
|
|
22
26
|
|
|
23
27
|
|
|
28
|
+
def test_atributos_encontrados_pivarmincr_v29_2():
|
|
29
|
+
Pivarmincr.set_version("29.2")
|
|
30
|
+
m: MagicMock = mock_open(read_data="".join(MockPivarmincr_v29_2))
|
|
31
|
+
with patch("builtins.open", m):
|
|
32
|
+
n = Pivarmincr.read(ARQ_TESTE)
|
|
33
|
+
assert n.usina is not None
|
|
34
|
+
assert n.usina == "FURNAS"
|
|
35
|
+
assert n.valores is not None
|
|
36
|
+
assert n.valores.iloc[0, 0] == datetime(2021, 1, 1)
|
|
37
|
+
assert n.valores.iloc[3, -1] == -312253.4
|
|
38
|
+
assert n.valores.iloc[-1, -1] == -418673.9
|
|
39
|
+
|
|
40
|
+
|
|
24
41
|
def test_atributos_nao_encontrados_pivarmincr():
|
|
25
42
|
m: MagicMock = mock_open(read_data="")
|
|
26
43
|
with patch("builtins.open", m):
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
from inewave.nwlistop.qbomb import Qbomb
|
|
2
|
+
|
|
3
|
+
from datetime import datetime
|
|
4
|
+
from tests.mocks.mock_open import mock_open
|
|
5
|
+
from unittest.mock import MagicMock, patch
|
|
6
|
+
|
|
7
|
+
from tests.mocks.arquivos.vbomb import MockVbomb
|
|
8
|
+
|
|
9
|
+
ARQ_TESTE = "./tests/mocks/arquivos/__init__.py"
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
def test_atributos_encontrados_qbomb():
|
|
13
|
+
m: MagicMock = mock_open(read_data="".join(MockVbomb))
|
|
14
|
+
with patch("builtins.open", m):
|
|
15
|
+
n = Qbomb.read(ARQ_TESTE)
|
|
16
|
+
assert n.estacao is not None
|
|
17
|
+
assert n.estacao == "Sta Cecilia"
|
|
18
|
+
assert n.valores is not None
|
|
19
|
+
assert n.valores.iloc[0, 0] == datetime(2023, 1, 1)
|
|
20
|
+
assert n.valores.iloc[-1, -1] == 0.0
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
def test_atributos_nao_encontrados_qbomb():
|
|
24
|
+
m: MagicMock = mock_open(read_data="")
|
|
25
|
+
with patch("builtins.open", m):
|
|
26
|
+
n = Qbomb.read(ARQ_TESTE)
|
|
27
|
+
assert n.estacao is None
|
|
28
|
+
assert n.valores is None
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
def test_eq_qbomb():
|
|
32
|
+
m: MagicMock = mock_open(read_data="".join(MockVbomb))
|
|
33
|
+
with patch("builtins.open", m):
|
|
34
|
+
n1 = Qbomb.read(ARQ_TESTE)
|
|
35
|
+
n2 = Qbomb.read(ARQ_TESTE)
|
|
36
|
+
assert n1 == n2
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
# Não deve ter teste de diferença, visto que o atributo é
|
|
40
|
+
# implementado como Lazy Property.
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
from inewave.nwlistop.qdesviouh import Qdesviouh
|
|
2
|
+
|
|
3
|
+
from datetime import datetime
|
|
4
|
+
from tests.mocks.mock_open import mock_open
|
|
5
|
+
from unittest.mock import MagicMock, patch
|
|
6
|
+
|
|
7
|
+
from tests.mocks.arquivos.vdesviouh import MockVdesviouh
|
|
8
|
+
|
|
9
|
+
ARQ_TESTE = "./tests/mocks/arquivos/__init__.py"
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
def test_atributos_encontrados_qdesviouh():
|
|
13
|
+
m: MagicMock = mock_open(read_data="".join(MockVdesviouh))
|
|
14
|
+
with patch("builtins.open", m):
|
|
15
|
+
n = Qdesviouh.read(ARQ_TESTE)
|
|
16
|
+
assert n.usina is not None
|
|
17
|
+
assert n.usina == "CAMARGOS"
|
|
18
|
+
assert n.valores is not None
|
|
19
|
+
assert n.valores.iloc[0, 0] == datetime(2023, 1, 1)
|
|
20
|
+
assert n.valores.iloc[-1, -1] == 0.0
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
def test_atributos_nao_encontrados_qdesviouh():
|
|
24
|
+
m: MagicMock = mock_open(read_data="")
|
|
25
|
+
with patch("builtins.open", m):
|
|
26
|
+
n = Qdesviouh.read(ARQ_TESTE)
|
|
27
|
+
assert n.usina is None
|
|
28
|
+
assert n.valores is None
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
def test_eq_qdesviouh():
|
|
32
|
+
m: MagicMock = mock_open(read_data="".join(MockVdesviouh))
|
|
33
|
+
with patch("builtins.open", m):
|
|
34
|
+
n1 = Qdesviouh.read(ARQ_TESTE)
|
|
35
|
+
n2 = Qdesviouh.read(ARQ_TESTE)
|
|
36
|
+
assert n1 == n2
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
# Não deve ter teste de diferença, visto que o atributo é
|
|
40
|
+
# implementado como Lazy Property.
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
from inewave.nwlistop.qturuh import Qturuh
|
|
2
|
+
|
|
3
|
+
from datetime import datetime
|
|
4
|
+
from tests.mocks.mock_open import mock_open
|
|
5
|
+
from unittest.mock import MagicMock, patch
|
|
6
|
+
|
|
7
|
+
from tests.mocks.arquivos.vturuh import MockVturUH
|
|
8
|
+
|
|
9
|
+
ARQ_TESTE = "./tests/mocks/arquivos/__init__.py"
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
def test_atributos_encontrados_qturuh():
|
|
13
|
+
m: MagicMock = mock_open(read_data="".join(MockVturUH))
|
|
14
|
+
with patch("builtins.open", m):
|
|
15
|
+
n = Qturuh.read(ARQ_TESTE)
|
|
16
|
+
assert n.usina is not None
|
|
17
|
+
assert n.usina == "CAMARGOS"
|
|
18
|
+
assert n.valores is not None
|
|
19
|
+
assert n.valores.iloc[0, 0] == datetime(2020, 1, 1)
|
|
20
|
+
assert n.valores.iloc[-1, -1] == 0.0
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
def test_atributos_nao_encontrados_qturuh():
|
|
24
|
+
m: MagicMock = mock_open(read_data="")
|
|
25
|
+
with patch("builtins.open", m):
|
|
26
|
+
n = Qturuh.read(ARQ_TESTE)
|
|
27
|
+
assert n.usina is None
|
|
28
|
+
assert n.valores is None
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
def test_eq_qturuh():
|
|
32
|
+
m: MagicMock = mock_open(read_data="".join(MockVturUH))
|
|
33
|
+
with patch("builtins.open", m):
|
|
34
|
+
n1 = Qturuh.read(ARQ_TESTE)
|
|
35
|
+
n2 = Qturuh.read(ARQ_TESTE)
|
|
36
|
+
assert n1 == n2
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
# Não deve ter teste de diferença, visto que o atributo é
|
|
40
|
+
# implementado como Lazy Property.
|