Exemplo n.º 1
0
    def test_standard_parsing(self):

        results = chrono.parse("初めて動画が投稿されたのは 4月23日である", datetime(2012, 8, 10))
        self.assertEqual(len(results), 1)

        result = results[0]
        self.assertEqual(result.index, len('初めて動画が投稿されたのは '))
        self.assertEqual(result.text, '4月23日')
        self.assertEqual(result.start.get('day'), 23)
        self.assertEqual(result.start.get('month'), 4)
        self.assertEqual(result.start.get('year'), 2012)
        self.assertEqual(result.start.date(), datetime(2012, 4, 23, 12))

        results = chrono.parse("主な株主(2012年9月3日現在)", datetime(2012, 8, 10))
        self.assertEqual(len(results), 1)

        result = results[0]
        self.assertEqual(result.index, len('主な株主('))
        self.assertEqual(result.text, '2012年9月3日')
        self.assertEqual(result.start.get('day'), 3)
        self.assertEqual(result.start.get('month'), 9)
        self.assertEqual(result.start.get('year'), 2012)
        self.assertEqual(result.start.date(), datetime(2012, 9, 3, 12))

        results = chrono.parse("主な株主(2013年9月13日現在)", datetime(2012, 8, 10))
        self.assertEqual(len(results), 1)

        result = results[0]
        self.assertEqual(result.index, len('主な株主('))
        self.assertEqual(result.text, '2013年9月13日')
        self.assertEqual(result.start.get('day'), 13)
        self.assertEqual(result.start.get('month'), 9)
        self.assertEqual(result.start.get('year'), 2013)
        self.assertEqual(result.start.date(), datetime(2013, 9, 13, 12))
    def test_middle_endian(self):

        results = chrono.parse('Test : March 24, 2013')
        self.assertEqual(len(results), 1)

        result = results[0]
        self.assertEqual(result.index, 7)
        self.assertEqual(result.text, 'March 24, 2013')
        self.assertEqual(result.start.get('day'), 24)
        self.assertEqual(result.start.get('month'), 3)
        self.assertEqual(result.start.get('year'), 2013)
        self.assertEqual(result.start.date(), datetime(2013, 3, 24, 12))

        results = chrono.parse('Test : mar 24 2013')
        self.assertEqual(len(results), 1)

        result = results[0]
        self.assertEqual(result.index, 7)
        self.assertEqual(result.text, 'mar 24 2013')
        self.assertEqual(result.start.get('day'), 24)
        self.assertEqual(result.start.get('month'), 3)
        self.assertEqual(result.start.get('year'), 2013)
        self.assertEqual(result.start.date(), datetime(2013, 3, 24, 12))

        results = chrono.parse('Test : March 24, test', datetime(2000, 10, 1))
        self.assertEqual(len(results), 1)

        result = results[0]
        self.assertEqual(result.index, 7)
        self.assertEqual(result.text, 'March 24')
        self.assertEqual(result.start.get('day'), 24)
        self.assertEqual(result.start.get('month'), 3)
        self.assertEqual(result.start.get('year'), 2001)
        self.assertEqual(result.start.date(), datetime(2001, 3, 24, 12))
Exemplo n.º 3
0
    def test_slash_format_bc(self):

        # BC years
        results = chrono.parse('Test : 2/27/2556')
        self.assertEqual(len(results), 1)

        result = results[0]
        self.assertEqual(result.index, 7)
        self.assertEqual(result.text, '2/27/2556')
        self.assertEqual(result.start.get('day'), 27)
        self.assertEqual(result.start.get('month'), 2)
        self.assertEqual(result.start.get('year'), 2013)
        self.assertEqual(result.start.date(), datetime(2013, 2, 27, 12))

        # BC years short
        results = chrono.parse('Test : 2/27/56')
        self.assertEqual(len(results), 1)

        result = results[0]
        self.assertEqual(result.index, 7)
        self.assertEqual(result.text, '2/27/56')
        self.assertEqual(result.start.get('day'), 27)
        self.assertEqual(result.start.get('month'), 2)
        self.assertEqual(result.start.get('year'), 2013)
        self.assertEqual(result.start.date(), datetime(2013, 2, 27, 12))
    def test_little_endian(self):

        results = chrono.parse('Test : 24 March 2013')
        self.assertEqual(len(results), 1)

        result = results[0]
        self.assertEqual(result.index, 7)
        self.assertEqual(result.text, '24 March 2013')
        self.assertEqual(result.start.get('day'), 24)
        self.assertEqual(result.start.get('month'), 3)
        self.assertEqual(result.start.get('year'), 2013)
        self.assertEqual(result.start.date(), datetime(2013, 3, 24, 12))

        results = chrono.parse('Test : 24 Mar 2013')
        self.assertEqual(len(results), 1)

        result = results[0]
        self.assertEqual(result.index, 7)
        self.assertEqual(result.text, '24 Mar 2013')
        self.assertEqual(result.start.get('day'), 24)
        self.assertEqual(result.start.get('month'), 3)
        self.assertEqual(result.start.get('year'), 2013)
        self.assertEqual(result.start.date(), datetime(2013, 3, 24, 12))

        results = chrono.parse('Test : 24 mar 2013')
        self.assertEqual(len(results), 1)

        result = results[0]
        self.assertEqual(result.index, 7)
        self.assertEqual(result.text, '24 mar 2013')
        self.assertEqual(result.start.get('day'), 24)
        self.assertEqual(result.start.get('month'), 3)
        self.assertEqual(result.start.get('year'), 2013)
        self.assertEqual(result.start.date(), datetime(2013, 3, 24, 12))


        results = chrono.parse('Test : 24 Mar', datetime(2012,3,22))
        self.assertEqual(len(results), 1)

        result = results[0]
        self.assertEqual(result.index, 7)
        self.assertEqual(result.text, '24 Mar')
        self.assertEqual(result.start.get('day'), 24)
        self.assertEqual(result.start.get('month'), 3)
        self.assertEqual(result.start.get('year'), 2012)
        self.assertEqual(result.start.date(), datetime(2012, 3, 24, 12))


        results = chrono.parse('Test : 24 March, test', datetime(2000,10,1))
        self.assertEqual(len(results), 1)

        result = results[0]
        self.assertEqual(result.index, 7)
        self.assertEqual(result.text, '24 March')
        self.assertEqual(result.start.get('day'), 24)
        self.assertEqual(result.start.get('month'), 3)
        self.assertEqual(result.start.get('year'), 2001)
        self.assertEqual(result.start.date(), datetime(2001, 3, 24, 12))
Exemplo n.º 5
0
    def test_little_endian_with_imposible_date(self):
        results = chrono.parse("32 August")
        self.assertEquals(len(results), 0)

        results = chrono.parse("32 August 2014")
        self.assertEquals(len(results), 0)

        results = chrono.parse("29 Feb 2014")
        self.assertEquals(len(results), 0)
    def test_middle_endian_with_imposible_date(self):
        results = chrono.parse("August 32")
        self.assertEquals(len(results), 0)

        results = chrono.parse("August 32, 2014")
        self.assertEquals(len(results), 0)

        results = chrono.parse("Feb 29, 2014")
        self.assertEquals(len(results), 0)
Exemplo n.º 7
0
    def test_iso_format_with_imposible_date(self):

        results = chrono.parse("2013-8-32")
        self.assertEquals(len(results), 0)

        results = chrono.parse("2014-8-32")
        self.assertEquals(len(results), 0)

        results = chrono.parse("2014-2-29")
        self.assertEquals(len(results), 0)
    def test_date_time_as_point(self):

        results = chrono.parse('Test : 2013-2-27T21:08:12')
        self.assertEqual(len(results), 1)

        result = results[0]
        self.assertEqual(result.index, 7)
        self.assertEqual(result.text, '2013-2-27T21:08:12')
        self.assertEqual(result.start.get('day'), 27)
        self.assertEqual(result.start.get('month'), 2)
        self.assertEqual(result.start.get('year'), 2013)
        self.assertEqual(result.start.get('hour'), 21)
        self.assertEqual(result.start.get('minute'), 8)
        self.assertEqual(result.start.get('second'), 12)
        self.assertEqual(result.start.date(), datetime(2013, 2, 27, 21,8,12))


        results = chrono.parse('Test : 21:08:12 on 2013-2-27')
        
        self.assertEqual(len(results), 1)
        result = results[0]
        self.assertEqual(result.index, 7)
        self.assertEqual(result.text, '21:08:12 on 2013-2-27')
        self.assertEqual(result.start.get('day'), 27)
        self.assertEqual(result.start.get('month'), 2)
        self.assertEqual(result.start.get('year'), 2013)
        self.assertEqual(result.start.get('hour'), 21)
        self.assertEqual(result.start.get('minute'), 8)
        self.assertEqual(result.start.get('second'), 12)
        self.assertEqual(result.start.date(), datetime(2013, 2, 27, 21,8,12))

        results = chrono.parse('Test : 2013-2-27 at 21:08:12')
        self.assertEqual(len(results), 1)
        result = results[0]
        self.assertEqual(result.index, 7)
        self.assertEqual(result.text, '2013-2-27 at 21:08:12')
        self.assertEqual(result.start.get('day'), 27)
        self.assertEqual(result.start.get('month'), 2)
        self.assertEqual(result.start.get('year'), 2013)
        self.assertEqual(result.start.get('hour'), 21)
        self.assertEqual(result.start.get('minute'), 8)
        self.assertEqual(result.start.get('second'), 12)
        self.assertEqual(result.start.date(), datetime(2013, 2, 27, 21,8,12))

        results = chrono.parse('Test : 2013-2-27 on 9:08 PM')
        self.assertEqual(len(results), 1)
        result = results[0]
        self.assertEqual(result.index, 7)
        self.assertEqual(result.text, '2013-2-27 on 9:08 PM')
        self.assertEqual(result.start.get('day'), 27)
        self.assertEqual(result.start.get('month'), 2)
        self.assertEqual(result.start.get('year'), 2013)
        self.assertEqual(result.start.get('hour'), 21)
        self.assertEqual(result.start.get('minute'), 8)
        self.assertEqual(result.start.date(), datetime(2013, 2, 27, 21,8))
Exemplo n.º 9
0
    def test_basic_2_chorono_functions(self):

        results = chrono.parse('Hello World')
        self.assertEqual(len(results), 0)

        result = chrono.parse_date('Hello World')
        self.assertEqual(result, None)

        results = chrono.parse('Test : 2013-2-27')
        self.assertEqual(len(results), 1)

        result = results[0]
        self.assertEqual(result.index, 7)
        self.assertEqual(result.text, '2013-2-27')
Exemplo n.º 10
0
    def test_little_endian_range(self):

        results = chrono.parse('Test : 24 - 25 Mar', datetime(2012, 3, 22))
        self.assertEqual(len(results), 1)

        result = results[0]
        self.assertEqual(result.index, 7)
        self.assertEqual(result.text, '24 - 25 Mar')
        self.assertEqual(result.start.get('day'), 24)
        self.assertEqual(result.start.get('month'), 3)
        self.assertEqual(result.start.get('year'), 2012)
        self.assertEqual(result.start.date(), datetime(2012, 3, 24, 12))
        self.assertEqual(result.end.get('day'), 25)
        self.assertEqual(result.end.get('month'), 3)
        self.assertEqual(result.end.get('year'), 2012)
        self.assertEqual(result.end.date(), datetime(2012, 3, 25, 12))

        results = chrono.parse('Test : 24 - 25 Mar 2014',
                               datetime(2012, 3, 22))
        self.assertEqual(len(results), 1)

        result = results[0]
        self.assertEqual(result.index, 7)
        self.assertEqual(result.text, '24 - 25 Mar 2014')
        self.assertEqual(result.start.get('day'), 24)
        self.assertEqual(result.start.get('month'), 3)
        self.assertEqual(result.start.get('year'), 2014)
        self.assertEqual(result.start.date(), datetime(2014, 3, 24, 12))
        self.assertEqual(result.end.get('day'), 25)
        self.assertEqual(result.end.get('month'), 3)
        self.assertEqual(result.end.get('year'), 2014)
        self.assertEqual(result.end.date(), datetime(2014, 3, 25, 12))

        results = chrono.parse('Test : 24 Feb - 2 Mar 2014',
                               datetime(2012, 3, 22))
        self.assertEqual(len(results), 1)

        result = results[0]
        self.assertEqual(result.index, 7)
        self.assertEqual(result.text, '24 Feb - 2 Mar 2014')
        self.assertEqual(result.start.get('day'), 24)
        self.assertEqual(result.start.get('month'), 2)
        self.assertEqual(result.start.get('year'), 2014)
        self.assertEqual(result.start.date(), datetime(2014, 2, 24, 12))
        self.assertEqual(result.end.get('day'), 2)
        self.assertEqual(result.end.get('month'), 3)
        self.assertEqual(result.end.get('year'), 2014)
        self.assertEqual(result.end.date(), datetime(2014, 3, 2, 12))
Exemplo n.º 11
0
    def test_en_random_parsing_1(self):

        results = chrono.parse(
            """An event on February 24, 2013, and another event on March 1, 2013"""
        )

        self.assertEqual(len(results), 2)
        self.assertEqual(results[0].text, 'February 24, 2013')
        self.assertEqual(results[1].text, 'March 1, 2013')
    def test_date_time_as_range(self):

        results = chrono.parse('Test : 2013-2-27 from 9:08 - 11.05 PM')
        self.assertEqual(len(results), 1)

        result = results[0]
        self.assertEqual(result.index, 7)
        self.assertEqual(result.text, '2013-2-27 from 9:08 - 11.05 PM')
        self.assertEqual(result.start.get('day'), 27)
        self.assertEqual(result.start.get('month'), 2)
        self.assertEqual(result.start.get('year'), 2013)
        self.assertEqual(result.start.get('hour'), 21)
        self.assertEqual(result.start.get('minute'), 8)
        self.assertEqual(result.start.date(), datetime(2013, 2, 27, 21,8))

        self.assertEqual(result.end.get('day'), 27)
        self.assertEqual(result.end.get('month'), 2)
        self.assertEqual(result.end.get('year'), 2013)
        self.assertEqual(result.end.get('hour'), 23)
        self.assertEqual(result.end.get('minute'), 5)
        self.assertEqual(result.end.date(), datetime(2013, 2, 27, 23, 5))


        results = chrono.parse('Test : 2013-2-27 at 9:08 to 11.55')
        self.assertEqual(len(results), 1)

        result = results[0]
        self.assertEqual(result.index, 7)
        self.assertEqual(result.text, '2013-2-27 at 9:08 to 11.55')
        self.assertEqual(result.start.get('day'), 27)
        self.assertEqual(result.start.get('month'), 2)
        self.assertEqual(result.start.get('year'), 2013)
        self.assertEqual(result.start.get('hour'), 9)
        self.assertEqual(result.start.get('minute'), 8)
        self.assertEqual(result.start.date(), datetime(2013, 2, 27, 9,8))

        self.assertEqual(result.end.get('day'), 27)
        self.assertEqual(result.end.get('month'), 2)
        self.assertEqual(result.end.get('year'), 2013)
        self.assertEqual(result.end.get('hour'), 11)
        self.assertEqual(result.end.get('minute'), 55)
        self.assertEqual(result.end.date(), datetime(2013, 2, 27, 11, 55))
Exemplo n.º 13
0
    def test_en_random_parsing_1(self):

        results = chrono.parse(
            """A Wiki is a website which is editable over the web by it's users.
        This allows information to be more rapidly updated than traditional websites.
        Many Apache projects make active use of wikis for community support and for extra project information,
        in addition to their main project websites.
        This General Wiki is a top-level overview of other wikis at the Apache Software Foundation,
        as well as overall Foundation-level information, at the bottom of this page."""
        )

        self.assertEqual(len(results), 0)
Exemplo n.º 14
0
    def test_iso_format(self):

        results = chrono.parse('Test : 2013-3-22', datetime(2013, 3, 22))
        self.assertEqual(len(results), 1)

        result = results[0]
        self.assertEqual(result.index, 7)
        self.assertEqual(result.text, '2013-3-22')
        self.assertEqual(result.start.get('day'), 22)
        self.assertEqual(result.start.get('month'), 3)
        self.assertEqual(result.start.get('year'), 2013)
        self.assertEqual(result.start.date(), datetime(2013, 3, 22, 12))
    def test_little_endian_with_time(self):
        results = chrono.parse('Test : 2 Mar 2014 (10.00 - 11.00 AM)', datetime(2012,3,22))
        self.assertEqual(len(results), 1)

        result = results[0]
        self.assertEqual(result.index, 7)
        self.assertEqual(result.text, '2 Mar 2014 (10.00 - 11.00 AM)')
        self.assertEqual(result.start.get('day'), 2)
        self.assertEqual(result.start.get('month'), 3)
        self.assertEqual(result.start.get('year'), 2014)
        self.assertEqual(result.start.date(), datetime(2014, 3, 2, 10))
        self.assertEqual(result.end.get('day'), 2)
        self.assertEqual(result.end.get('month'), 3)
        self.assertEqual(result.end.get('year'), 2014)
        self.assertEqual(result.end.date(), datetime(2014, 3, 2, 11))
Exemplo n.º 16
0
    def test_slash_format_range(self):
        results = chrono.parse(' 5/1/2013 - 5/10/2013')
        self.assertEqual(len(results), 1)

        result = results[0]
        self.assertEqual(result.index, 1)
        self.assertEqual(result.text, '5/1/2013 - 5/10/2013')
        self.assertEqual(result.start.get('day'), 1)
        self.assertEqual(result.start.get('month'), 5)
        self.assertEqual(result.start.get('year'), 2013)
        self.assertEqual(result.start.date(), datetime(2013, 5, 1, 12))

        self.assertEqual(result.end.get('day'), 10)
        self.assertEqual(result.end.get('month'), 5)
        self.assertEqual(result.end.get('year'), 2013)
        self.assertEqual(result.end.date(), datetime(2013, 5, 10, 12))
    def test_middle_endian_as_range(self):

        results = chrono.parse('Test : Mar 21 to 25, 2013')
        self.assertEqual(len(results), 1)

        result = results[0]
        self.assertEqual(result.index, 7)
        self.assertEqual(result.text, 'Mar 21 to 25, 2013')
        self.assertEqual(result.start.get('day'), 21)
        self.assertEqual(result.start.get('month'), 3)
        self.assertEqual(result.start.get('year'), 2013)
        self.assertEqual(result.start.date(), datetime(2013, 3, 21, 12))
        self.assertEqual(result.end.get('day'), 25)
        self.assertEqual(result.end.get('month'), 3)
        self.assertEqual(result.end.get('year'), 2013)
        self.assertEqual(result.end.date(), datetime(2013, 3, 25, 12))
Exemplo n.º 18
0
 def test_slash_format_impossible(self):
     
     results = chrono.parse('Impossible 2/29/2013')
     self.assertEqual(len(results), 0)