def test_FragilityFunction_DSG_given_EDP_insufficient_samples(): """ Test if the function raises an error message if the number of EDP values provided is greater than the number of available samples from the RVS. """ # create a simple random variable RV = RandomVariable(ID=1, dimension_tags=['A'], distribution_kind='lognormal', theta=1.0, COV=1.0) # assign it to the fragility function RVS = RandomVariableSubset(RV=RV, tags=['A']) FF = FragilityFunction(EDP_limit=RVS) # sample 10 realizations RVS.sample_distribution(10) # create 100 EDP values EDP = np.ones(100) # try to get the DSG_IDs... and expect an error with pytest.raises(ValueError) as e_info: FF.DSG_given_EDP(EDP)
def test_ConsequenceFunction_sample_unit_DV_insufficient_samples(): """ Test if the function raises an error message if the number of samples requested is greater than the number of available samples from the RVS. """ # create a simple random variable RV = RandomVariable(ID=1, dimension_tags=['A'], distribution_kind='lognormal', theta=1.0, COV=1.0) # assign it to the fragility function RVS = RandomVariableSubset(RV=RV, tags=['A']) CF = ConsequenceFunction(DV_median=prep_constant_median_DV(1.0), DV_distribution=RVS) # sample 10 realizations RVS.sample_distribution(10) # try to get the DSG_IDs... and expect an error with pytest.raises(ValueError) as e_info: CF.sample_unit_DV(sample_size=100)