コード例 #1
0
    def test_various_data(self):
        """Test alert logic against data in the specified fixture.

        Note that the input data is actually divided by 100 before
        being input to the function under test. This slightly
        unfortunate design comes from wanting to exercise a couple of
        interesting edge cases without making the tests less readable
        by introducing extra floating points to the test input
        fixture.

        """
        with open(
                settings.SITE_ROOT + '/frontend/tests/fixtures/'
                'alert_test_cases.txt', 'rb') as expected:
            test_cases = expected.readlines()
        for test in each_cusum_test(test_cases):
            cusum = bookmark_utils.CUSUM(test['data'],
                                         window_size=3,
                                         sensitivity=5)
            cusum.work()
            new_result_formatted = extract_percentiles_for_alerts(
                cusum.as_dict())
            error_message = "In test '%s':\n" % test['name']
            error_message += "   Input values: %s\n" % test['data']
            error_message += "Expected alerts: %s\n" % test['expected']
            self.assertEqual(
                new_result_formatted, test['expected'],
                error_message + "            Got: %s" % new_result_formatted)
            info = cusum.get_last_alert_info()
            if info:
                change = deltawords(info['to'] * 100.0, info['from'] * 100.0)
                self.assertEqual(test['deltawords'], change)
            else:
                self.assertEqual(test['deltawords'], 'not at all')
コード例 #2
0
 def test_deltawords_negative(self):
     self.assertEqual(t.deltawords(29, 0), "considerably")
コード例 #3
0
 def test_deltawords_negative(self):
     self.assertEqual(t.deltawords(29, 0), "considerably")
コード例 #4
0
 def test_deltawords_positive_all_sizes(self):
     self.assertEqual(t.deltawords(0, 100), "massively")
     self.assertEqual(t.deltawords(0, 29), "considerably")
     self.assertEqual(t.deltawords(0, 19), "moderately")
     self.assertEqual(t.deltawords(0, 1), "slightly")
     self.assertEqual(t.deltawords(0, 0), "not at all")
コード例 #5
0
 def test_deltawords_positive_all_sizes(self):
     self.assertEqual(t.deltawords(0, 100), "massively")
     self.assertEqual(t.deltawords(0, 29), "considerably")
     self.assertEqual(t.deltawords(0, 19), "moderately")
     self.assertEqual(t.deltawords(0, 1), "slightly")
     self.assertEqual(t.deltawords(0, 0), "not at all")