Ejemplo n.º 1
0
    def test_stats_add_same_day_weighted(self, mock_logging):
        moav.log = mock_logging
        today = {'rate': 10000.00, 'currency': 'USD', 'count': 2}
        stats = Stats(int(datetime.date.today().strftime("%Y%j")), today)
        same_day = {'rate': 5000.00, 'currency': 'USD', 'count': 1}

        stats.add_day(int(datetime.date.today().strftime("%Y%j")), same_day)

        day = stats.get_day(int(datetime.date.today().strftime("%Y%j")))
        self.assertEqual(3, day['count'])
        self.assertAlmostEqual(8333.33, day['rate'], 2)
Ejemplo n.º 2
0
    def test_stats_get_ma(self, mock_logging):
        moav.log = mock_logging
        today = {'rate': 10000.00, 'currency': 'USD', 'count': 1}
        stats = Stats(int(datetime.date.today().strftime("%Y%j")), today)
        another_day = {'rate': 5000.00, 'currency': 'USD', 'count': 1}
        stats.add_day(
            int(datetime.date.today().strftime("%Y%j")) - 1, another_day)

        ma = stats.get_ma(2)

        self.assertEqual(7500.00, ma)
Ejemplo n.º 3
0
    def test_stats_add_same_day(self, mock_logging):
        moav.LOG = mock_logging
        today = {'rate': 10000.00, 'currency': 'USD', 'count': 1}
        stats = Stats(int(datetime.date.today().strftime("%Y%j")), today)
        same_day = {'rate': 5000.00, 'currency': 'USD', 'count': 1}

        stats.add_day(int(datetime.date.today().strftime("%Y%j")), same_day)

        day = stats.get_day(int(datetime.date.today().strftime("%Y%j")))
        self.assertEqual(2, day['count'])
        self.assertEqual(7500.00, day['rate'])
Ejemplo n.º 4
0
    def test_stats_get_ma_not_enough_data(self, mock_logging):
        moav.log = mock_logging
        today = {'rate': 10000.00, 'currency': 'USD', 'count': 1}
        stats = Stats(int(datetime.date.today().strftime("%Y%j")), today)
        same_day = {'rate': 5000.00, 'currency': 'USD', 'count': 1}
        stats.add_day(int(datetime.date.today().strftime("%Y%j")), same_day)

        ma = stats.get_ma(2)

        mock_logging.warning.assert_called_with(
            'Not enough historical data, requested %d, found %d', 2, 1)
        self.assertTrue(ma == 7500.00)
Ejemplo n.º 5
0
    def test_stats_get_ma_not_incomplete_data(self, mock_logging):
        moav.log = mock_logging
        today = {'rate': 10000.00, 'currency': 'USD', 'count': 1}
        stats = Stats(int(datetime.date.today().strftime("%Y%j")), today)
        same_day = {'rate': 5000.00, 'currency': 'USD', 'count': 1}
        stats.add_day(
            int(datetime.date.today().strftime("%Y%j")) - 2, same_day)
        earliest_day = int(datetime.date.today().strftime("%Y%j")) - 1

        ma = stats.get_ma(2)

        mock_logging.warning.assert_called_with(
            'Incomplete historical data, earliest day requested %d, found %d',
            earliest_day, earliest_day - 1)
        self.assertEqual(7500.00, ma)