def test_substitute_default_on_call(self):
        """
        Verify substitution of default on call person.
        """
        default = 'Wengren'
        nc = NCCalendar(default=default, Greenlaw=[5, 7])
        s = nc.formatmonth(2016, 2)

        doc = html.fromstring(s)

        self.assertDay(doc, 'first', default, nots=['Greenlaw'])
        self.assertDay(doc, 'fifth', 'Greenlaw')
        self.assertDay(doc, 'seventh', 'Greenlaw', nots=['Wengren'])
    def test_presidents_day(self):
        """
        February should include president's day holiday.
        """
        nc = NCCalendar()
        s = nc.formatmonth(2016, 2)

        doc = html.fromstring(s)
        elt = doc.cssselect('td.holiday')[0]
        self.assertIn("15: Presidents Day", elt.text)

        self.assertDay(doc, 'holiday', 'Evans')
        self.assertDay(doc, 'fifteenth', 'Evans')
    def test_alternate_on_call(self):
        """
        Verify substitute on-call person.
        """
        nc = NCCalendar(Greenlaw=[5, 7], Kelley=29)
        s = nc.formatmonth(2016, 2)

        doc = html.fromstring(s)

        self.assertDay(doc, 'fifteenth', 'Evans', nots=['Greenlaw'])
        self.assertDay(doc, 'fifth', 'Greenlaw', nots=['Evans'])
        self.assertDay(doc, 'seventh', 'Greenlaw', nots=['Evans'])
        self.assertDay(doc, 'twentynineth', 'Kelley', nots=['Evans',
                                                            'Greenlaw'])