class Test_gets(object):
    @classmethod
    def setup_class(self):
        """
        Setup code run before any tests are run
        """
        self.alert = Alert({    'id': 'testAlert',
                                'onsetDate': datetime(1997, 7, 16, 19, 20, tzinfo=tzoffset(None, 3600)),
                                'expireDate': datetime(2000, 7, 16, 19, 20, tzinfo=tzoffset(None, 3600)),
                                'isUpdate': False,
                                'isCancel': False,
                                'locations':[] 
                            })
        self.alert.add_all_locations([(00.00, 00.00), (11.11, 11.11)])

    @classmethod
    def teardown_class(self):
        """
        Teardown code run after all tests are run
        """
        self.alert = None

    def test_get_id_happy_path(self):
        assert_equal(self.alert.get_id(), 'testAlert')
        assert_equal(self.alert.get_id(), self.alert.id)

    def test_get_onsetDate_happy_path(self):
        assert_equal(self.alert.get_onsetDate(), datetime(1997, 7, 16, 19, 20, tzinfo=tzoffset(None, 3600)))
        assert_equal(self.alert.get_onsetDate(), self.alert.onsetDate)

    def test_get_expireDate_happy_path(self):
        assert_equal(self.alert.get_expireDate(), datetime(2000, 7, 16, 19, 20, tzinfo=tzoffset(None, 3600)))
        assert_equal(self.alert.get_expireDate(), self.alert.expireDate)

    def test_get_locations_happy_path(self):
        assert_equal(self.alert.get_locations(), [(00.00, 00.00), (11.11, 11.11)])
        assert_equal(self.alert.get_locations(), self.alert.locations)

    def test_get_isUpdate_happy_path(self):
        assert_equal(self.alert.get_isUpdate(), False)
        assert_equal(self.alert.get_isUpdate(), self.alert.isUpdate)