def test_calculate_years_difference_none(self):
        # Given
        with self.assertRaises(Exception) as e:

            # When
            calculate_years_difference(None, '2017-01-17')

        # Then
        self.assertEqual('Valid date(s) not passed to calculate_years_difference filter', str(e.exception))
    def test_calculate_years_difference(self):
        # Given
        ten_years_ago = (datetime.today()+relativedelta(years=-10)).strftime('%Y-%m-%d')

        date_list = [('2017-01-30', '2018-01-30', '1 year'),
                     ('2015-02-02', '2018-02-01', '2 years'),
                     ('2016-02-29', '2017-02-28', '1 year'),
                     ('2016-02-29', '2020-02-28', '3 years'),
                     (ten_years_ago, 'now', '10 years')]

        for dates in date_list:
            start_date = dates[0]
            end_date = dates[1]

            # When
            calculated_value = calculate_years_difference(start_date, end_date)

            # Then
            self.assertEqual(calculated_value, dates[2])