コード例 #1
0
 def test_Population_Standard_Deviation_calculator(self):
     test_data = CsvReader('Tests/Data/StatCalcData.csv').data
     answer = CsvReader('Tests/Data/StatAnswers.csv').data
     lst = data_add(test_data)
     for column in answer:
         self.assertEqual(self.statistics.stddev(lst),
                          float((column['stdev'])))
         self.assertNotEqual(self.statistics.stddev(lst),
                             float((column['stdev'])) * 3,
                             "Wrong Pop Std Deviation")
コード例 #2
0
 def test_zscore_calculator(self):
     test_data = CsvReader('Tests/Data/StatCalcData.csv').data
     answer = CsvReader('Tests/Data/StatAnswers.csv').data
     lst = data_add(test_data)
     for column in answer:
         self.assertEqual(self.statistics.z_score(lst),
                          float((column['zscore'])))
         self.assertNotEqual(self.statistics.z_score(lst),
                             float((column['zscore'])) * 2,
                             "Incorrect Z Score")
コード例 #3
0
 def test_Population_Mean_calculator(self):
     test_data = CsvReader('Tests/Data/StatCalcData.csv').data
     answer = CsvReader('Tests/Data/StatAnswers.csv').data
     lst = data_add(test_data)
     for column in answer:
         self.assertEqual(self.statistics.mean(lst), float(
             (column['mean'])))
         self.assertNotEqual(self.statistics.mean(lst),
                             float((column['mean'])) * 2,
                             "Mean does not match")
コード例 #4
0
 def test_Median_calculator(self):
     test_data = CsvReader('Tests/Data/StatCalcData.csv').data
     answer = CsvReader('Tests/Data/StatAnswers.csv').data
     lst = data_add(test_data)
     for column in answer:
         self.assertEqual(self.statistics.med(lst), float(
             (column['median'])))
         self.assertNotEqual(self.statistics.med(lst),
                             float((column['median'])) + 2,
                             "Incorrect Median")
コード例 #5
0
 def test_variance_population_proportion_calculator(self):
     test_data = CsvReader('Tests/Data/StatCalcData.csv').data
     answer = CsvReader('Tests/Data/StatAnswers.csv').data
     lst = []
     for row in test_data:
         y = int(row['Value 1'])
         lst.append(y)
     for column in answer:
         result = float((column['var_pop_prop']))
     self.assertEqual(self.statistics.vpop_proportion(lst), result)
コード例 #6
0
 def test_Mode_calculator(self):
     test_data = CsvReader('Tests/Data/StatCalcData.csv').data
     answer = CsvReader('Tests/Data/StatAnswers.csv').data
     lst = []
     for row in test_data:
         y = int(row['Value 1'])
         lst.append(y)
     for column in answer:
         result = float((column['mode']))
     self.assertEqual(self.statistics.mod(lst), result)
コード例 #7
0
 def test_variance_population_proportion_calculator(self):
     test_data = CsvReader('Tests/Data/StatCalcData.csv').data
     answer = CsvReader('Tests/Data/StatAnswers.csv').data
     lst = data_add(test_data)
     for column in answer:
         self.assertEqual(self.statistics.vpop_proportion(lst),
                          float((column['var_pop_prop'])))
         self.assertNotEqual(self.statistics.vpop_proportion(lst),
                             float((column['var_pop_prop'])) - 2,
                             "WrongResult")
コード例 #8
0
 def test_population_variance_calculator(self):
     test_data = CsvReader('Tests/Data/StatCalcData.csv').data
     answer = CsvReader('Tests/Data/StatAnswers.csv').data
     lst = data_add(test_data)
     for column in answer:
         self.assertEqual(self.statistics.pvariance(lst),
                          float((column['pop_variance'])))
         self.assertNotEqual(self.statistics.pvariance(lst),
                             float((column['pop_variance'])) - 3,
                             "Wrong Pop Var")
コード例 #9
0
 def test_proportion_calculator(self):
     test_data = CsvReader('Tests/Data/StatCalcData.csv').data
     answer = CsvReader('Tests/Data/StatAnswers.csv').data
     lst = data_add(test_data)
     for column in answer:
         self.assertEqual(self.statistics.proportion(lst),
                          float((column['proportion'])))
         self.assertNotEqual(self.statistics.proportion(lst),
                             float((column['proportion'])) - 2,
                             "Wrong Proportion")
コード例 #10
0
class MyTestCase(unittest.TestCase):
    def setUp(self) -> None:
        self.statistics = Statistics()

    test_data = CsvReader('Tests/CSVFiles/TestCaseData.csv').data
    test_answer = CsvReader('Tests/CSVFiles/TestAnswers.csv').data
    zscore_ans = CsvReader('Tests/CSVFiles/ZScores.csv').data
    zdata = [float(row['zscore']) for row in zscore_ans]
    column1 = [int(row['Value 1']) for row in test_data]
    column2 = [int(row['Value 2']) for row in test_data]

    def test_instantiate_calculator(self):
        self.assertIsInstance(self.statistics, Statistics)

    def test_mean_statistics(self):
        global row
        for row in self.test_answer:
            pprint(row["mean"])
        self.assertEqual(self.statistics.mean(self.column1), float(row['mean']))
        self.assertEqual(self.statistics.result, float(row['mean']))

    def test_median_statistics(self):
        global row
        for row in self.test_answer:
            pprint(row["median"])
        self.assertEqual(self.statistics.median(self.column1), float(row['median']))
        self.assertEqual(self.statistics.result, float(row['median']))

    def test_mode_statistics(self):
        for row in self.test_answer:
            pprint(row["mode"])
        self.assertEqual(self.statistics.mode(self.column1), float(row['mode']))
        self.assertEqual(self.statistics.result, float(row['mode']))

    def test_standard_deviation_statistics(self):
        for row in self.test_answer:
            pprint(row["stddev"])
        self.assertEqual(self.statistics.stddev(self.column1), float(row['stddev']))
        self.assertEqual(self.statistics.result, float(row['stddev']))

    def test_variance_statistics(self):
        for row in self.test_answer:
            pprint(row['variance'])
        self.assertEqual(self.statistics.variance(self.column1), float(row['variance']))
        self.assertEqual(self.statistics.result, float(row['variance']))

    def test_correlation_statistics(self):
        for row in self.test_answer:
            pprint(row['correlation'])
        self.assertEqual(self.statistics.correlation(self.column1, self.column2),
                         float(row['correlation']))
        self.assertEqual(self.statistics.result, float(row['correlation']))
コード例 #11
0
    def test_Population_Variance_calculator(self):

        test_data = CsvReader('Tests/Data/population_list.csv').data
        test_result = CsvReader('Tests/Data/result_data.csv').data
        list1 = []
        for column in test_result:
            result_test = float((column['Population_Variance']))
        for row in test_data:
            result = int(row['List1'])
            list1.append(result)

        self.assertEqual(round(self.Statistics.population_variance(list1)),
                         round(result_test))
コード例 #12
0
    def test_mode(self):
        test_data = CsvReader('Tests/Data/population_list.csv').data
        result_data = CsvReader('Tests/Data/result_data.csv').data

        for column in result_data:
            mode_value = float(column['Mode'])

        data = []

        for row in test_data:
            result = float(row['List1'])
            data.append(result)

        self.Statistics.mode(data)
        self.assertEqual(round(self.Statistics.result), round(mode_value))
コード例 #13
0
    def test_standard_deviation(self):
        test_data = CsvReader('Tests/Data/population_list.csv').data
        test_result = CsvReader('Tests/Data/result_data.csv').data

        for column in test_result:
            result_test = float(column['Standard Deviation'])

        list1 = []

        for row in test_data:
            result = float(row['List1'])
            list1.append(result)

        self.Statistics.standard_deviation(list1)
        self.assertEqual(round(self.Statistics.result), round(result_test))
コード例 #14
0
 def test_multiplication(self):
     test_data = CsvReader('Tests/Data/multiplication.csv').data
     for row in test_data:
         self.assertEqual(
             self.calculator.multiple(row['Value 1'], row['Value 2']),
             int(row['Result']))
         self.assertEqual(self.calculator.result, int(row['Result']))
コード例 #15
0
 def test_division(self):
     test_data = CsvReader('Tests/Data/division.csv').data
     for row in test_data:
         self.assertEqual(
             self.calculator.div(row['Value 1'], row['Value 2']),
             float(row['Result']))
         self.assertEqual(self.calculator.result, float(row['Result']))
コード例 #16
0
 def test_mode_statistics(self):
     test_data_mode = CsvReader("Tests/Data/descriptive_stats.csv").data
     for row in test_data_mode:
         input_data = ast.literal_eval(row['input'])
         mode_data = ast.literal_eval(row['mode'])
         self.assertEqual(self.statistics.mode(input_data), mode_data)
         self.assertEqual(self.statistics.result, mode_data)
コード例 #17
0
ファイル: test_median.py プロジェクト: dtchin2/python-calc-hw
    def test_sample_mean(self):
        try:
            mean_data = CsvReader('Data/unit_test_median.csv').data

            for d in mean_data:
                data_list = []
                first_val = int(d['Value 1'])
                data_list.append(first_val)
                second_val = int(d['Value 2'])
                data_list.append(second_val)
                third_val = int(d['Value 3'])
                data_list.append(third_val)
                fourth_val = int(d['Value 4'])
                data_list.append(fourth_val)
                fifth_val = int(d['Value 5'])
                data_list.append(fifth_val)
                six_val = int(d['Value 6'])
                data_list.append(six_val)
                seven_val = int(d['Value 7'])
                data_list.append(seven_val)
                eight_val = int(d['Value 8'])
                data_list.append(eight_val)
                nine_val = int(d['Value 9'])
                data_list.append(nine_val)

                self.assertAlmostEqual(self.statistics.median(data_list), int(d['Result']))
                self.assertAlmostEqual(self.statistics.result, int(d['Result']))
        except:
            FileNotFoundError("Error. File was not found")
コード例 #18
0
 def test_square_rt_method_calculator(self):
     test_data = CsvReader("Tests/Data/square_root.csv").data
     for row in test_data:
         y = float(row['Result'])
         self.assertEqual(self.calculator.square_rt(int(row['Value 1'])),
                          round(y, 7))
         self.assertEqual(self.calculator.result, round(y, 7))
コード例 #19
0
 def test_add_method_calculator(self):
     test_data = CsvReader("Tests/Data/addition.csv").data
     for row in test_data:
         self.assertEqual(
             self.calculator.add(int(row['Value 1']), int(row['Value 2'])),
             int(row['Result']))
         self.assertEqual(self.calculator.result, int(row['Result']))
コード例 #20
0
 def test_squareroot(self):
     test_data = CsvReader("Tests/Data/squareroot.csv").data
     for row in test_data:
         result = float(row['Result'])
         self.assertAlmostEqual(self.calculator.squareroot(row['Value 1']),
                                result)
         self.assertAlmostEqual(self.calculator.result, result)
コード例 #21
0
 def test_division(self):
     test_data = CsvReader("Tests/Data/division.csv").data
     for row in test_data:
         result = float(row['Result'])
         self.assertAlmostEqual(
             self.calculator.divide(row['Value 1'], row['Value 2']), result)
         self.assertAlmostEqual(self.calculator.result, result)
コード例 #22
0
 def test_addition(self):
     test_data = CsvReader("Tests/Data/addition.csv").data
     for row in test_data:
         result = float(row['Result'])
         self.assertEqual(
             self.calculator.add(row['Value 1'], row['Value 2']), result)
         self.assertEqual(self.calculator.result, result)
コード例 #23
0
 def test_median(self):
     test_data = CsvReader('./Tests/Data/unit_test_median.csv').data
     for row in test_data:
         nums = [float(val) for val in row['nums'].split('_')]
         result = float(row['result'])
         self.assertAlmostEqual(self.statistic.median(nums), result)
         self.assertNotEqual(self.statistic.median(nums), result - 1)
コード例 #24
0
 def test_mean(self):
     test_data = CsvReader("/Tests/Data/Mean.csv").data
     for row in test_data:
         self.assertEqual(
             self.statistics.mean(row['Value 1'], row['Value 2']),
             float(row['Result']))
         self.assertEqual(self.statistics.result, float(row['Result']))
コード例 #25
0
 def correlation_coefficient(self):
     test_data = CsvReader("/Tests/Data/correlationcoefficient.csv").data
     for row in test_data:
         self.assertEqual(
             self.statistics.correlation_coefficient(row['Value 1']),
             float(row['Result']))
         self.assertEqual(self.statistics.result, float(row['Result']))
コード例 #26
0
 def test_addition(self):
     test_data_add = CsvReader('./Tests/Data/Unit Test Addition.csv').data
     for row in test_data_add:
         self.assertEqual(
             self.calculator.add(row['Value 1'], row['Value 2']),
             int(row['Result']))
         self.assertEqual(self.calculator.result, int(row['Result']))
コード例 #27
0
 def test_zscore(self):
     test_data = CsvReader("/Tests/Data/zscore.csv").data
     for row in test_data:
         self.assertEqual(
             self.statistics.zscore(row['Value 1'], row['Value 2'],
                                    row['Value 3']), float(row['Result']))
         self.assertEqual(self.statistics.result, float(row['Result']))
コード例 #28
0
 def test_SquareRoot(self):
     test_data = CsvReader('./Tests/Data/UnitTestSquareRoot.csv').data
     for row in test_data:
         a = int(row['Value 1'])
         result = float(row['Result'])
         self.assertAlmostEqual(self.statistic.squareRoot(a), result)
         self.assertNotEqual(self.statistic.squareRoot(a), result - 1)
コード例 #29
0
    def test_sample_mean(self):
        try:
            mean_data = CsvReader(
                'Data/unit_test_confidence_interval.csv').data

            for d in mean_data:
                data_list = []
                first_val = int(d['Value 1'])
                data_list.append(first_val)
                second_val = int(d['Value 2'])
                data_list.append(second_val)
                third_val = int(d['Value 3'])
                data_list.append(third_val)
                fourth_val = int(d['Value 4'])
                data_list.append(fourth_val)
                fifth_val = int(d['Value 5'])
                data_list.append(fifth_val)

                six_val = int(d['Value 6'])

                self.assertAlmostEqual(
                    self.statistics.confidence_interval(data_list, six_val),
                    int(d['Result']))
                self.assertAlmostEqual(self.statistics.result,
                                       int(d['Result']))
        except:
            FileNotFoundError("Error. File was not found")
コード例 #30
0
    def test_sample_mean(self):
        mean_data = CsvReader('Data/unit_test_population_correlation_coefficient.csv').data

        for d in mean_data:

            x_vals = []
            y_vals = []

            X1 = int(d['X1'])
            x_vals.append(X1)
            Y1 = int(d['Y1'])
            y_vals.append(Y1)
            X2 = int(d['X2'])
            x_vals.append(X2)
            Y2 = int(d['Y2'])
            y_vals.append(Y2)
            X3 = int(d['X3'])
            x_vals.append(X3)
            Y3 = int(d['Y3'])
            y_vals.append(Y3)
            X4 = int(d['X4'])
            x_vals.append(X4)
            Y4 = int(d['Y4'])
            y_vals.append(Y4)
            X5 = int(d['X5'])
            x_vals.append(X5)
            Y5 = int(d['Y5'])
            y_vals.append(Y5)

            self.assertAlmostEqual(self.statistics.population_corre_coefficient(x_vals, y_vals), float(d['Result']), places=3)
            self.assertAlmostEqual(self.statistics.result, float(d['Result']), places=3)