示例#1
0
    def test_subset_size_less_one(self):
        """Test exception and error message: subset_size < 1
        """
        with self.assertRaises(ValueError) as context:
            list(moving_average([1, 2, 3, 4, 5, 6], 0))

        self.assertTrue(
            'subset_size must be 1 or larger' in str(context.exception))
示例#2
0
    def test_data_size_less_subset_size(self):
        """Test exception and error message: data < subset_size
        """
        with self.assertRaises(ValueError) as context:
            list(moving_average([1, 2, 3, 4, 5, 6], 7))

        self.assertTrue(
            'subset_size must be smaller' in str(context.exception))
示例#3
0
 def test_proper_calculation_with_subset_size_1(self):
     self.assertEqual(list(moving_average([1, 2, 3, 4, 5, 6], 1)),
                      [1, 2, 3, 4, 5, 6])
示例#4
0
 def test_subset_size_is_not_int(self):
     with self.assertRaisesRegex(TypeError, 'subset_size must be integer'):
         list(moving_average([1, 2, 3, 4, 5, 6], "2"))
示例#5
0
 def test_proper_calculation_with_subset_size_2(self):
     self.assertEqual(list(moving_average([1, 2, 3, 4, 5, 6], 2)),
                      [1.5, 2.5, 3.5, 4.5, 5.5])
示例#6
0
        if parsed_args.spreadsheet:
            spreadsheet = google_client.open_by_key(parsed_args.spreadsheet)
        else:
            spreadsheet = google_client.open_by_url(parsed_args.link)
    except Exception as e:
        sys.exit("Spreadsheet not found. Walk on home boy.\n{}".format(e))

    list_of_worksheets = [sheet.title for sheet in spreadsheet.worksheets()]

    for sheet_title in list_of_worksheets:

        worksheet = spreadsheet.worksheet_by_title(sheet_title)
        sheet_values = worksheet.all_values()
        available_columns = [i.lower() for i in sheet_values[0]]

        if 'date' not in available_columns or 'visitors' not in available_columns:
            print('"date" or "visitors" column is absent'
                  ' in {} worksheet. Skipping processing...'.format(sheet_title))
            break

        visitors_position = available_columns.index('visitors') + 1
        fetched_visitors_list = [
            int(i) for i in worksheet.get_col(visitors_position)[1:]
            ]
        ma = list(moving_average(fetched_visitors_list, 2))
        ma.insert(0, "Moving average")
        # Adding moving average column to the worksheet
        worksheet.insert_cols(len(available_columns), values=ma)
else:
    print('Use --help for more detail')