Code Duplication    Length = 21-27 lines in 4 locations

tests/stats/distribution_unit_test.py 2 locations

@@ 257-283 (lines=27) @@
254
              + ', standard_error = ' + str(sampling_distribution.standard_error) + ')')
255
        print('confidence level for 95% confidence level: ' + str(sampling_distribution.confidence_interval(0.95)))
256
257
    def test_confidence_interval_with_sample_simulation(self):
258
        grp1_sample = Sample()
259
        grp2_sample = Sample()
260
261
        for i in range(10):
262
            if random() <= 0.6:
263
                grp1_sample.add_category("OK")
264
            else:
265
                grp1_sample.add_category("CANCEL")
266
267
        for i in range(9):
268
            if random() <= 0.61:
269
                grp2_sample.add_category("OK")
270
            else:
271
                grp2_sample.add_category("CANCEL")
272
273
        sampling_distribution = ProportionDiffSamplingDistribution(
274
            grp1_sample_distribution=SampleDistribution(grp1_sample,
275
                                                        categorical_value="OK"),
276
            grp2_sample_distribution=SampleDistribution(
277
                grp2_sample,
278
                categorical_value="OK")
279
            )
280
        self.assertEqual(sampling_distribution.distribution_family, DistributionFamily.simulation)
281
        print('sampling distribution: (point_estimate = ' + str(sampling_distribution.point_estimate)
282
              + ', standard_error = ' + str(sampling_distribution.standard_error) + ')')
283
        print('confidence level for 95% confidence level: ' + str(sampling_distribution.confidence_interval(0.95)))
284
285
286
if __name__ == '__main__':
@@ 217-240 (lines=24) @@
214
              + ', standard_error = ' + str(sampling_distribution.standard_error) + ')')
215
        print('confidence level for 95% confidence level: ' + str(sampling_distribution.confidence_interval(0.95)))
216
217
    def test_confidence_interval_with_sample_normal(self):
218
        grp1_sample = Sample()
219
        grp2_sample = Sample()
220
221
        for i in range(100):
222
            if random() <= 0.6:
223
                grp1_sample.add_category("OK")
224
            else:
225
                grp1_sample.add_category("CANCEL")
226
227
        for i in range(100):
228
            if random() <= 0.61:
229
                grp2_sample.add_category("OK")
230
            else:
231
                grp2_sample.add_category("CANCEL")
232
233
        sampling_distribution = ProportionDiffSamplingDistribution(grp1_sample_distribution=SampleDistribution(
234
            grp1_sample, categorical_value="OK"),
235
            grp2_sample_distribution=SampleDistribution(
236
                grp2_sample, categorical_value="OK"))
237
        self.assertEqual(sampling_distribution.distribution_family, DistributionFamily.normal)
238
        print('sampling distribution: (point_estimate = ' + str(sampling_distribution.point_estimate)
239
              + ', standard_error = ' + str(sampling_distribution.standard_error) + ')')
240
        print('confidence level for 95% confidence level: ' + str(sampling_distribution.confidence_interval(0.95)))
241
242
    def test_confidence_interval_with_sample_stats_simulation(self):
243
        grp1_sample_proportion = 0.6

tests/dsl/one_group_unit_test.py 2 locations

@@ 76-96 (lines=21) @@
73
        self.assertFalse(reject_one_tail)
74
        self.assertFalse(reject_two_tail)
75
76
    def test_proportion_simulation(self):
77
        sample = Sample()
78
79
        for i in range(10):
80
            if random() <= 0.6:
81
                sample.add_category("OK")
82
            else:
83
                sample.add_category("CANCEL")
84
85
        sampling_distribution = ProportionSamplingDistribution(
86
            sample_distribution=SampleDistribution(sample, categorical_value="OK"))
87
88
        testing = ProportionTesting(sampling_distribution=sampling_distribution, p_null=0.6)
89
90
        print('one tail p-value: ' + str(testing.p_value_one_tail))
91
        print('two tail p-value: ' + str(testing.p_value_two_tail))
92
        reject_one_tail, reject_two_tail = testing.will_reject(0.01)
93
        print('will reject p = 0.6 (one-tail) ? ' + str(reject_one_tail))
94
        print('will reject p = 0.6 (two-tail) ? ' + str(reject_two_tail))
95
        self.assertFalse(reject_one_tail)
96
        self.assertFalse(reject_two_tail)
97
98
if __name__ == '__main__':
99
    unittest.main()
@@ 54-74 (lines=21) @@
51
52
53
class ProportionTestingUnitTest(unittest.TestCase):
54
    def test_proportion_normal(self):
55
        sample = Sample()
56
57
        for i in range(100):
58
            if random() <= 0.6:
59
                sample.add_category("OK")
60
            else:
61
                sample.add_category("CANCEL")
62
63
        sampling_distribution = ProportionSamplingDistribution(
64
            sample_distribution=SampleDistribution(sample, categorical_value="OK"))
65
66
        testing = ProportionTesting(sampling_distribution=sampling_distribution, p_null=0.6)
67
68
        print('one tail p-value: ' + str(testing.p_value_one_tail))
69
        print('two tail p-value: ' + str(testing.p_value_two_tail))
70
        reject_one_tail, reject_two_tail = testing.will_reject(0.01)
71
        print('will reject p = 0.6 (one-tail) ? ' + str(reject_one_tail))
72
        print('will reject p = 0.6 (two-tail) ? ' + str(reject_two_tail))
73
        self.assertFalse(reject_one_tail)
74
        self.assertFalse(reject_two_tail)
75
76
    def test_proportion_simulation(self):
77
        sample = Sample()