示例#1
0
    def test_upgrade(self):
        "Tests the upgrade method."

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

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

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

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

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

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

        # test str
        assert_equal(converter.upgrade(b'a'), b'a')
        assert_equal(converter._status, len(converter._mapper) - 1)
 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))
示例#3
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))
 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
 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
示例#6
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
示例#7
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
示例#8
0
 def test_upgrade(self):
     "Tests the upgrade method."
     converter = StringConverter()
     assert_equal(converter._status, 0)
     # test int
     assert_equal(converter.upgrade(asbytes('0')), 0)
     assert_equal(converter._status, 1)
     # test float
     assert_allclose(converter.upgrade(asbytes('0.')), 0.0)
     assert_equal(converter._status, 2)
     # test complex
     assert_equal(converter.upgrade(asbytes('0j')), complex('0j'))
     assert_equal(converter._status, 3)
     # test str
     assert_equal(converter.upgrade(asbytes('a')), asbytes('a'))
     assert_equal(converter._status, len(converter._mapper) - 1)
示例#9
0
 def test_upgrade(self):
     "Tests the upgrade method."
     converter = StringConverter()
     assert_equal(converter._status, 0)
     # test int
     assert_equal(converter.upgrade(asbytes('0')), 0)
     assert_equal(converter._status, 1)
     # test float
     assert_allclose(converter.upgrade(asbytes('0.')), 0.0)
     assert_equal(converter._status, 2)
     # test complex
     assert_equal(converter.upgrade(asbytes('0j')), complex('0j'))
     assert_equal(converter._status, 3)
     # test str
     assert_equal(converter.upgrade(asbytes('a')), asbytes('a'))
     assert_equal(converter._status, len(converter._mapper) - 1)
 def test_upgrade(self):
     "Tests the upgrade method."
     converter = StringConverter()
     assert_equal(converter._status, 0)
     converter.upgrade('0')
     assert_equal(converter._status, 1)
     converter.upgrade('0.')
     assert_equal(converter._status, 2)
     converter.upgrade('0j')
     assert_equal(converter._status, 3)
     converter.upgrade('a')
     assert_equal(converter._status, len(converter._mapper) - 1)
 def test_upgrade(self):
     "Tests the upgrade method."
     converter = StringConverter()
     assert_equal(converter._status, 0)
     converter.upgrade(asbytes('0'))
     assert_equal(converter._status, 1)
     converter.upgrade(asbytes('0.'))
     assert_equal(converter._status, 2)
     converter.upgrade(asbytes('0j'))
     assert_equal(converter._status, 3)
     converter.upgrade(asbytes('a'))
     assert_equal(converter._status, len(converter._mapper) - 1)
示例#12
0
 def test_upgrade(self):
     "Tests the upgrade method."
     converter = StringConverter()
     assert_equal(converter._status, 0)
     converter.upgrade("0")
     assert_equal(converter._status, 1)
     converter.upgrade("0.")
     assert_equal(converter._status, 2)
     converter.upgrade("0j")
     assert_equal(converter._status, 3)
     converter.upgrade("a")
     assert_equal(converter._status, len(converter._mapper) - 1)
    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 numpy.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 (8).
        for s in ["a", b"a"]:
            res = converter.upgrade(s)
            assert_(type(res) is str)
            assert_equal(res, "a")
            assert_equal(converter._status, 8 + status_offset)
示例#14
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 numpy.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)