def test_tw_gcal_n_back(self):
        """TW -> GCal -> TW conversion"""
        self.load_sample_items()
        tw_item_out = TWGCalAggregator.convert_gcal_to_tw(
            TWGCalAggregator.convert_tw_to_gcal(self.tw_item))

        self.assertSetEqual(
            set(self.tw_item) ^ set(tw_item_out),
            set({"entry", "due", "id", "tags", "urgency"}),
        )

        intersection = set(self.tw_item) & set(tw_item_out)
        self.assertDictEqual(
            {i: self.tw_item[i]
             for i in intersection},
            {i: tw_item_out[i]
             for i in intersection},
        )
    def test_gcal_tw_n_back(self):
        """GCal -> TW -> GCal conversion."""
        self.load_sample_items()
        gcal_item_out = TWGCalAggregator.convert_tw_to_gcal(
            TWGCalAggregator.convert_gcal_to_tw(self.gcal_item))

        self.assertSetEqual(
            set(self.gcal_item) ^ set(gcal_item_out),
            set({
                "htmlLink",
                "kind",
                "etag",
                "extendedProperties",
                "creator",
                "created",
                "organizer",
                "sequence",
                "status",
                "reminders",
                "iCalUID",
                "id",
            }),
        )
 def test_gcal_tw_date_convert(self):
     """GCal (with 'date' subfield) -> TW conversion."""
     self.load_sample_items()
     tw_item_out = TWGCalAggregator.convert_gcal_to_tw(
         self.gcal_item_w_date)
     self.assertDictEqual(tw_item_out, self.tw_item_w_date_expected)
 def test_gcal_tw_basic_convert(self):
     """Basic GCal -> TW conversion."""
     self.load_sample_items()
     tw_item_out = TWGCalAggregator.convert_gcal_to_tw(self.gcal_item)
     self.assertDictEqual(tw_item_out, self.tw_item_expected)