Add more tests/checks in RAMP
Opened this issue · 0 comments
This is an exhaustive list of test ideas/suggestions that could be implemented prepared by @dhungelgd
-
Test rand_total_time_of_use:
- Test when the randomised time is lesser than the sum of all the total spaces available in the windows
- Test when the randomised time is greater than the sum of all the total spaces available in the windows (should return – randomised time = sum of the available time spaces within all the windows)
-
Test_switch_on:
- Test for num_windows = 1, 2 and 3 windows separately
For num_windows = 1- Test if the switch on is within the random window 1
For num_windows = 2 - Test if the switch on falls within the boundaries of randomised windows 1 & 2
For num_windows = 3 - Test if the switch on falls within the boundaries of randomised windows 1 & 2 &3
- Test if the switch on is within the random window 1
- Test for num_windows = 1, 2 and 3 windows separately
-
Test calc_indexes_for_rand_switch_on:
- Test for the upper limit value when
The difference between the switch ons is greater than the func_cycle value
The difference between the switch ons is lesser than the func_cycle value ( i.e there is an overlap between two switch ons)
There are no other switch-on events after the current one - Test for the indexes value when upper limit is greater than func_cycle
- Test for index when the upper limit is less than the func_cycle value of the appliance
- Test for the upper limit value when
-
Test calc_coincident_switch_on:
- Test when self.fixed = yes – i.e all the apps are switched on together (should return the total number of apps)
- Test when self.fixed= no and the index value lies in peak_time_range (test whether the coincidence values are normally distributed or not)
- Test when self.fixed = no and the index value lies in off peak time (test whether the coincidence values are uniformly distributed or not)
-
Test update_daily_use:
- Test when evaluate (mean of the indexes) is within 1st duty cycle
- Test when evaluate (mean of the indexes) is within 2nd duty cycle
- Test when evaluate (mean of the indexes) is within 3rd duty cycle
- Test for the case where no duty cycles are specified
-
Test calc_rand_window:
Check that the window boundaries are within the random_var- Test overflow
Check for window behaviour when the input time is greater than the sum of the time space available within the windows
Also for when func_time < sum of the available time spaces in all windows
- Test overflow
-
Test for different values of r_w
-
Test assign_random_cycles:
- Test when fixed_cycle = 1
- Test for number of fixed_cycle = 2
- Test for number of fixed_cycle = 3
-
Test that the new power values assigned to each cycles are within the range of the thermal_P_var
-
Test generate_load_profile:
- Test for indexes is None
-
Test maximum_profile:
- Test that maximum_profile == App.daily_use * np.mean (App.power) * App.number
-
Test generate_single_load_profile:
- Test for different occassional use
- Test for different weekend weekday behaviour
- Test for different pref_index
-
Test for flat appliances – test that if an app is flat, the power is calculated without further stochasticity
- Test for non-flat appliances
-
Test generate_aggregate_load_profile:
- Test the value of aggregated load for all users
-
Test calc_peak_time_range:
- Test user with single app with single window of one point (or more)
Then test for peak_enlarge = 0
And peak_enlarge = 0.15
- Test user with single app with single window of one point (or more)