33from stattest .experiment .configuration .configuration import TestWorker , TestWorkerResult
44from stattest .experiment .hypothesis import AbstractHypothesis
55from stattest .experiment .test .power_calculation import calculate_test_power
6- from stattest .persistence .models import ICriticalValueStore , IPowerResultStore
6+ from stattest .persistence .models import ICriticalValueStore
77from stattest .test import AbstractTestStatistic
88
99
@@ -16,50 +16,38 @@ def __init__(self, test_code, alternative_code, size, alpha, power):
1616 self .alternative_code = alternative_code
1717
1818
19+ class BenchmarkWorkerResult (TestWorkerResult ):
20+ def __init__ (self , size : int , test_code : str , benchmark : [float ]):
21+ self .size = size
22+ self .benchmark = benchmark
23+ self .test_code = test_code
24+
25+
1926class PowerCalculationWorker (TestWorker ):
2027 def __init__ (
2128 self ,
2229 alpha ,
2330 monte_carlo_count ,
24- worker_result_store : IPowerResultStore ,
25- critical_value_store : ICriticalValueStore ,
31+ cv_store : ICriticalValueStore ,
2632 hypothesis : AbstractHypothesis ,
2733 ):
2834 self .alpha = alpha
2935 self .monte_carlo_count = monte_carlo_count
30- self .worker_result_store = worker_result_store
31- self .critical_value_store = critical_value_store
36+ self .cv_store = cv_store
3237 self .hypothesis = hypothesis
3338
3439 @override
3540 def init (self ):
36- self .critical_value_store .init ()
37- self .worker_result_store .init ()
41+ self .cv_store .init ()
42+
43+ def build_id (self , test : AbstractTestStatistic , data : [[float ]], code : str , size : int ) -> str :
44+ return "_" .join ([self .alpha , size , test .code (), code ])
3845
3946 @override
4047 def execute (
4148 self , test : AbstractTestStatistic , data : [[float ]], code : str , size : int
4249 ) -> PowerWorkerResult :
43- # 1. Check power result
44- power = self .worker_result_store .get_power (self .alpha , size , test .code (), code )
45- if power is not None :
46- return PowerWorkerResult (test .code (), code , size , self .alpha , power )
47-
48- # 2. Calculate power
4950 power = calculate_test_power (
50- test ,
51- data ,
52- self .hypothesis ,
53- self .alpha ,
54- self .critical_value_store ,
55- self .monte_carlo_count ,
51+ test , data , self .hypothesis , self .alpha , self .cv_store , self .monte_carlo_count
5652 )
57-
58- # 3. Save result
59- self .worker_result_store .insert_power (self .alpha , size , test .code (), code , power )
60-
6153 return PowerWorkerResult (test .code (), code , size , self .alpha , power )
62-
63- @override
64- def save_result (self , result : PowerWorkerResult ):
65- pass
0 commit comments