@@ -13,7 +13,6 @@ use serde::{Deserialize, Serialize};
1313use std:: fs;
1414use std:: fs:: File ;
1515use std:: path:: { Path , PathBuf } ;
16- use std:: rc:: Rc ;
1716
1817/// The root folder in which model-specific output folders will be created
1918const OUTPUT_DIRECTORY_ROOT : & str = "muse2_results" ;
@@ -259,7 +258,7 @@ impl DataWriter {
259258 /// Write assets to a CSV file
260259 pub fn write_assets < ' a , I > ( & mut self , milestone_year : u32 , assets : I ) -> Result < ( ) >
261260 where
262- I : Iterator < Item = & ' a Rc < Asset > > ,
261+ I : Iterator < Item = & ' a AssetRef > ,
263262 {
264263 for asset in assets {
265264 let row = AssetRow :: new ( milestone_year, asset) ;
@@ -329,30 +328,28 @@ impl DataWriter {
329328mod tests {
330329 use super :: * ;
331330 use crate :: asset:: AssetPool ;
332- use crate :: fixture:: { asset , assets, commodity_id, region_id, time_slice} ;
331+ use crate :: fixture:: { assets, commodity_id, region_id, time_slice} ;
333332 use crate :: time_slice:: TimeSliceID ;
334333 use itertools:: { assert_equal, Itertools } ;
335334 use rstest:: rstest;
336335 use std:: iter;
337336 use tempfile:: tempdir;
338337
339338 #[ rstest]
340- fn test_write_assets ( asset : Asset ) {
341- let asset = asset. into ( ) ;
339+ fn test_write_assets ( assets : AssetPool ) {
342340 let milestone_year = 2020 ;
343341 let dir = tempdir ( ) . unwrap ( ) ;
344342
345343 // Write an asset
346344 {
347345 let mut writer = DataWriter :: create ( dir. path ( ) , false ) . unwrap ( ) ;
348- writer
349- . write_assets ( milestone_year, iter:: once ( & asset) )
350- . unwrap ( ) ;
346+ writer. write_assets ( milestone_year, assets. iter ( ) ) . unwrap ( ) ;
351347 writer. flush ( ) . unwrap ( ) ;
352348 }
353349
354350 // Read back and compare
355- let expected = AssetRow :: new ( milestone_year, & asset) ;
351+ let asset = assets. iter ( ) . next ( ) . unwrap ( ) ;
352+ let expected = AssetRow :: new ( milestone_year, asset) ;
356353 let records: Vec < AssetRow > = csv:: Reader :: from_path ( dir. path ( ) . join ( ASSETS_FILE_NAME ) )
357354 . unwrap ( )
358355 . into_deserialize ( )
@@ -364,8 +361,8 @@ mod tests {
364361 #[ rstest]
365362 fn test_write_flows ( assets : AssetPool , commodity_id : CommodityID , time_slice : TimeSliceID ) {
366363 let milestone_year = 2020 ;
367- let asset = assets. iter ( ) . next ( ) . unwrap ( ) . into ( ) ;
368- let flow_item = ( & asset, & commodity_id, & time_slice, 42.0 ) ;
364+ let asset = assets. iter ( ) . next ( ) . unwrap ( ) ;
365+ let flow_item = ( asset, & commodity_id, & time_slice, 42.0 ) ;
369366
370367 // Write a flow
371368 let dir = tempdir ( ) . unwrap ( ) ;
@@ -469,13 +466,13 @@ mod tests {
469466 let milestone_year = 2020 ;
470467 let value = 0.5 ;
471468 let dir = tempdir ( ) . unwrap ( ) ;
472- let asset = assets. iter ( ) . next ( ) . unwrap ( ) . into ( ) ;
469+ let asset = assets. iter ( ) . next ( ) . unwrap ( ) ;
473470
474471 // Write capacity dual
475472 {
476473 let mut writer = DebugDataWriter :: create ( dir. path ( ) ) . unwrap ( ) ;
477474 writer
478- . write_capacity_duals ( milestone_year, iter:: once ( ( & asset, & time_slice, value) ) )
475+ . write_capacity_duals ( milestone_year, iter:: once ( ( asset, & time_slice, value) ) )
479476 . unwrap ( ) ;
480477 writer. flush ( ) . unwrap ( ) ;
481478 }
0 commit comments