def test_availability(self):
        """
        Tests check_availability().
        """
        # copy data to a temporary file
        src_file_path = os.path.join(BASE_DIR, u'data', u'days-off-with-expired-dates.txt')
        with codecs.open(src_file_path, 'r', 'utf-8') as f1:
            data = f1.read()
            with codecs.open(self.temp_file, 'w', 'utf-8') as f2:
                f2.write(data)

        parser = DaysOffParser()
        parser.load(self.temp_file)

        # 2016-02-22 is a Monday
        self.assertFalse(parser.check_availability(u'alice', datetime.date(2016, 2, 22)),
                         u"'alice' should NOT be available on Monday 2016-2-22.")
        # 2016-02-23 is a Tuesday
        self.assertTrue(parser.check_availability(u'alice', datetime.date(2016, 2, 23)),
                        u"'alice' should be available on Tuesday 2016-2-23.")

        parser.remove(u'alice', u'mon')

        # add today
        today_date = datetime.date.fromtimestamp(time.time())
        today_string = today_date.strftime(u"%Y-%m-%d")
        parser.add(u'alice', [today_string])
        self.assertFalse(parser.check_availability(u'alice', today_date),
                         u"'alice' should NOT be available today after addition.")