def test_spills_with_and_notwith_substance(self): ''' datastructure only adds substance/spills if substance is not None deleting spill resets datastructure. - the spills in _substances_spills 'is' the same as the spills in sc.spills - same object ''' sc = SpillContainer() sc.spills += [ Spill(Release(datetime.now(), 10), element_type=floating(substance=None), name='spill0'), Spill(Release(datetime.now(), 10), element_type=floating(substance=test_oil), name='spill1') ] assert len(sc.get_substances()) == 2 sc.prepare_for_model_run() all_spills = list(chain.from_iterable(sc._substances_spills.spills)) assert len(all_spills) == len(sc.spills) for spill in all_spills: assert sc.spills[spill.id] is spill del sc.spills[-1] assert len(sc.get_substances()) == 1 assert len(sc.iterspillsbysubstance()) == 1
def test_spills_with_and_notwith_substance(self): ''' datastructure only adds substance/spills if substance is not None deleting spill resets datastructure. - the spills in _substances_spills 'is' the same as the spills in sc.spills - same object ''' sc = SpillContainer() sc.spills += [Spill(Release(datetime.now(), 10), element_type=floating(substance=None), name='spill0'), Spill(Release(datetime.now(), 10), element_type=floating(substance=test_oil), name='spill1')] assert len(sc.get_substances()) == 2 sc.prepare_for_model_run() all_spills = list(chain.from_iterable(sc._substances_spills.spills)) assert len(all_spills) == len(sc.spills) for spill in all_spills: assert sc.spills[spill.id] is spill del sc.spills[-1] assert len(sc.get_substances()) == 1 assert len(sc.iterspillsbysubstance()) == 1
def test_spills_same_substance_init(self): sc = SpillContainer() et = floating(substance=test_oil) sp_add = [point_line_release_spill(3, (1, 1, 1), datetime.now(), element_type=et), Spill(Release(datetime.now(), 10), amount=100, units='kg', element_type=floating(substance=test_oil)), Spill(Release(datetime.now(), 10), element_type=floating(substance=et.substance)) ] sc.spills += sp_add assert len(sc.get_substances()) == 1 sc.prepare_for_model_run() assert all([sp_add == spills for spills in sc.iterspillsbysubstance()])
def test_spills_different_substance_init(self): sc = SpillContainer() splls0 = [point_line_release_spill(3, (1, 1, 1), datetime.now(), element_type=floating(substance=test_oil)), Spill(Release(datetime.now(), 10), element_type=floating(substance=test_oil)), ] sc.spills += splls0 splls1 = [Spill(Release(datetime.now(), 10), element_type=floating(substance='oil_crude')) ] sc.spills += splls1 assert (len(sc.get_substances()) == 2 and len(sc.iterspillsbysubstance()) == 2)
def test_spills_same_substance_init(self): sc = SpillContainer() et = floating(substance=test_oil) sp_add = [ point_line_release_spill(3, (1, 1, 1), datetime.now(), element_type=et), Spill(Release(datetime.now(), 10), amount=100, units='kg', element_type=floating(substance=test_oil)), Spill(Release(datetime.now(), 10), element_type=floating(substance=et.substance)) ] sc.spills += sp_add assert len(sc.get_substances()) == 1 sc.prepare_for_model_run() assert all([sp_add == spills for spills in sc.iterspillsbysubstance()])
def test_spills_different_substance_init(self): sc = SpillContainer() splls0 = [ point_line_release_spill( 3, (1, 1, 1), datetime.now(), element_type=floating(substance=test_oil)), Spill(Release(datetime.now(), 10), element_type=floating(substance=test_oil)), ] sc.spills += splls0 splls1 = [ Spill(Release(datetime.now(), 10), element_type=floating(substance='oil_crude')) ] sc.spills += splls1 assert (len(sc.get_substances()) == 2 and len(sc.iterspillsbysubstance()) == 2)
def test_no_substance(self): ''' no substance means run trajectory without an OilProps object/without weathering is one reason to do this ''' sc = SpillContainer() sc.spills += [Spill(Release(datetime.now(), 10), element_type=floating(substance=None), name='spill0'), Spill(Release(datetime.now(), 10), element_type=floating(substance=None), name='spill1')] assert len(sc.itersubstancedata('mass')) == 0 assert len(sc.get_substances()) == 1 assert len(sc.get_substances(complete=False)) == 0 # iterspillsbysubstance() iterates through all the spills associated # with each substance including the spills where substance is None assert len(sc.iterspillsbysubstance()) == 2
def test_no_substance(self): ''' no substance means run trajectory without an OilProps object/without weathering is one reason to do this ''' sc = SpillContainer() sc.spills += [ Spill(Release(datetime.now(), 10), element_type=floating(substance=None), name='spill0'), Spill(Release(datetime.now(), 10), element_type=floating(substance=None), name='spill1') ] assert len(sc.itersubstancedata('mass')) == 0 assert len(sc.get_substances()) == 1 # iterspillsbysubstance() iterates through all the spills associated # with each substance including the spills where substance is None assert len(sc.iterspillsbysubstance()) == 1 assert len(sc.iterspillsbysubstance()) == 1
def test_no_spills(self): 'test iterators work without any spills' sc = SpillContainer() assert len(sc.iterspillsbysubstance()) == 0 assert len(sc.get_substances()) == 0
def test_no_spills(self): 'test iterators work without any spills' sc = SpillContainer() assert len(sc.iterspillsbysubstance()) == 0 assert len(sc.get_substances()) == 1 assert len(sc.get_substances(complete=False)) == 0