@@ -27,6 +27,26 @@ def populate_commodities(default_new_input, con):
2727 return read_commodities_csv (f , con )
2828
2929
30+ @fixture
31+ def populate_commodity_trade (
32+ default_new_input , con , populate_commodities , populate_regions
33+ ):
34+ from muse .new_input .readers import read_commodity_trade_csv
35+
36+ with open (default_new_input / "commodity_trade.csv" ) as f :
37+ return read_commodity_trade_csv (f , con )
38+
39+
40+ @fixture
41+ def populate_commodity_costs (
42+ default_new_input , con , populate_commodities , populate_regions
43+ ):
44+ from muse .new_input .readers import read_commodity_costs_csv
45+
46+ with open (default_new_input / "commodity_costs.csv" ) as f :
47+ return read_commodity_costs_csv (f , con )
48+
49+
3050@fixture
3151def populate_demand (default_new_input , con , populate_regions , populate_commodities ):
3252 from muse .new_input .readers import read_demand_csv
@@ -35,6 +55,16 @@ def populate_demand(default_new_input, con, populate_regions, populate_commoditi
3555 return read_demand_csv (f , con )
3656
3757
58+ @fixture
59+ def populate_demand_slicing (
60+ default_new_input , con , populate_regions , populate_commodities
61+ ):
62+ from muse .new_input .readers import read_demand_slicing_csv
63+
64+ with open (default_new_input / "demand_slicing.csv" ) as f :
65+ return read_demand_slicing_csv (f , con )
66+
67+
3868@fixture
3969def populate_regions (default_new_input , con ):
4070 from muse .new_input .readers import read_regions_csv
@@ -43,17 +73,43 @@ def populate_regions(default_new_input, con):
4373 return read_regions_csv (f , con )
4474
4575
46- def test_read_regions (populate_regions ):
47- assert populate_regions ["id" ] == np .array (["R1" ])
48-
49-
50- def test_read_new_global_commodities (populate_commodities ):
76+ def test_read_commodities_csv (populate_commodities ):
5177 data = populate_commodities
5278 assert list (data ["id" ]) == ["electricity" , "gas" , "heat" , "wind" , "CO2f" ]
5379 assert list (data ["type" ]) == ["energy" ] * 5
5480 assert list (data ["unit" ]) == ["PJ" ] * 4 + ["kt" ]
5581
5682
83+ def test_read_commodity_trade_csv (populate_commodity_trade ):
84+ data = populate_commodity_trade
85+ assert data ["commodity" ].size == 0
86+ assert data ["region" ].size == 0
87+ assert data ["year" ].size == 0
88+ assert data ["import" ].size == 0
89+ assert data ["export" ].size == 0
90+
91+
92+ def test_read_commodity_costs_csv (populate_commodity_costs ):
93+ data = populate_commodity_costs
94+ # Only checking the first element of each array, as the table is large
95+ assert next (iter (data ["commodity" ])) == "electricity"
96+ assert next (iter (data ["region" ])) == "R1"
97+ assert next (iter (data ["year" ])) == 2010
98+ assert next (iter (data ["value" ])) == approx (14.81481 )
99+
100+
101+ def test_read_demand_csv (populate_demand ):
102+ data = populate_demand
103+ assert np .all (data ["year" ] == np .array ([2020 , 2050 ]))
104+ assert np .all (data ["commodity" ] == np .array (["heat" , "heat" ]))
105+ assert np .all (data ["region" ] == np .array (["R1" , "R1" ]))
106+ assert np .all (data ["demand" ] == np .array ([10 , 30 ]))
107+
108+
109+ def test_read_regions_csv (populate_regions ):
110+ assert populate_regions ["id" ] == np .array (["R1" ])
111+
112+
57113def test_calculate_global_commodities (populate_commodities ):
58114 from muse .new_input .readers import calculate_global_commodities
59115
@@ -69,23 +125,15 @@ def test_calculate_global_commodities(populate_commodities):
69125 assert list (data .data_vars ["unit" ].values ) == list (populate_commodities ["unit" ])
70126
71127
72- def test_read_new_global_commodities_type_constraint (default_new_input , con ):
128+ def test_read_global_commodities_type_constraint (default_new_input , con ):
73129 from muse .new_input .readers import read_commodities_csv
74130
75131 csv = StringIO ("id,type,unit\n foo,invalid,bar\n " )
76132 with raises (duckdb .ConstraintException ):
77133 read_commodities_csv (csv , con )
78134
79135
80- def test_new_read_demand_csv (populate_demand ):
81- data = populate_demand
82- assert np .all (data ["year" ] == np .array ([2020 , 2050 ]))
83- assert np .all (data ["commodity" ] == np .array (["heat" , "heat" ]))
84- assert np .all (data ["region" ] == np .array (["R1" , "R1" ]))
85- assert np .all (data ["demand" ] == np .array ([10 , 30 ]))
86-
87-
88- def test_new_read_demand_csv_commodity_constraint (
136+ def test_read_demand_csv_commodity_constraint (
89137 default_new_input , con , populate_commodities , populate_regions
90138):
91139 from muse .new_input .readers import read_demand_csv
@@ -95,7 +143,7 @@ def test_new_read_demand_csv_commodity_constraint(
95143 read_demand_csv (csv , con )
96144
97145
98- def test_new_read_demand_csv_region_constraint (
146+ def test_read_demand_csv_region_constraint (
99147 default_new_input , con , populate_commodities , populate_regions
100148):
101149 from muse .new_input .readers import read_demand_csv
0 commit comments