Esempio n. 1
0
 def test_warnwritefortranarray(self):
     with tempdirfile() as filename1, tempdirfile() as filename2:
         dar = create_array(path=filename1, shape=(2, 4), fill=0,
                            dtype='int64', overwrite=True)
         dar._datadir._update_jsondict(dar._arraydescrpath.absolute(),
                              {'arrayorder': 'F'})
         dar = Array(filename1)
         self.assertWarns(UserWarning, asarray, path=filename2, array=dar,
                          overwrite=True)
Esempio n. 2
0
 def test_simplecopy1d(self):
     with tempdirfile() as filename1:
         dal1 = create_raggedarray(filename1, atom=(), dtype='float64')
         a = np.array([0, 1, 2, 3], dtype='float64')
         dal1.append(a)
         with tempdirfile() as filename2:
             dal2 = dal1.copy(path=filename2)
             assert_array_equal(dal1[0], dal2[0])
             self.assertEqual(dal1.dtype, dal2.dtype)
Esempio n. 3
0
 def test_wrongtype(self):
     with tempdirfile() as filename:
         self.assertRaises(TypeError,
                           write_jsonfile,
                           path=filename,
                           data=unittest,
                           overwrite=True)
Esempio n. 4
0
 def test_donotdeletenondarrfile(self):
     with tempdirfile() as filename:
         dar = create_array(path=filename, shape=(0, 2), dtype='int64')
         dar._datadir._write_jsondict('test.json', {'a': 1})
         testpath = dar._path.joinpath('test.json')
         self.assertRaises(OSError, delete_array, dar)
         self.assertEqual(testpath.exists(), True)
Esempio n. 5
0
 def test_consistencycorrect(self):
     with tempdirfile() as filename:
         dar = create_array(path=filename, shape=(2,), fill=0,
                            dtype='int64', overwrite=True)
         self.assertIsNone(dar._check_arrayinfoconsistency())
         dar.append([0,0])
         self.assertIsNone(dar._check_arrayinfoconsistency())
Esempio n. 6
0
 def test_consistencyincorrectinfofileshape(self):
     with tempdirfile() as filename:
         dar = create_array(path=filename, shape=(2,), fill=0,
                            dtype='int64', overwrite=True)
         dar._update_arrayinfo({'shape': (3,)})
         self.assertRaises(ValueError, dar._check_arrayinfoconsistency)
         self.assertRaises(ValueError, Array, dar.path)
Esempio n. 7
0
 def test_readcodelanguages(self):
     with tempdirfile() as filename:
         ra = asraggedarray(path=filename,
                            arrayiterable=[[0, 1], [2], [3, 4]],
                            dtype='float64')
         self.assertIsInstance(ra.readcodelanguages, tuple)
         self.assertIn('numpymemmap', ra.readcodelanguages)
Esempio n. 8
0
 def test_acceptnumpyobjects(self):
     with tempdirfile() as filename:
         d1 = {
             'a': np.int8(1),
             'b': np.int16(1),
             'c': np.int32(1),
             'd': np.int64(1),
             'e': np.float16(1),
             'f': np.float32(1),
             'g': np.float64(1),
             'h': np.array([1, 2], np.int32),
             'i': np.array([1, 2], np.int64),
             'j': np.array([1, 2], np.float32),
             'k': np.array([1, 2], np.float64),
         }
         write_jsonfile(path=filename, data=d1, overwrite=True)
         with open(filename, 'r') as fp:
             d2 = json.load(fp)
             for k in 'abcd':
                 self.assertEqual(d2[k], 1)
             for k in 'efg':
                 self.assertEqual(d2[k], 1.0)
             for k in 'hi':
                 self.assertEqual(d2[k], [1, 2])
             for k in 'jk':
                 self.assertEqual(d2[k], [1., 2.])
Esempio n. 9
0
 def test_createwithmetadata(self):
     with tempdirfile() as filename:
         md = {'fs': 20000, 'x': 33.3}
         dal = create_raggedarray(filename,
                                  atom=(),
                                  dtype='float64',
                                  metadata=md)
         self.assertDictEqual(dict(dal.metadata), md)
Esempio n. 10
0
 def test_truncatebydirname(self):
     with tempdirfile() as filename:
         ra = asraggedarray(path=filename,
                            arrayiterable=[[0, 1], [2], [3, 4]],
                            dtype='int64')
         truncate_raggedarray(filename, 2)
         ra = RaggedArray(filename)
         self.assertEqual(len(ra), 2)
Esempio n. 11
0
 def test_truncatebydirname(self):
     with tempdirfile() as filename:
         a = np.array([0, 1, 2, 3, 4], dtype='int64')
         dar = asarray(path=filename, array=a, accessmode='r+')
         truncate_array(filename, 2)
         a = Array(filename)
         self.assertArrayIdentical(a[:], np.array([0, 1],
                                                  dtype=a.dtype))
Esempio n. 12
0
 def test_truncatetolen0(self):
     with tempdirfile() as filename:
         a = asarray(path=filename, array=[0, 1, 2, 3, 4],
                            dtype='int64', accessmode='r+')
         truncate_array(a, 0)
         self.assertEqual(len(a), 0)
         ra = Array(filename)
         self.assertEqual(len(a), 0)
Esempio n. 13
0
 def test_1darray(self):
     with tempdirfile() as filename:
         dal = create_raggedarray(filename,
                                  atom=(),
                                  dtype='float64',
                                  overwrite=True)
         dal.iterappend([[0., 1., 2.], [3., 4.], [5.]])
         self.assertEqual(len(dal), 3)
Esempio n. 14
0
 def test_allowfortranorder(self):
     with tempdirfile() as filename:
         dar = create_array(path=filename, shape=(2,4), fill=0,
                            dtype='int64', overwrite=True)
         dar._datadir._update_jsondict(dar._arraydescrpath.absolute(),
                              {'arrayorder': 'F'})
         dar = Array(filename)
         self.assertIn("Column-major", numtypedescriptiontxt(dar))
Esempio n. 15
0
 def test_1darray(self):
     with tempdirfile() as filename:
         na = [[1, 2, 3], [4, 5, 6]]
         md = {'fs': 20000, 'x': 33.3}
         dal = asraggedarray(filename, na, metadata=md)
         assert_array_equal(dal[0], na[0])
         assert_array_equal(dal[1], na[1])
         self.assertDictEqual(dict(dal.metadata), md)
Esempio n. 16
0
 def test_arrayinfowrongshapetype(self):
     with tempdirfile() as filename:
         dar = create_array(path=filename, shape=(2,), fill=0,
                            dtype='int64', overwrite=True)
         arrayinfo = dar._arrayinfo.copy()
         arrayinfo['shape'] = ['a', 3]
         dar._datadir._write_jsondict(dar._arraydescrfilename, arrayinfo,
                             overwrite=True)
         self.assertRaises(TypeError, Array, dar.path)
Esempio n. 17
0
 def test_consistencywronginfofileitemsize(self):
     with tempdirfile() as filename:
         dar = create_array(path=filename, shape=(2,), fill=0,
                            dtype='int64', overwrite=True)
         arrayinfo = dar._arrayinfo.copy()
         arrayinfo['numtype'] = 'int32'
         dar._datadir._write_jsondict(dar._arraydescrfilename, arrayinfo,
                             overwrite=True)
         self.assertRaises(ValueError, dar._check_arrayinfoconsistency)
         self.assertRaises(ValueError, Array, dar.path)
Esempio n. 18
0
 def test_setmetadatawhenpresent(self):
     with tempdirfile() as filename:
         md = {'fs': 20000, 'x': 33.3}
         dal = create_raggedarray(filename,
                                  atom=(),
                                  dtype='float64',
                                  metadata=md)
         md['fs'] = 3000
         dal.metadata.update(md)
         self.assertDictEqual(dict(dal.metadata), md)
Esempio n. 19
0
 def test_2darray(self):
     with tempdirfile() as filename:
         dal = create_raggedarray(filename, atom=(2, ), dtype='float64')
         self.assertEqual(len(dal), 0)
         self.assertEqual(dal.atom, (2, ))
         self.assertEqual(dal.dtype, np.float64)
         a = np.array([[0, 1], [2, 3], [4, 5]], dtype='float64')
         dal.append(a)
         self.assertEqual(len(dal), 1)
         assert_equal(dal[0], a)
Esempio n. 20
0
 def test_arrayinfonewerversionfile(self):
     with tempdirfile() as filename:
         dar = create_array(path=filename, shape=(2,), fill=0,
                            dtype='int64', overwrite=True)
         arrayinfo = dar._arrayinfo.copy()
         vs = f"1{arrayinfo['darrversion']}"
         arrayinfo['darrversion'] = vs
         dar._datadir._write_jsondict(dar._arraydescrfilename, arrayinfo,
                             overwrite=True)
         self.assertWarns(UserWarning, Array, dar.path)
Esempio n. 21
0
 def check_arrayequaltocreatearray(self, ndarray, shape, dtype=None,
                                   chunklen=None):
     with tempdirfile() as filename:
         dar = create_array(path=filename, shape=shape,
                            dtype=dtype, chunklen=chunklen,
                            overwrite=True)
         if dtype is not None:
             ndarray = ndarray.astype(dtype)
         self.assertArrayIdentical(ndarray, dar[:])
         self.assertEqual(shape, dar.shape)
Esempio n. 22
0
 def test_overwriteremoveexistingmetadata(self):
     with tempdirfile() as filename:
         metadata = {'a': 1}
         dal1 = create_raggedarray(filename,
                                   atom=(),
                                   dtype='float64',
                                   metadata=metadata)
         dal2 = create_raggedarray(filename,
                                   atom=(),
                                   dtype='float64',
                                   overwrite=True)
         self.assertEqual(0, len(dal2.metadata))
         self.assertEqual(False, dal2.metadata.path.exists())
Esempio n. 23
0
 def test_arrayinfowrongorder(self):
     with tempdirfile() as filename:
         dar = create_array(path=filename, shape=(2,), fill=0,
                            dtype='int64', overwrite=True)
         arrayinfo = dar._arrayinfo.copy()
         arrayinfo['arrayorder'] = 'D'
         dar._datadir._write_jsondict(dar._arraydescrfilename, arrayinfo,
                             overwrite=True)
         self.assertRaises(ValueError, Array, dar.path)
         arrayinfo['arrayorder'] = '[D]'
         dar._datadir._write_jsondict(dar._arraydescrfilename, arrayinfo,
                             overwrite=True)
         self.assertRaises(Exception, Array, dar.path)
Esempio n. 24
0
 def test_setaccessmode(self):
     with tempdirfile() as filename:
         dal = create_raggedarray(filename, atom=(), dtype='float64')
         self.assertEqual(dal.accessmode, 'r+')
         self.assertEqual(dal._metadata.accessmode, 'r+')
         self.assertEqual(dal._values.accessmode, 'r+')
         self.assertEqual(dal._indices.accessmode, 'r+')
         dal.accessmode = 'r'
         self.assertEqual(dal.accessmode, 'r')
         self.assertEqual(dal._metadata.accessmode, 'r')
         self.assertEqual(dal._values.accessmode, 'r')
         self.assertEqual(dal._indices.accessmode, 'r')
         self.assertRaises(ValueError, setattr, dal, 'accessmode', 'w')
         self.assertRaises(ValueError, setattr, dal, 'accessmode', 'a')
Esempio n. 25
0
 def test_donotdeletenondarrdir(self):
     with tempdirfile() as filename:
         bd = create_datadir(filename, overwrite=True)
         self.assertRaises(TypeError, delete_array, filename)
         bd._write_jsondict('test.json', {'a': 1})
         self.assertRaises(TypeError, delete_array, filename)
Esempio n. 26
0
 def test_simpledeletearraypath(self):
     with tempdirfile() as filename:
         _ = create_array(path=filename, shape=(0, 2), dtype='int64')
         delete_array(filename)
         self.assertEqual(len(os.listdir(filename.parent)), 0)
Esempio n. 27
0
 def test_check_arraywriteable(self):
     with tempdirfile() as filename:
         dar = create_array(path=filename, shape=(2,), fill=0,
                            dtype='int64', accessmode='r+', overwrite=True)
         self.assertIsNone(dar.check_arraywriteable())
Esempio n. 28
0
 def test_truncateindextoohigh(self):
     with tempdirfile() as filename:
         a = np.array([0, 1, 2, 3, 4], dtype='int64')
         dar = asarray(path=filename, array=a, overwrite=True,
                       accessmode='r+')
         self.assertRaises(IndexError, truncate_array, dar, 10)
Esempio n. 29
0
 def test_truncateinvalidindextype(self):
     with tempdirfile() as filename:
         a = np.array([0, 1, 2, 3, 4], dtype='int64')
         dar = asarray(path=filename, array=a, accessmode='r+')
         self.assertRaises(TypeError, truncate_array, dar, 'a')
Esempio n. 30
0
 def test_check_arraynotwriteable(self):
     with tempdirfile() as filename:
         dar = create_array(path=filename, shape=(2,), fill=0,
                            dtype='int64', accessmode='r', overwrite=True)
         self.assertRaises(OSError, dar.check_arraywriteable)