3535"""
3636import unittest
3737from pathlib import Path
38- from shutil import rmtree
3938
4039from buildingsync_asset_extractor .processor import BSyncProcessor
4140
@@ -46,13 +45,12 @@ def setUp(self):
4645 self .no_ns_testfile = Path (__file__ ).parent / 'files' / 'testfile2.xml'
4746 self .output_dir = Path (__file__ ).parent / 'output'
4847 self .out_file = 'testoutput.json'
48+ self .out_file_2 = 'testoutput_2.json'
4949 self .num_assets_to_extract = 8
5050 self .num_sections_in_testfile = 3
5151
5252 # create output dir
53- if self .output_dir .exists ():
54- rmtree (self .output_dir )
55- self .output_dir .mkdir (parents = True )
53+ self .output_dir .mkdir (parents = True , exist_ok = True )
5654
5755 print ("TESTFILE: {}" .format (self .testfile ))
5856 self .bp = BSyncProcessor (self .testfile )
@@ -66,6 +64,9 @@ def test_initialize_and_parse(self):
6664 self .assertIsNotNone (doc )
6765
6866 def test_extract (self ):
67+ filename = self .output_dir / self .out_file_2
68+ if filename .exists ():
69+ filename .unlink ()
6970
7071 self .bp .extract ()
7172 sections = self .bp .get_sections ()
@@ -90,6 +91,9 @@ def test_extract(self):
9091 age = next ((item for item in assets if item ["name" ] == "Oldest Boiler" ), None )
9192 self .assertEqual (age ['value' ], '2010' )
9293
94+ filename = self .output_dir / self .out_file_2
95+ self .bp .save (filename )
96+
9397 def test_set_asset_defs (self ):
9498 num_assets_to_extract = 9
9599 test_assets_file = Path (__file__ ).parent / 'files' / 'test_asset_defs.json'
@@ -130,5 +134,7 @@ def test_extract_no_ns(self):
130134
131135 def test_save (self ):
132136 filename = self .output_dir / self .out_file
137+ if filename .exists ():
138+ filename .unlink ()
133139 self .bp .save (filename )
134140 self .assertTrue (filename .exists ())
0 commit comments