Пример #1
0
 def test_upgrademapper(self):
     "Tests updatemapper"
     dateparser = _bytes_to_date
     StringConverter.upgrade_mapper(dateparser, date(2000, 1, 1))
     convert = StringConverter(dateparser, date(2000, 1, 1))
     test = convert('2001-01-01')
     assert_equal(test, date(2001, 1, 1))
     test = convert('2009-01-01')
     assert_equal(test, date(2009, 1, 1))
     test = convert('')
     assert_equal(test, date(2000, 1, 1))
Пример #2
0
 def test_missing(self):
     "Tests the use of missing values."
     converter = StringConverter(missing_values=('missing', 'missed'))
     converter.upgrade('0')
     assert_equal(converter('0'), 0)
     assert_equal(converter(''), converter.default)
     assert_equal(converter('missing'), converter.default)
     assert_equal(converter('missed'), converter.default)
     try:
         converter('miss')
     except ValueError:
         pass
Пример #3
0
 def test_int64_dtype(self):
     "Check that int64 integer types can be specified"
     converter = StringConverter(np.int64, default=0)
     val = "-9223372036854775807"
     assert_(converter(val) == -9223372036854775807)
     val = "9223372036854775807"
     assert_(converter(val) == 9223372036854775807)
Пример #4
0
 def test_keep_default(self):
     "Make sure we don't lose an explicit default"
     converter = StringConverter(None, missing_values='', default=-999)
     converter.upgrade('3.14159265')
     assert_equal(converter.default, -999)
     assert_equal(converter.type, np.dtype(float))
     #
     converter = StringConverter(None, missing_values='', default=0)
     converter.upgrade('3.14159265')
     assert_equal(converter.default, 0)
     assert_equal(converter.type, np.dtype(float))
Пример #5
0
    def test_upgrade(self):
        "Tests the upgrade method."

        converter = StringConverter()
        assert_equal(converter._status, 0)

        # test int
        assert_equal(converter.upgrade('0'), 0)
        assert_equal(converter._status, 1)

        # On systems where long defaults to 32-bit, the statuses will be
        # offset by one, so we check for this here.
        import numpy1.core.numeric as nx
        status_offset = int(
            nx.dtype(nx.int_).itemsize < nx.dtype(nx.int64).itemsize)

        # test int > 2**32
        assert_equal(converter.upgrade('17179869184'), 17179869184)
        assert_equal(converter._status, 1 + status_offset)

        # test float
        assert_allclose(converter.upgrade('0.'), 0.0)
        assert_equal(converter._status, 2 + status_offset)

        # test complex
        assert_equal(converter.upgrade('0j'), complex('0j'))
        assert_equal(converter._status, 3 + status_offset)

        # test str
        # note that the longdouble type has been skipped, so the
        # _status increases by 2. Everything should succeed with
        # unicode conversion (5).
        for s in ['a', u'a', b'a']:
            res = converter.upgrade(s)
            assert_(type(res) is unicode)
            assert_equal(res, u'a')
            assert_equal(converter._status, 5 + status_offset)
Пример #6
0
 def test_uint64_dtype(self):
     "Check that uint64 integer types can be specified"
     converter = StringConverter(np.uint64, default=0)
     val = "9223372043271415339"
     assert_(converter(val) == 9223372043271415339)
Пример #7
0
 def test_keep_missing_values(self):
     "Check that we're not losing missing values"
     converter = StringConverter(int, default=0, missing_values="N/A")
     assert_equal(converter.missing_values, set(['', 'N/A']))
Пример #8
0
 def test_keep_default_zero(self):
     "Check that we don't lose a default of 0"
     converter = StringConverter(int, default=0, missing_values="N/A")
     assert_equal(converter.default, 0)
Пример #9
0
 def test_string_to_object(self):
     "Make sure that string-to-object functions are properly recognized"
     old_mapper = StringConverter._mapper[:]  # copy of list
     conv = StringConverter(_bytes_to_date)
     assert_equal(conv._mapper, old_mapper)
     assert_(hasattr(conv, 'default'))
Пример #10
0
 def test_creation(self):
     "Test creation of a StringConverter"
     converter = StringConverter(int, -99999)
     assert_equal(converter._status, 1)
     assert_equal(converter.default, -99999)