class ArrowTests(BaseArrowTests): def setUp(self): super(ArrowTests, self).setUp() self.arrow = Arrow(datetime.utcnow(), tz=tz.tzutc()) def test_str(self): expected = '{0} UTC'.format(self.arrow._datetime.isoformat()) self.assertEqual(self.arrow.__str__(), expected) def test_repr(self): expected = '<Arrow({0} UTC)>'.format(self.arrow._datetime.isoformat()) self.assertEqual(self.arrow.__repr__(), expected) def test_tz(self): self.arrow._timezone = self.utc self.assertEqual(self.arrow.tz, self.utc) def test_to(self): self.arrow._datetime = datetime.utcnow().replace(tzinfo=self.utc.tzinfo) self.arrow._timezone = self.utc result = self.arrow.to('local') self.assert_dt_equal(result.datetime, self.arrow._datetime.astimezone(self.local.tzinfo)) def test_utc_utc(self): self.arrow._datetime = datetime.now().replace(tzinfo=self.local.tzinfo) self.arrow._timezone = self.local result = self.arrow.utc() self.assert_dt_equal(result.datetime, self.arrow._datetime.astimezone(self.utc.tzinfo)) def test_utc_local(self): self.arrow._datetime = datetime.utcnow().replace(tzinfo=self.utc.tzinfo) self.arrow._timezone = self.utc result = self.arrow.utc() self.assert_dt_equal(result.datetime, self.arrow._datetime.astimezone(self.utc.tzinfo)) def test_datetime(self): dt = datetime.utcnow().replace(tzinfo=tz.tzutc()) self.arrow._datetime = dt self.arrow._timezone = self.utc result = self.arrow.datetime self.assertEqual(result, dt) def test_timestamp(self): dt = datetime.utcnow() self.arrow._datetime = dt self.arrow._timezone = self.utc result = self.arrow.timestamp self.assertEqual(result, calendar.timegm(dt.timetuple())) def test_parse_int(self): dt, timezone = self.arrow._parse(int(time.time()), self.utc) self.assert_dt_equal(dt, datetime.utcnow()) def test_parse_float_utc(self): dt, timezone = self.arrow._parse(time.time(), self.utc) self.assert_dt_equal(dt, datetime.utcnow()) def test_parse_float_local(self): dt, timezone = self.arrow._parse(time.time(), self.local) self.assert_dt_equal(dt, datetime.now()) def test_parse_str_float_utc(self): dt, timezone = self.arrow._parse(str(time.time()), self.utc) self.assert_dt_equal(dt, datetime.utcnow()) def test_parse_str_int_utc(self): dt, timezone = self.arrow._parse(str(int(time.time())), self.utc) self.assert_dt_equal(dt, datetime.utcnow()) def test_parse_str_float_local(self): dt, timezone = self.arrow._parse(str(time.time()), self.local) self.assert_dt_equal(dt, datetime.now()) def test_parse_str_int_local(self): dt, timezone = self.arrow._parse(str(int(time.time())), self.local) self.assert_dt_equal(dt, datetime.now()) def test_parse_parse_str(self): with self.assertRaises(ValueError): self.arrow._parse('abcdefg', self.utc) def test_parse_unrecognized(self): with self.assertRaises(ValueError): self.arrow._parse(object, self.utc)
class ArrowTests(BaseArrowTests): def setUp(self): super(ArrowTests, self).setUp() self.arrow = Arrow(datetime.utcnow(), tz=tz.tzutc()) def test_str(self): expected = '{0}.{1} +00:00 (UTC)'.format(time.strftime( '%x %X', self.arrow.datetime.timetuple()), self.arrow.datetime.microsecond) self.assertEqual(self.arrow.__str__(), expected) def test_repr(self): expected = 'Arrow({0}.{1} +00:00 (UTC))'.format(time.strftime( '%x %X', self.arrow.datetime.timetuple()), self.arrow.datetime.microsecond) self.assertEqual(self.arrow.__repr__(), expected) def test_tz(self): self.arrow._timezone = self.utc self.assertEqual(self.arrow.tz, self.utc) def test_to(self): self.arrow._datetime = datetime.utcnow().replace(tzinfo=self.utc.tzinfo) self.arrow._timezone = self.utc result = self.arrow.to('local') self.assert_dt_equal(result.datetime, self.arrow._datetime.astimezone(self.local.tzinfo)) def test_utc_utc(self): self.arrow._datetime = datetime.now().replace(tzinfo=self.local.tzinfo) self.arrow._timezone = self.local result = self.arrow.utc() self.assert_dt_equal(result.datetime, self.arrow._datetime.astimezone(self.utc.tzinfo)) def test_utc_local(self): self.arrow._datetime = datetime.utcnow().replace(tzinfo=self.utc.tzinfo) self.arrow._timezone = self.utc result = self.arrow.utc() self.assert_dt_equal(result.datetime, self.arrow._datetime.astimezone(self.utc.tzinfo)) def test_datetime(self): dt = datetime.utcnow().replace(tzinfo=tz.tzutc()) self.arrow._datetime = dt self.arrow._timezone = self.utc result = self.arrow.datetime self.assertEqual(result, dt) def test_timestamp(self): dt = datetime.utcnow() self.arrow._datetime = dt self.arrow._timezone = self.utc result = self.arrow.timestamp self.assertEqual(result, calendar.timegm(dt.timetuple())) def test_parse_int(self): dt, timezone = self.arrow._parse(int(time.time()), self.utc) self.assert_dt_equal(dt, datetime.utcnow()) def test_parse_float_utc(self): dt, timezone = self.arrow._parse(time.time(), self.utc) self.assert_dt_equal(dt, datetime.utcnow()) def test_parse_float_local(self): dt, timezone = self.arrow._parse(time.time(), self.local) self.assert_dt_equal(dt, datetime.now()) def test_parse_str_float_utc(self): dt, timezone = self.arrow._parse(str(time.time()), self.utc) self.assert_dt_equal(dt, datetime.utcnow()) def test_parse_str_int_utc(self): dt, timezone = self.arrow._parse(str(int(time.time())), self.utc) self.assert_dt_equal(dt, datetime.utcnow()) def test_parse_str_float_local(self): dt, timezone = self.arrow._parse(str(time.time()), self.local) self.assert_dt_equal(dt, datetime.now()) def test_parse_str_int_local(self): dt, timezone = self.arrow._parse(str(int(time.time())), self.local) self.assert_dt_equal(dt, datetime.now()) # def test_parse_datetime(self): # dt = datetime.utcnow() # result = self.arrow._parse(dt, self.utc) # self.assert_dt_equal(result, dt) def test_parse_parse_str(self): with self.assertRaises(ValueError): self.arrow._parse('abcdefg', self.utc) def test_parse_unrecognized(self): with self.assertRaises(ValueError): self.arrow._parse(object, self.utc)