inewave 1.7.4__py3-none-any.whl → 1.8.0__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/adterm.py +7 -0
- inewave/newave/modelos/agrint.py +2 -0
- inewave/newave/modelos/arquivos.py +2 -0
- inewave/newave/modelos/avl_cortesfpha_nwv.py +4 -0
- inewave/newave/modelos/avl_desvfpha_s.py +2 -0
- inewave/newave/modelos/avl_desvfpha_v_q.py +2 -0
- inewave/newave/modelos/blocos/tabelacsv.py +2 -0
- inewave/newave/modelos/blocos/versaomodelo.py +4 -0
- inewave/newave/modelos/cadic.py +2 -0
- inewave/newave/modelos/caso.py +4 -0
- inewave/newave/modelos/clast.py +2 -0
- inewave/newave/modelos/confhd.py +2 -0
- inewave/newave/modelos/conft.py +2 -0
- inewave/newave/modelos/cortes.py +14 -0
- inewave/newave/modelos/cortesh.py +20 -0
- inewave/newave/modelos/curva.py +2 -0
- inewave/newave/modelos/cvar.py +2 -0
- inewave/newave/modelos/dger.py +208 -0
- inewave/newave/modelos/dsvagua.py +2 -0
- inewave/newave/modelos/eafpast.py +2 -0
- inewave/newave/modelos/enavazb.py +2 -0
- inewave/newave/modelos/enavazf.py +2 -0
- inewave/newave/modelos/energiab.py +2 -0
- inewave/newave/modelos/energiaf.py +2 -0
- inewave/newave/modelos/energias.py +9 -0
- inewave/newave/modelos/engnat.py +2 -0
- inewave/newave/modelos/exph.py +2 -0
- inewave/newave/modelos/expt.py +2 -0
- inewave/newave/modelos/forward.py +27 -0
- inewave/newave/modelos/forwarh.py +2 -0
- inewave/newave/modelos/ghmin.py +2 -0
- inewave/newave/modelos/hidr.py +2 -0
- inewave/newave/modelos/manutt.py +2 -0
- inewave/newave/modelos/modif.py +32 -0
- inewave/newave/modelos/newavetim.py +2 -0
- inewave/newave/modelos/nwv_avl_evap.py +2 -0
- inewave/newave/modelos/nwv_cortes_evap.py +2 -0
- inewave/newave/modelos/nwv_eco_evap.py +2 -0
- inewave/newave/modelos/parp.py +45 -0
- inewave/newave/modelos/parpeol.py +23 -0
- inewave/newave/modelos/parpvaz.py +37 -0
- inewave/newave/modelos/patamar.py +28 -0
- inewave/newave/modelos/penalid.py +2 -0
- inewave/newave/modelos/pmo.py +103 -0
- inewave/newave/modelos/re.py +2 -0
- inewave/newave/modelos/ree.py +2 -0
- inewave/newave/modelos/selcor.py +5 -3
- inewave/newave/modelos/shist.py +10 -6
- inewave/newave/modelos/sistema.py +10 -0
- inewave/newave/modelos/term.py +2 -0
- inewave/newave/modelos/vazaob.py +2 -0
- inewave/newave/modelos/vazaof.py +2 -0
- inewave/newave/modelos/vazaos.py +2 -0
- inewave/newave/modelos/vazinat.py +2 -0
- inewave/newave/modelos/vazoes.py +2 -0
- inewave/newave/modelos/vazpast.py +2 -0
- inewave/newave/modelos/volref_saz.py +2 -0
- inewave/newave/modif.py +2 -0
- 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/newave/vazoes.py +2 -0
- inewave/nwlistcf/modelos/arquivos.py +2 -0
- inewave/nwlistcf/modelos/caso.py +2 -0
- inewave/nwlistcf/modelos/estados.py +10 -0
- inewave/nwlistcf/modelos/nwlistcfdat.py +2 -0
- inewave/nwlistcf/modelos/nwlistcfrel.py +2 -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/arquivos/arquivoclassetermicasubmercadopatamar.py +2 -0
- inewave/nwlistop/modelos/arquivos/arquivoestacaobombeamentopatamar.py +2 -0
- inewave/nwlistop/modelos/arquivos/arquivoparsubmercadopatamar.py +2 -0
- inewave/nwlistop/modelos/arquivos/arquivoree.py +2 -0
- inewave/nwlistop/modelos/arquivos/arquivoreepatamar.py +2 -0
- inewave/nwlistop/modelos/arquivos/arquivorestricao.py +2 -0
- inewave/nwlistop/modelos/arquivos/arquivorestricaopatamar.py +2 -0
- inewave/nwlistop/modelos/arquivos/arquivosin.py +2 -0
- inewave/nwlistop/modelos/arquivos/arquivosinpatamar.py +2 -0
- inewave/nwlistop/modelos/arquivos/arquivosubmercado.py +2 -0
- inewave/nwlistop/modelos/arquivos/arquivosubmercadopatamar.py +2 -0
- inewave/nwlistop/modelos/arquivos/arquivousina.py +2 -0
- inewave/nwlistop/modelos/arquivos/arquivousinapatamar.py +2 -0
- inewave/nwlistop/modelos/blocos/estacaobombeamento.py +2 -0
- inewave/nwlistop/modelos/blocos/parsubmercados.py +2 -0
- inewave/nwlistop/modelos/blocos/ree.py +2 -0
- inewave/nwlistop/modelos/blocos/restricao.py +2 -0
- inewave/nwlistop/modelos/blocos/submercado.py +2 -0
- inewave/nwlistop/modelos/blocos/usina.py +2 -0
- inewave/nwlistop/modelos/blocos/valoresclassetermicaseriepatamar.py +8 -0
- inewave/nwlistop/modelos/blocos/valoresserie.py +2 -0
- inewave/nwlistop/modelos/blocos/valoresseriepatamar.py +2 -0
- inewave/nwlistop/modelos/c_v_rhq.py +2 -0
- inewave/nwlistop/modelos/c_v_rhq_s.py +2 -0
- inewave/nwlistop/modelos/c_v_rhv.py +2 -0
- inewave/nwlistop/modelos/c_v_rhv_s.py +2 -0
- inewave/nwlistop/modelos/cbomb.py +2 -0
- inewave/nwlistop/modelos/cbombsin.py +2 -0
- inewave/nwlistop/modelos/cdef.py +2 -0
- inewave/nwlistop/modelos/cdefsin.py +2 -0
- inewave/nwlistop/modelos/celetricas.py +2 -0
- inewave/nwlistop/modelos/cmarg.py +2 -0
- inewave/nwlistop/modelos/cmargmed.py +2 -0
- inewave/nwlistop/modelos/coper.py +2 -0
- inewave/nwlistop/modelos/corteolm.py +2 -0
- inewave/nwlistop/modelos/cterm.py +2 -0
- inewave/nwlistop/modelos/ctermsin.py +2 -0
- 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/def.py +2 -0
- inewave/nwlistop/modelos/defsin.py +2 -0
- inewave/nwlistop/modelos/deletricas.py +2 -0
- inewave/nwlistop/modelos/depminuh.py +2 -0
- inewave/nwlistop/modelos/desvuh.py +2 -0
- inewave/nwlistop/modelos/dflppdfmaxm.py +2 -0
- inewave/nwlistop/modelos/dflpptbmaxm.py +2 -0
- inewave/nwlistop/modelos/dfphauh.py +2 -0
- inewave/nwlistop/modelos/dlppdfmax.py +2 -0
- inewave/nwlistop/modelos/dlppdfmaxs.py +2 -0
- inewave/nwlistop/modelos/dlpptbmax.py +2 -0
- inewave/nwlistop/modelos/dlpptbmaxs.py +2 -0
- inewave/nwlistop/modelos/dnegevap.py +2 -0
- inewave/nwlistop/modelos/dposevap.py +2 -0
- inewave/nwlistop/modelos/dtbmax.py +2 -0
- inewave/nwlistop/modelos/dtbmin.py +2 -0
- inewave/nwlistop/modelos/dvazmax.py +2 -0
- inewave/nwlistop/modelos/eaf.py +2 -0
- inewave/nwlistop/modelos/eafb.py +2 -0
- inewave/nwlistop/modelos/eafbm.py +2 -0
- inewave/nwlistop/modelos/eafbsin.py +2 -0
- inewave/nwlistop/modelos/eafm.py +2 -0
- inewave/nwlistop/modelos/earmf.py +2 -0
- inewave/nwlistop/modelos/earmfm.py +2 -0
- inewave/nwlistop/modelos/earmfp.py +2 -0
- inewave/nwlistop/modelos/earmfpm.py +2 -0
- inewave/nwlistop/modelos/earmfpsin.py +2 -0
- inewave/nwlistop/modelos/earmfsin.py +2 -0
- inewave/nwlistop/modelos/edesvc.py +2 -0
- inewave/nwlistop/modelos/edesvcm.py +2 -0
- inewave/nwlistop/modelos/edesvcsin.py +2 -0
- inewave/nwlistop/modelos/evapo.py +2 -0
- inewave/nwlistop/modelos/evapom.py +2 -0
- inewave/nwlistop/modelos/evaporsin.py +2 -0
- inewave/nwlistop/modelos/evert.py +2 -0
- inewave/nwlistop/modelos/evertm.py +2 -0
- inewave/nwlistop/modelos/evertsin.py +2 -0
- inewave/nwlistop/modelos/exces.py +2 -0
- inewave/nwlistop/modelos/excessin.py +2 -0
- inewave/nwlistop/modelos/form_rhq.py +2 -0
- inewave/nwlistop/modelos/form_rhv.py +2 -0
- inewave/nwlistop/modelos/fteolm.py +2 -0
- inewave/nwlistop/modelos/fteolsin.py +2 -0
- inewave/nwlistop/modelos/geol.py +2 -0
- inewave/nwlistop/modelos/geolm.py +2 -0
- inewave/nwlistop/modelos/geolsin.py +2 -0
- inewave/nwlistop/modelos/gh_fphexat.py +2 -0
- inewave/nwlistop/modelos/ghidr.py +2 -0
- inewave/nwlistop/modelos/ghidrm.py +2 -0
- inewave/nwlistop/modelos/ghidrsin.py +2 -0
- inewave/nwlistop/modelos/ghiduh.py +2 -0
- inewave/nwlistop/modelos/ghmax.py +2 -0
- inewave/nwlistop/modelos/ghmax_fpha.py +2 -0
- inewave/nwlistop/modelos/ghmax_fphc.py +2 -0
- inewave/nwlistop/modelos/ghmaxm.py +2 -0
- inewave/nwlistop/modelos/ghmaxmr.py +2 -0
- inewave/nwlistop/modelos/ghmaxr.py +2 -0
- inewave/nwlistop/modelos/ghmaxrsin.py +2 -0
- inewave/nwlistop/modelos/ghmaxsin.py +2 -0
- inewave/nwlistop/modelos/ghtot.py +2 -0
- inewave/nwlistop/modelos/ghtotm.py +2 -0
- inewave/nwlistop/modelos/ghtotsin.py +2 -0
- inewave/nwlistop/modelos/gtert.py +2 -0
- inewave/nwlistop/modelos/gttot.py +2 -0
- inewave/nwlistop/modelos/gttotsin.py +2 -0
- inewave/nwlistop/modelos/hjus.py +2 -0
- inewave/nwlistop/modelos/hliq.py +2 -0
- inewave/nwlistop/modelos/hmont.py +2 -0
- inewave/nwlistop/modelos/intercambio.py +2 -0
- inewave/nwlistop/modelos/invade.py +2 -0
- inewave/nwlistop/modelos/invadem.py +2 -0
- inewave/nwlistop/modelos/mediasmerc.py +2 -0
- inewave/nwlistop/modelos/mediasree.py +2 -0
- inewave/nwlistop/modelos/mediasrep.py +2 -0
- inewave/nwlistop/modelos/mediasrhq.py +2 -0
- inewave/nwlistop/modelos/mediasrhv.py +2 -0
- inewave/nwlistop/modelos/mediassin.py +2 -0
- inewave/nwlistop/modelos/mediasusie.py +2 -0
- inewave/nwlistop/modelos/mediasusih.py +2 -0
- inewave/nwlistop/modelos/mediasusit.py +2 -0
- inewave/nwlistop/modelos/mercl.py +2 -0
- inewave/nwlistop/modelos/merclsin.py +2 -0
- inewave/nwlistop/modelos/mevmin.py +2 -0
- inewave/nwlistop/modelos/mevminm.py +2 -0
- inewave/nwlistop/modelos/mevminsin.py +2 -0
- inewave/nwlistop/modelos/nwlistopdat.py +11 -0
- inewave/nwlistop/modelos/perdf.py +2 -0
- inewave/nwlistop/modelos/perdfm.py +2 -0
- inewave/nwlistop/modelos/perdfsin.py +2 -0
- inewave/nwlistop/modelos/pivarm.py +22 -0
- inewave/nwlistop/modelos/pivarmincr.py +22 -0
- inewave/nwlistop/modelos/qafluh.py +2 -0
- inewave/nwlistop/modelos/qbomb.py +28 -0
- inewave/nwlistop/modelos/qdesviouh.py +28 -0
- inewave/nwlistop/modelos/qincruh.py +2 -0
- inewave/nwlistop/modelos/qturuh.py +28 -0
- inewave/nwlistop/modelos/qvertuh.py +28 -0
- inewave/nwlistop/modelos/rhslppdf.py +2 -0
- inewave/nwlistop/modelos/rhslpptb.py +2 -0
- inewave/nwlistop/modelos/vagua.py +2 -0
- inewave/nwlistop/modelos/valor_agua.py +24 -0
- inewave/nwlistop/modelos/varmpuh.py +2 -0
- inewave/nwlistop/modelos/varmuh.py +2 -0
- inewave/nwlistop/modelos/vbomb.py +2 -0
- inewave/nwlistop/modelos/vdesviouh.py +2 -0
- inewave/nwlistop/modelos/vento.py +2 -0
- inewave/nwlistop/modelos/vertuh.py +2 -0
- inewave/nwlistop/modelos/verturb.py +2 -0
- inewave/nwlistop/modelos/verturbm.py +2 -0
- inewave/nwlistop/modelos/verturbsin.py +2 -0
- inewave/nwlistop/modelos/vevapuh.py +2 -0
- inewave/nwlistop/modelos/vevmin.py +2 -0
- inewave/nwlistop/modelos/vevminm.py +2 -0
- inewave/nwlistop/modelos/vevminsin.py +2 -0
- inewave/nwlistop/modelos/vghmin.py +2 -0
- inewave/nwlistop/modelos/vghminm.py +2 -0
- inewave/nwlistop/modelos/vghminsin.py +2 -0
- inewave/nwlistop/modelos/vghminuh.py +2 -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_rhq.py +2 -0
- inewave/nwlistop/modelos/viol_rhv.py +2 -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/vmort.py +2 -0
- inewave/nwlistop/modelos/vmortm.py +2 -0
- inewave/nwlistop/modelos/vmortsin.py +2 -0
- inewave/nwlistop/modelos/vretiradauh.py +26 -0
- inewave/nwlistop/modelos/vturuh.py +2 -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.4.dist-info → inewave-1.8.0.dist-info}/METADATA +2 -2
- {inewave-1.7.4.dist-info → inewave-1.8.0.dist-info}/RECORD +373 -264
- 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_dger.py +0 -2
- 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_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.4.dist-info → inewave-1.8.0.dist-info}/LICENSE.md +0 -0
- {inewave-1.7.4.dist-info → inewave-1.8.0.dist-info}/WHEEL +0 -0
- {inewave-1.7.4.dist-info → inewave-1.8.0.dist-info}/top_level.txt +0 -0
tests/libs/test_restricoes.py
CHANGED
|
@@ -230,7 +230,6 @@ def test_registro_rhv():
|
|
|
230
230
|
with patch("builtins.open", m):
|
|
231
231
|
with open("", "") as fp:
|
|
232
232
|
r.read(fp)
|
|
233
|
-
print(r.data)
|
|
234
233
|
assert r.data == [1, "1*vtur(18) + 2*vver(17) + 2*varm(18)"]
|
|
235
234
|
assert r.codigo_restricao == 1
|
|
236
235
|
r.codigo_restricao = 5
|
|
@@ -328,8 +327,6 @@ def test_leitura_escrita_restricoes():
|
|
|
328
327
|
linhas_escritas = [
|
|
329
328
|
chamadas[i].args[0] for i in range(1, len(chamadas) - 1)
|
|
330
329
|
]
|
|
331
|
-
for li in linhas_escritas:
|
|
332
|
-
print(li)
|
|
333
330
|
m_releitura: MagicMock = mock_open(read_data="".join(linhas_escritas))
|
|
334
331
|
with patch("builtins.open", m_releitura):
|
|
335
332
|
cf2 = Restricoes.read(ARQ_TESTE)
|
|
@@ -478,8 +478,6 @@ def test_leitura_escrita_usinas_hidreletricas():
|
|
|
478
478
|
linhas_escritas = [
|
|
479
479
|
chamadas[i].args[0] for i in range(1, len(chamadas) - 1)
|
|
480
480
|
]
|
|
481
|
-
for li in linhas_escritas:
|
|
482
|
-
print(li)
|
|
483
481
|
m_releitura: MagicMock = mock_open(read_data="".join(linhas_escritas))
|
|
484
482
|
with patch("builtins.open", m_releitura):
|
|
485
483
|
cf2 = UsinasHidreletricas.read(ARQ_TESTE)
|
tests/mocks/arquivos/pivarm.py
CHANGED
|
@@ -2012,3 +2012,25 @@ MockPivarm = [
|
|
|
2012
2012
|
" MAX 0.00 0.00 0.00 14.47 14.06 14.19 13.59 13.28 13.25 14.25 14.46 14.52\n",
|
|
2013
2013
|
"\n",
|
|
2014
2014
|
]
|
|
2015
|
+
|
|
2016
|
+
MockPivarm_v29_2 = [
|
|
2017
|
+
" Caso Teste \n",
|
|
2018
|
+
" VALOR DA AGUA CALCULADO NO PROPRIO ESTAGIO ($/hm3) USINA:CAMARGOS \n",
|
|
2019
|
+
"\n",
|
|
2020
|
+
" ANO: 2021\n",
|
|
2021
|
+
" 1 2 3 4 5 6 7 8 9 10 11 12 MEDIA\n",
|
|
2022
|
+
" 1 -0.1414677E+07 -0.1349311E+07 -0.1334812E+07 -0.3122534E+06 -0.5733238E+06 -0.8118121E+06 -0.9579259E+06 -0.1287244E+07 -0.1610343E+07 -0.1938827E+07 -0.1400416E+07 -0.1193002E+07 -0.1181996E+07\n",
|
|
2023
|
+
" 2 -0.1633927E+07 -0.1921184E+07 -0.1903470E+07 -0.2510122E+07 -0.1315049E+07 -0.1194394E+07 -0.7854828E+06 -0.8918289E+06 -0.9381198E+06 -0.8028469E+06 -0.4377851E+06 0.7291253E+00 -0.1194517E+07\n",
|
|
2024
|
+
" 3 -0.1470586E+07 -0.1487987E+07 -0.4378156E+06 0.4789146E+00 0.3522076E+00 -0.1315093E+06 -0.1511477E+06 -0.4878529E+05 -0.6861371E+05 -0.3434183E+04 -0.4708708E+04 0.7652909E+00 -0.3170488E+06\n",
|
|
2025
|
+
" 4 -0.1001131E+07 -0.8632798E+06 -0.5095322E+06 0.5867786E+00 0.3681660E+00 -0.1458308E+06 -0.3703057E+06 -0.4865548E+06 -0.4771853E+06 -0.2797431E+06 -0.3693978E+06 -0.4779100E+06 -0.4150725E+06\n",
|
|
2026
|
+
" 5 -0.4394022E+06 0.7009254E+00 0.7982943E+00 0.6948820E+00 0.6731272E+00 0.7516054E+00 0.6621739E+00 -0.2243781E+04 -0.1740437E+04 -0.7347510E+03 0.7666521E+00 0.7963766E+00 -0.3700961E+05\n",
|
|
2027
|
+
" 6 -0.9954916E+06 0.2414514E+00 0.7362821E+00 0.4232431E+00 0.3790797E+00 -0.1609476E+06 -0.2888754E+06 -0.3122430E+06 -0.3584640E+06 -0.3386253E+06 -0.7581071E+04 0.3811179E+00 -0.2051855E+06\n",
|
|
2028
|
+
" 7 -0.1191626E+07 -0.1477003E+07 -0.7068472E+06 -0.7207408E+06 -0.7899582E+06 -0.6012040E+06 -0.1025739E+07 -0.1086481E+07 -0.1088286E+07 -0.1387582E+07 -0.1170988E+07 -0.4186739E+06 -0.9720941E+06\n",
|
|
2029
|
+
" MEDIA -0.1271068E+07 -0.9755682E+06 -0.7278995E+06 -0.5929452E+06 -0.5217324E+06 -0.5974791E+06 -0.6373254E+06 -0.6762271E+06 -0.7116699E+06 -0.7282038E+06 -0.6689438E+06 -0.3910162E+06 -0.7083398E+06\n",
|
|
2030
|
+
" DPADRAO 0.5510314E+06 0.6807061E+06 0.7767428E+06 0.7558677E+06 0.7142074E+06 0.7226282E+06 0.7491109E+06 0.7806701E+06 0.8726851E+06 0.1074805E+07 0.1119712E+07 0.5807778E+06\n",
|
|
2031
|
+
" MIN -0.2735416E+07 -0.3664930E+07 -0.4198116E+07 -0.5733930E+07 -0.5186678E+07 -0.7157272E+07 -0.8462130E+07 -0.9812189E+07 -0.6095935E+07 -0.7423367E+07 -0.7979637E+07 -0.4036746E+07\n",
|
|
2032
|
+
" P5 -0.2299674E+07 -0.2205085E+07 -0.2325010E+07 -0.2281097E+07 -0.2170567E+07 -0.2214207E+07 -0.1921539E+07 -0.1952641E+07 -0.2229460E+07 -0.2769849E+07 -0.3480252E+07 -0.1660316E+07\n",
|
|
2033
|
+
" P95 -0.4034075E+06 0.4249327E+00 0.7811375E+00 0.7300804E+00 0.6745794E+00 0.5851984E+00 -0.7322466E+04 -0.2296590E+04 -0.1844317E+04 0.0000000E+00 0.7381992E+00 0.7933396E+00\n",
|
|
2034
|
+
" MAX -0.3530049E+04 0.4580274E+04 0.7991294E+00 0.7966098E+00 0.7876535E+00 0.7873833E+00 0.7144043E+00 0.3738879E+00 0.7184766E+00 0.7333333E+00 0.7987911E+00 0.7988697E+00\n",
|
|
2035
|
+
"\n",
|
|
2036
|
+
]
|
|
@@ -82,3 +82,25 @@ MockPivarmincr = [
|
|
|
82
82
|
" P95 0.98 0.94 0.94 0.88 0.77 0.76 0.78 0.58 0.50 0.51 0.88 0.91\n",
|
|
83
83
|
" MAX 0.98 0.94 0.94 0.88 0.77 0.76 0.78 0.58 0.50 0.51 0.88 0.91\n",
|
|
84
84
|
]
|
|
85
|
+
|
|
86
|
+
MockPivarmincr_v29_2 = [
|
|
87
|
+
" Caso Teste \n",
|
|
88
|
+
" VALOR DA AGUA INCREMENTAL CALCULADO NO PROPRIO ESTAGIOUSINA:FURNAS \n",
|
|
89
|
+
"\n",
|
|
90
|
+
" ANO: 2021\n",
|
|
91
|
+
" 1 2 3 4 5 6 7 8 9 10 11 12 MEDIA\n",
|
|
92
|
+
" 1 -0.1414677E+07 -0.1349311E+07 -0.1334812E+07 -0.3122534E+06 -0.5733238E+06 -0.8118121E+06 -0.9579259E+06 -0.1287244E+07 -0.1610343E+07 -0.1938827E+07 -0.1400416E+07 -0.1193002E+07 -0.1181996E+07\n",
|
|
93
|
+
" 2 -0.1633927E+07 -0.1921184E+07 -0.1903470E+07 -0.2510122E+07 -0.1315049E+07 -0.1194394E+07 -0.7854828E+06 -0.8918289E+06 -0.9381198E+06 -0.8028469E+06 -0.4377851E+06 0.7291253E+00 -0.1194517E+07\n",
|
|
94
|
+
" 3 -0.1470586E+07 -0.1487987E+07 -0.4378156E+06 0.4789146E+00 0.3522076E+00 -0.1315093E+06 -0.1511477E+06 -0.4878529E+05 -0.6861371E+05 -0.3434183E+04 -0.4708708E+04 0.7652909E+00 -0.3170488E+06\n",
|
|
95
|
+
" 4 -0.1001131E+07 -0.8632798E+06 -0.5095322E+06 0.5867786E+00 0.3681660E+00 -0.1458308E+06 -0.3703057E+06 -0.4865548E+06 -0.4771853E+06 -0.2797431E+06 -0.3693978E+06 -0.4779100E+06 -0.4150725E+06\n",
|
|
96
|
+
" 5 -0.4394022E+06 0.7009254E+00 0.7982943E+00 0.6948820E+00 0.6731272E+00 0.7516054E+00 0.6621739E+00 -0.2243781E+04 -0.1740437E+04 -0.7347510E+03 0.7666521E+00 0.7963766E+00 -0.3700961E+05\n",
|
|
97
|
+
" 6 -0.9954916E+06 0.2414514E+00 0.7362821E+00 0.4232431E+00 0.3790797E+00 -0.1609476E+06 -0.2888754E+06 -0.3122430E+06 -0.3584640E+06 -0.3386253E+06 -0.7581071E+04 0.3811179E+00 -0.2051855E+06\n",
|
|
98
|
+
" 7 -0.1191626E+07 -0.1477003E+07 -0.7068472E+06 -0.7207408E+06 -0.7899582E+06 -0.6012040E+06 -0.1025739E+07 -0.1086481E+07 -0.1088286E+07 -0.1387582E+07 -0.1170988E+07 -0.4186739E+06 -0.9720941E+06\n",
|
|
99
|
+
" MEDIA -0.1271068E+07 -0.9755682E+06 -0.7278995E+06 -0.5929452E+06 -0.5217324E+06 -0.5974791E+06 -0.6373254E+06 -0.6762271E+06 -0.7116699E+06 -0.7282038E+06 -0.6689438E+06 -0.3910162E+06 -0.7083398E+06\n",
|
|
100
|
+
" DPADRAO 0.5510314E+06 0.6807061E+06 0.7767428E+06 0.7558677E+06 0.7142074E+06 0.7226282E+06 0.7491109E+06 0.7806701E+06 0.8726851E+06 0.1074805E+07 0.1119712E+07 0.5807778E+06\n",
|
|
101
|
+
" MIN -0.2735416E+07 -0.3664930E+07 -0.4198116E+07 -0.5733930E+07 -0.5186678E+07 -0.7157272E+07 -0.8462130E+07 -0.9812189E+07 -0.6095935E+07 -0.7423367E+07 -0.7979637E+07 -0.4036746E+07\n",
|
|
102
|
+
" P5 -0.2299674E+07 -0.2205085E+07 -0.2325010E+07 -0.2281097E+07 -0.2170567E+07 -0.2214207E+07 -0.1921539E+07 -0.1952641E+07 -0.2229460E+07 -0.2769849E+07 -0.3480252E+07 -0.1660316E+07\n",
|
|
103
|
+
" P95 -0.4034075E+06 0.4249327E+00 0.7811375E+00 0.7300804E+00 0.6745794E+00 0.5851984E+00 -0.7322466E+04 -0.2296590E+04 -0.1844317E+04 0.0000000E+00 0.7381992E+00 0.7933396E+00\n",
|
|
104
|
+
" MAX -0.3530049E+04 0.4580274E+04 0.7991294E+00 0.7966098E+00 0.7876535E+00 0.7873833E+00 0.7144043E+00 0.3738879E+00 0.7184766E+00 0.7333333E+00 0.7987911E+00 0.7988697E+00\n",
|
|
105
|
+
"\n",
|
|
106
|
+
]
|
tests/mocks/arquivos/pmo.py
CHANGED
|
@@ -1,3 +1,7 @@
|
|
|
1
|
+
MockVersaoModeloPMO = [
|
|
2
|
+
" CEPEL MODELO ESTRATEGICO DE GERACAO HIDROTERMICA A SUBSISTEMAS VERSAO 29.3.1 \n"
|
|
3
|
+
]
|
|
4
|
+
|
|
1
5
|
MockBlocoEafPastTendenciaHidrolPMO = [
|
|
2
6
|
" ENERGIAS AFLUENTES PASSADAS PARA A TENDENCIA HIDROLOGICA EM REFERENCIA A PRIMEIRA CONFIGURACAO DO SISTEMA (MWmes)\n",
|
|
3
7
|
" X--------------------------------------------------------------------------------------------------------------------------------------------X\n",
|
|
@@ -7095,7 +7099,8 @@ MockBlocoCustoOperacaoTotalPMO = [
|
|
|
7095
7099
|
]
|
|
7096
7100
|
|
|
7097
7101
|
MockPMO = (
|
|
7098
|
-
|
|
7102
|
+
MockVersaoModeloPMO
|
|
7103
|
+
+ MockBlocoEafPastTendenciaHidrolPMO
|
|
7099
7104
|
+ MockBlocoEafPastCfugaMedioPMO
|
|
7100
7105
|
+ MockBlocoEnergiaArmazenadaMaximaPMO
|
|
7101
7106
|
+ MockBlocoEnergiaArmazenadaInicialPMO
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
MockViolFpha = [
|
|
2
|
+
" Caso Teste \n",
|
|
3
|
+
" VIOLACAO DA FPHA DA USINA (MWmes) USINA:CAMARGOS \n",
|
|
4
|
+
"\n",
|
|
5
|
+
" ANO: 2021\n",
|
|
6
|
+
" 1 2 3 4 5 6 7 8 9 10 11 12 MEDIA\n",
|
|
7
|
+
" 1 1 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00\n",
|
|
8
|
+
" 2 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00\n",
|
|
9
|
+
" 3 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00\n",
|
|
10
|
+
" 2 1 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00\n",
|
|
11
|
+
" 2 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00\n",
|
|
12
|
+
" 3 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00\n",
|
|
13
|
+
" 3 1 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00\n",
|
|
14
|
+
" 2 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00\n",
|
|
15
|
+
" 3 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00\n",
|
|
16
|
+
" 4 1 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00\n",
|
|
17
|
+
" 2 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00\n",
|
|
18
|
+
" 3 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00\n",
|
|
19
|
+
" 5 1 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00\n",
|
|
20
|
+
" 2 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00\n",
|
|
21
|
+
" 3 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00\n",
|
|
22
|
+
" 6 1 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00\n",
|
|
23
|
+
" 2 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00\n",
|
|
24
|
+
" 3 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00\n",
|
|
25
|
+
" 7 1 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00\n",
|
|
26
|
+
" 2 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00\n",
|
|
27
|
+
" 3 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00\n",
|
|
28
|
+
"\n",
|
|
29
|
+
]
|
tests/newave/test_dger.py
CHANGED
|
@@ -1431,8 +1431,6 @@ def test_leitura_escrita_dger():
|
|
|
1431
1431
|
linhas_escritas = [
|
|
1432
1432
|
chamadas[i].args[0] for i in range(1, len(chamadas) - 1)
|
|
1433
1433
|
]
|
|
1434
|
-
for lin in linhas_escritas:
|
|
1435
|
-
print(lin)
|
|
1436
1434
|
m_releitura: MagicMock = mock_open(read_data="".join(linhas_escritas))
|
|
1437
1435
|
with patch("builtins.open", m_releitura):
|
|
1438
1436
|
d2 = Dger.read(ARQ_TESTE)
|
|
@@ -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.
|
|
@@ -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.
|