예제 #1
0
    def setUp(self):
        self._event_data = [
            {
                "UID":
                uuid.uuid4(),
                "DTSTART":
                datetime.datetime.strptime("20170201T120000", DT_STR_FMT),
                "DTEND":
                datetime.datetime.strptime("20170201T140000", DT_STR_FMT),
                "SUMMARY":
                "Test event",
                "CATEGORIES":
                "Test Python",
                "LOCATION":
                "Melbourne",
            },
            {
                "UID":
                uuid.uuid4(),
                "DTSTART":
                datetime.datetime.strptime("20170202T120000", DT_STR_FMT),
                "DTEND":
                datetime.datetime.strptime("20170202T140000", DT_STR_FMT),
                "SUMMARY":
                "Test event",
                "CATEGORIES":
                "Test Python",
                "LOCATION":
                "Melbourne",
            },
            {
                "UID": uuid.uuid4(),
                "DTSTART": datetime.datetime.strptime("20170201",
                                                      "%Y%m%d").date(),
                "DTEND": datetime.datetime.strptime("20170202",
                                                    "%Y%m%d").date(),
                "SUMMARY": "All-day event",
                "CATEGORIES": "Test Python",
                "LOCATION": "Melbourne",
            },
        ]
        self._event1 = cda.Event(**self._event_data[0])
        self._event2 = cda.Event(**self._event_data[1])
        self._event3 = cda.Event(**self._event_data[2])

        self._blocks = cda.create_blocks(
            datetime.datetime.strptime("20170201T000000", DT_STR_FMT),
            datetime.datetime.strptime("20170203T000000", DT_STR_FMT), 6, 22,
            4)
예제 #2
0
 def test_missing_start(self):
     """Test malformed data: start dt missing."""
     # Test an Event with no start dt
     malformed_data = self._event_data.copy()
     malformed_data[0]["DTSTART"] = None
     with self.assertRaises(TypeError) as context:
         cda.Event(**malformed_data[0])
예제 #3
0
 def test_zero_length_event(self):
     # Test a zero-length Event
     malformed_data = self._event_data.copy()
     malformed_data[0]["DTSTART"] = malformed_data[0]["DTEND"]
     self.assertEqual(malformed_data[0]["DTEND"],
                      malformed_data[0]["DTSTART"])
     with self.assertRaises(ValueError) as context:
         event = cda.Event(**malformed_data[0])
예제 #4
0
 def test_invalid_length_event(self):
     # Test an Event that has a start after the end
     malformed_data = self._event_data.copy()
     malformed_data[0]["DTEND"] = datetime.datetime.strptime(
         "2016201T120000", DT_STR_FMT)
     self.assertTrue(
         malformed_data[0]["DTEND"] < malformed_data[0]["DTSTART"])
     with self.assertRaises(ValueError) as context:
         cda.Event(**malformed_data[0])
예제 #5
0
 def setUp(self):
     self._event_data = [
         {
             "UID":
             uuid.uuid4(),
             "DTSTART":
             datetime.datetime.strptime("20170201T120000", DT_STR_FMT),
             "DTEND":
             datetime.datetime.strptime("20170201T1400", DT_STR_FMT),
             "SUMMARY":
             "Test event",
             "CATEGORIES":
             "Test Python",
             "LOCATION":
             "Melbourne",
         },
     ]
     self._event = cda.Event(**self._event_data[0])
예제 #6
0
 def test_missing_uuid(self):
     """Test creating and Event with no uuid data."""
     malformed_data = self._event_data.copy()
     del malformed_data[0]["UID"]
     with self.assertRaises(KeyError) as context:
         cda.Event(**malformed_data[0])
예제 #7
0
 def test_creation(self):
     """Test that an Event is created given correct input data."""
     event = cda.Event(**self._event_data[0])
     self.assertIsNotNone(event)