コード例 #1
0
 def test_parse_uncertain_4(self):
     dateData = {
         'date_range': '1999?',
         'display_date': '1999'
     }
     DateField.parseUncertainty(dateData)
     self.assertEqual(dateData['date_range'], '1998/2000')
コード例 #2
0
 def test_parse_uncertain_2(self):
     dateData = {
         'date_range': '19-?',
         'display_date': '1900s'
     }
     DateField.parseUncertainty(dateData)
     self.assertEqual(dateData['date_range'], '1900/1999')
コード例 #3
0
 def test_clean_date(self, mock_uncertain):
     dateData = {
         'date_range': 'date [1999?]',
         'display_date': '[1999]'
     }
     DateField.cleanDateData(dateData)
     self.assertEqual(dateData['date_range'], '1999?')
     self.assertEqual(dateData['display_date'], '1999')
コード例 #4
0
 def test_parse_uncertain_range(self):
     dateData = {
         'date_range': '199?-2000',
         'display_date': '199-]-2000'
     }
     DateField.parseUncertainty(dateData)
     self.assertEqual(dateData['date_range'], '1990/2000')
     self.assertEqual(dateData['display_date'], '199X/2000')
コード例 #5
0
ファイル: test_dates.py プロジェクト: NYPL/sfr-db-core
 def test_update_date(self, mock_range, mock_clean):
     testDate = DateField()
     dateData = {
         'display_date': '1066',
         'date_range': '[1066-01-01,1066-12-31)'
     }
     testDate.update(dateData)
     self.assertEqual(testDate.display_date, '1066')
     self.assertEqual(testDate.date_range, None)
コード例 #6
0
 def test_date_merge(self):
     mock_session = MagicMock()
     mock_session.query.return_value\
         .join.return_value\
         .filter.return_value.filter.return_value\
         .all.return_value = [
             DateField(id=1, date_type='test', display_date='2010', date_range='[2010,2010)', date_modified='2019-01-01'),
             DateField(id=1, date_type='test', display_date='2020', date_range='[2020,2020)', date_modified='2019-06-01')
         ]
     dateInst = {'date_type': 'test'}
     mock_table = MagicMock()
     mock_table.__tablename__ = 'testing'
     mergeDate = DateField.mergeDates(mock_session, dateInst, mock_table, 1)
     self.assertEqual(mergeDate.display_date, '2020')
     self.assertEqual(mergeDate.date_range, '[2020,2020)')
コード例 #7
0
ファイル: test_dates.py プロジェクト: NYPL/sfr-db-core
 def test_updateInsert_update(self):
     dateInst = {'date_type': 'test', 'display_date': '0000'}
     with patch.object(DateField, 'lookupDate') as mock_lookup:
         mock_date = MagicMock()
         mock_lookup.return_value = mock_date
         testDate = DateField.updateOrInsert('session', dateInst, 'test', 1)
         mock_lookup.assert_called_once()
         self.assertEqual(testDate, mock_date)
コード例 #8
0
    def test_insert_new_date(self):
        testData = {
            'date_type': 'test_date',
            'date_range': '19-?',
            'display_date': '20th Century'
        }
        testDate = DateField.insert(testData)

        self.assertEqual(testDate.date_range, '[1900-01-01, 1999-12-31)')
        self.assertEqual(testDate.display_date, '19XX')
コード例 #9
0
    def test_bracketed_date_in_string(self):
        testData = {
            'date_type': 'test_date',
            'date_range': 'something else [1990?]',
            'display_date': 'approx 1990'
        }
        testDate = DateField.insert(testData)

        self.assertEqual(testDate.date_range, '[1989-01-01, 1991-12-31)')
        self.assertEqual(testDate.display_date, '1990?')
コード例 #10
0
    def test_insert_single_date(self):
        testData = {
            'date_type': 'test_date',
            'date_range': '1999-09-09',
            'display_date': 'Sept. 9, 1999'
        }
        testDate = DateField.insert(testData)

        self.assertEqual(testDate.date_range, '[1999-09-09,)')
        self.assertEqual(testDate.display_date, 'Sept. 9, 1999')
コード例 #11
0
    def test_insert_missing_digit(self):
        testData = {
            'date_type': 'test_date',
            'date_range': '199-',
            'display_date': '1990s'
        }
        testDate = DateField.insert(testData)

        self.assertEqual(testDate.date_range, '[1990-01-01, 1999-12-31)')
        self.assertEqual(testDate.display_date, '199X')
コード例 #12
0
    def test_insert_new_date_weird(self):
        testData = {
            'date_type': 'test_date',
            'date_range': '198-]-1985',
            'display_date': '1980-1985'
        }
        testDate = DateField.insert(testData)

        self.assertEqual(testDate.date_range, '[1980-01-01, 1985-12-31)')
        self.assertEqual(testDate.display_date, '198X/1985')
コード例 #13
0
ファイル: test_dates.py プロジェクト: NYPL/sfr-db-core
 def test_insert_date(self, mock_clean, mock_parse):
     newDate = {
         'display_date': 'new',
         'date_range': '[3,4)',
         'date_type': 'tester'
     }
     res = DateField.insert(newDate)
     self.assertEqual(res.display_date, 'new')
     self.assertEqual(res.date_range, None)
     self.assertEqual(res.date_type, 'tester')
コード例 #14
0
ファイル: test_dates.py プロジェクト: NYPL/sfr-db-core
 def test_date_lookup(self):
     mock_session = MagicMock()
     mock_session.query.return_value\
         .join.return_value\
         .filter.return_value.filter.return_value\
         .one_or_none.return_value = 'testDate'
     dateInst = {'date_type': 'test'}
     mock_table = MagicMock()
     mock_table.__tablename__ = 'teesting'
     testDate = DateField.lookupDate(mock_session, dateInst, mock_table, 1)
     self.assertEqual(testDate, 'testDate')
コード例 #15
0
 def test_parse_false_month(self):
     testDate = DateField()
     testDate.setDateRange('1916-18')
     self.assertEqual(testDate.date_range, '[1916-01-01, 1918-12-31)')
コード例 #16
0
ファイル: test_dates.py プロジェクト: NYPL/sfr-db-core
 def test_parse_single_date(self):
     testDate = DateField()
     testDate.setDateRange('2018-01-10')
     self.assertEqual(testDate.date_range, '[2018-01-10,)')
コード例 #17
0
ファイル: test_dates.py プロジェクト: NYPL/sfr-db-core
 def test_date_repr(self):
     testDate = DateField()
     testDate.display_date = '2019'
     self.assertEqual(str(testDate), '<Date(date=2019)>')
コード例 #18
0
ファイル: test_dates.py プロジェクト: NYPL/sfr-db-core
 def test_updateInsert_insert(self, mock_insert, mock_lookup):
     dateInst = {'date_type': 'test', 'display_date': '0000'}
     testDate = DateField.updateOrInsert('session', dateInst, 'test', 1)
     mock_lookup.assert_called_once()
     mock_insert.assert_called_once_with(dateInst)
     self.assertEqual(testDate, 'newDate')
コード例 #19
0
ファイル: test_dates.py プロジェクト: NYPL/sfr-db-core
 def test_parse_bad_date(self):
     testDate = DateField()
     testDate.setDateRange('Modnay, Dec 01, 87')
     self.assertEqual(testDate.date_range, None)
コード例 #20
0
ファイル: test_dates.py プロジェクト: NYPL/sfr-db-core
 def test_parse_month(self):
     testDate = DateField()
     testDate.setDateRange('2018-02')
     self.assertEqual(testDate.date_range, '[2018-02-01, 2018-02-28)')
コード例 #21
0
ファイル: test_dates.py プロジェクト: NYPL/sfr-db-core
 def test_parse_years_reversed(self):
     testDate = DateField()
     testDate.setDateRange('2010-2006')
     self.assertEqual(testDate.date_range, None)
コード例 #22
0
ファイル: test_dates.py プロジェクト: NYPL/sfr-db-core
 def test_parse_date_list(self):
     testDate = DateField()
     testDate.setDateRange(['2018', '2019'])
     self.assertEqual(testDate.date_range, '[2018-01-01, 2019-12-31)')
コード例 #23
0
ファイル: test_dates.py プロジェクト: NYPL/sfr-db-core
 def test_parse_years(self):
     testDate = DateField()
     testDate.setDateRange('2006-2010')
     self.assertEqual(testDate.date_range, '[2006-01-01, 2010-12-31)')