Ejemplo n.º 1
0
    def test_invalid_artimetic(self):
        with self.assertRaisesRegex(
                EmojiZoneException,
                "The first emoji must be a valid timezone, 3 is not"):
            convert("2020-03-07 00:00:00", "3️⃣➕🥖", "🥖")

        with self.assertRaisesRegex(EmojiZoneException,
                                    "Failed to parse emoji expression '1.0+"):
            convert("2020-03-07 00:00:00", "🥖➕", "🥖")
Ejemplo n.º 2
0
 def test_convert_string(self):
     self.assertEqual(
         convert("2020-03-07 00:00:00", "🗻", "🗽"),
         pytz.timezone('America/New_York').localize(
             datetime(2020, 3, 6, 10, 0, 0)),
     )
     self.assertEqual(
         convert("2020-03-07 00:00:00", "🗻", "🗽", as_string=True),
         "2020-03-06 10:00:00",
     )
Ejemplo n.º 3
0
 def test_aware_datetime(self):
     from_time = pytz.UTC.localize(datetime(2020, 3, 7, 0, 0, 0))
     self.assertEqual(
         convert(from_time, "🗻", "🗽"),
         pytz.timezone('America/New_York').localize(
             datetime(2020, 3, 6, 10, 0, 0)),
     )
Ejemplo n.º 4
0
 def test_convert_flags(self):
     self.assertEqual(
         convert(
             "2020-03-07 00:00:00",
             "🇸🇪",  # Sweden --> Europe/Stockholm
             "🇫🇮",  # Finland --> Europe/Helsinki
             as_string=True,
         ),
         "2020-03-07 01:00:00",
     )
Ejemplo n.º 5
0
    def test_invalid_emojis(self):
        with self.assertRaisesRegex(EmojiZoneException,
                                    "Need at least one emoji to convert"):
            convert("2020-03-07 00:00:00", "", "🗻")

        with self.assertRaisesRegex(EmojiZoneException,
                                    "Need at least one emoji to convert"):
            convert("2020-03-07 00:00:00", "🗻", "")

        with self.assertRaisesRegex(
                EmojiZoneException,
                "Received empty value instad of a datetime"):
            convert("", "🗻", "🗻")
Ejemplo n.º 6
0
 def test_timezone_aritmetic(self):
     self.assertEqual(
         convert("2020-03-07 00:00:00", "🥖", "🥖➕3️⃣", as_string=True),
         "2020-03-07 03:00:00",
     )
     self.assertEqual(
         convert("2020-03-07 00:00:00", "🥖", "🥖➖3️⃣", as_string=True),
         "2020-03-06 21:00:00",
     )
     self.assertEqual(
         convert("2020-03-07 00:00:00",
                 "🥖",
                 "🥖➕4️⃣✖3️⃣➗2️⃣➖1️⃣",
                 as_string=True),
         "2020-03-07 05:00:00",
     )
     self.assertEqual(
         convert("2020-03-07 00:00:00", "🥖", "🥖+3️⃣", as_string=True),
         "2020-03-07 03:00:00",
     )
     self.assertEqual(
         convert("2020-03-07 00:00:00",
                 "🥖",
                 "🥖+4️⃣*3️⃣/2️⃣-1️⃣",
                 as_string=True),
         "2020-03-07 05:00:00",
     )
     self.assertEqual(
         convert("2020-03-07 00:00:00",
                 "🥖",
                 "🥖+🔟🔟-1️⃣0️⃣1️⃣0️⃣+🔟",
                 as_string=True),
         "2020-03-07 10:00:00",
     )
     self.assertEqual(
         convert("2020-03-07 00:00:00", "🥖", "🥖➕🥖", as_string=True),
         "2020-03-07 01:00:00",
     )
Ejemplo n.º 7
0
 def test_invalid_string_input(self):
     with self.assertRaisesRegex(
             EmojiZoneException,
             "Supplied string is not a valid datetime in the '%Y-%m-%d %H:%M:%S' format"
     ):
         convert("2020/01/01 00:00:00", "🗻", "🗻")