def test_json_basic(net_in, tmp_path): # tests the basic json functionality with the encoder/decoder classes filename = os.path.abspath(str(tmp_path)) + "testfile.json" with open(filename, 'w') as fp: json.dump(net_in, fp, cls=PPJSONEncoder) with open(filename) as fp: net_out = json.load(fp, cls=PPJSONDecoder) pp.convert_format(net_out) assert_net_equal(net_in, net_out)
def test_excel(net_in, tempdir): filename = os.path.join(tempdir, "testfile.xlsx") pp.to_excel(net_in, filename) net_out = pp.from_excel(filename) assert_net_equal(net_in, net_out) pp.set_user_pf_options(net_in, tolerance_kva=1e3) pp.to_excel(net_in, filename) net_out = pp.from_excel(filename) assert_net_equal(net_in, net_out) assert net_out.user_pf_options == net_in.user_pf_options
def test_excel(net_in, tmp_path): filename = os.path.abspath(str(tmp_path)) + "testfile.xlsx" pp.to_excel(net_in, filename) net_out = pp.from_excel(filename) assert_net_equal(net_in, net_out) # test in user_pf_options are equal pp.set_user_pf_options(net_in, tolerance_mva=1e3) pp.to_excel(net_in, filename) net_out = pp.from_excel(filename) assert_net_equal(net_in, net_out) assert net_out.user_pf_options == net_in.user_pf_options
def test_test_sn_kva(): test_net_gen1 = result_test_network_generator(sn_kva=1e3) test_net_gen2 = result_test_network_generator(sn_kva=2e3) for net1, net2 in zip(test_net_gen1, test_net_gen2): pp.runpp(net1) pp.runpp(net2) try: assert_net_equal(net1, net2) except: raise UserWarning( "Result difference due to sn_kva after adding %s" % net1.last_added_case)
def test_to_json_dtypes(tmp_path): filename = os.path.abspath(str(tmp_path)) + "testfile.json" net = create_test_network() pp.runpp(net) net['res_test'] = pd.DataFrame(columns=['test'], data=[1, 2, 3]) net['test'] = pd.DataFrame(columns=['test'], data=[1, 2, 3]) net.line['test'] = 123 net.res_line['test'] = 123 net.bus['test'] = 123 net.res_bus['test'] = 123 net.res_load['test'] = 123 pp.to_json(net, filename) net1 = pp.from_json(filename) assert_net_equal(net, net1)
def test_empty_geo_dataframe(): net = pp.create_empty_network() net.bus_geodata['geometry'] = None net.bus_geodata = gpd.GeoDataFrame(net.bus_geodata) s = pp.to_json(net) net1 = pp.from_json_string(s) assert assert_net_equal(net, net1)
def test_json_different_nets(): net = networks.mv_oberrhein() net2 = networks.simple_four_bus_system() control.ContinuousTapControl(net, 114, 1.02) net.tuple = (1, "4") net.mg = topology.create_nxgraph(net) json_string = json.dumps([net, net2], cls=PPJSONEncoder) [net_out, net2_out] = json.loads(json_string, cls=PPJSONDecoder) assert_net_equal(net_out, net) assert_net_equal(net2_out, net2) pp.runpp(net_out, run_control=True) pp.runpp(net, run_control=True) assert_net_equal(net, net_out)
def test_pickle(net_in, tmp_path): filename = os.path.abspath(str(tmp_path)) + "testfile.p" pp.to_pickle(net_in, filename) net_out = pp.from_pickle(filename) assert_net_equal(net_in, net_out)
def test_type_casting_json(net_in, tmp_path): filename = os.path.abspath(str(tmp_path)) + "testfile.json" net_in.sn_kva = 1000 pp.to_json(net_in, filename) net = pp.from_json(filename) assert_net_equal(net_in, net)
def test_sqlite(net_in, tempdir): filename = os.path.join(tempdir, "testfile.db") pp.to_sqlite(net_in, filename) net_out = pp.from_sqlite(filename) assert_net_equal(net_in, net_out)
def test_json(net_in, tempdir): filename = os.path.join(tempdir, "testfile.json") pp.to_json(net_in, filename) net_out = pp.from_json(filename) assert_net_equal(net_in, net_out)
def test_excel(net_in, tempdir): filename = os.path.join(tempdir, "testfile.xlsx") pp.to_excel(net_in, filename) net_out = pp.from_excel(filename) assert_net_equal(net_in, net_out)
def test_pickle(net_in, tempdir): filename = os.path.join(tempdir, "testfile.p") pp.to_pickle(net_in, filename) net_out = pp.from_pickle(filename) assert_net_equal(net_in, net_out)
def test_type_casting_json(net_in, tempdir): filename = os.path.join(tempdir, "testfile.json") net_in.sn_kva = 1000 pp.to_json(net_in, filename) net = pp.from_json(filename) assert_net_equal(net_in, net)
def test_pickle(): net_in = create_test_network() pp.to_pickle(net_in, "testfile.p") net_out = pp.from_pickle("testfile.p") assert_net_equal(net_in, net_out) os.remove('testfile.p')