Exemple #1
0
 def setUp(self):
     self.tempearpath = tempfile.mkdtemp() # even array
     self.tempoarpath = tempfile.mkdtemp()  # odd array
     self.tempnonarpath = tempfile.mkdtemp()
     self.tempear = create_array(path=self.tempearpath, shape=(12,),
                                 dtype='int64', metadata={'a': 1},
                                 overwrite=True)
     self.tempoar = create_array(path=self.tempoarpath, shape=(13,),
                                 dtype='int64', metadata={'a': 1},
                                 overwrite=True)
Exemple #2
0
 def test_appendlist2d(self):
     dar = create_array(path=self.temparpath, shape=(2, 3),
                        dtype='int64', overwrite=True)
     dar.append([[1,2,3]])
     dar.append([[1,2,3],[4,5,6]])
     self.assertArrayIdentical(np.array([[0, 0, 0], [0, 0, 0], [1, 2, 3], [1, 2, 3],
                                         [4, 5, 6]], dtype='int64'), dar[:])
Exemple #3
0
 def test_appendtoempty2d(self):
     dar = create_array(path=self.temparpath, shape=(0, 2),
                        dtype='int64', overwrite=True)
     dar.append([[1,2]])
     dar.append([[1,2],[3,4]])
     self.assertArrayIdentical(np.array([[1, 2], [1, 2], [3, 4]], dtype='int64'),
     dar[:])
Exemple #4
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)
Exemple #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())
Exemple #6
0
 def test_unknownarrayordertype(self):
     with tempdir() as dirname:
         dar = create_array(path=dirname, shape=(2,4), fill=0,
                            dtype='int64', overwrite=True)
         dar._update_arrayinfo({'arrayorder': 'X'})
         self.assertRaises(ValueError, numtypedescriptiontxt, dar)
         self.assertRaises(ValueError, Array, dirname)
Exemple #7
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)
Exemple #8
0
 def test_openfile(self):
     with tempdir() as dirname:
         dar = create_array(path=dirname, shape=(0, 2), dtype='int64',
                            overwrite=True, accessmode='r+')
         with dar._datadir.open_file('notes.txt', 'a') as f:
             f.write('test\n')
         path = dar.path / 'notes.txt'
         self.assertEqual(path.exists(), True)
Exemple #9
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))
Exemple #10
0
 def test_openfileprotectedfiles(self):
     with tempdir() as dirname:
         dar = create_array(path=dirname, shape=(0, 2), dtype='int64',
                            overwrite=True, accessmode='r+')
         for fn in dar._protectedfiles:
             with self.assertRaises(OSError):
                 with dar._datadir.open_file(fn, 'a') as f:
                     f.write('test\n')
Exemple #11
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)
Exemple #12
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)
Exemple #13
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)
Exemple #14
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)
Exemple #15
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)
Exemple #16
0
 def test_appenddataerror(self):
     def testiter():
         yield [1, 2, 3]
         yield [4, 5, 6]
         raise ValueError
     g = (f for f in testiter())
     dar = create_array(path=self.temparpath, shape=(2,),
                        dtype='int64', overwrite=True)
     self.assertRaises(AppendDataError, dar.iterappend, g)
     self.assertArrayIdentical(dar[:], np.array([0, 0, 1, 2, 3, 4, 5, 6],
                                                dtype='int64'))
Exemple #17
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)
Exemple #18
0
 def test_appendnumber(self):
     dar = create_array(path=self.temparpath, shape=(2,),
                        dtype='int64', overwrite=True)
     dar.append(1)
     self.assertArrayIdentical(np.array([0, 0, 1], dtype='int64'), dar[:])
Exemple #19
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)
Exemple #20
0
 def test_consistencywronginfoitemsize(self):
     with tempdirfile() as filename:
         dar = create_array(path=filename, shape=(2,), fill=0,
                            dtype='int64', overwrite=True)
         dar._update_arrayinfo({'numtype': 'int32'})
         self.assertRaises(ValueError, dar._check_arrayinfoconsistency)
Exemple #21
0
 def setUp(self):
     self.temparpath = tempfile.mkdtemp()
     self.tempar = create_array(path=self.temparpath, shape=(10,),
                                dtype='int64', overwrite=True)
Exemple #22
0
 def test_iterappendnoniterable(self):
     dar = create_array(path=self.temparpath, shape=(2,),
                        dtype='int64', overwrite=True)
     ar = 3
     self.assertRaises(TypeError, dar.iterappend, ar)
Exemple #23
0
 def test_appendreadonlyarray(self):
     dar = create_array(path=self.temparpath, shape=(2,),
                        dtype='int64', overwrite=True, accessmode='r')
     ar = [3, 4]
     self.assertRaises(OSError, dar.append, ar)
Exemple #24
0
 def test_appendwrongshape(self):
     dar = create_array(path=self.temparpath, shape=(2,3),
                        dtype='int64', overwrite=True)
     ar = [[3,4]]
     self.assertRaises(AppendDataError, dar.append, ar)
Exemple #25
0
 def test_appendemptytoempty2d(self):
     dar = create_array(path=self.temparpath, shape=(0, 2),
                        dtype='int64', overwrite=True)
     dar.append(np.zeros((0, 2), dtype='int64'))
     self.assertArrayIdentical(np.zeros((0, 2), dtype='int64'), dar[:])
Exemple #26
0
 def test_appendempty1d(self):
     dar = create_array(path=self.temparpath, shape=(1,),
                        dtype='int64', overwrite=True)
     dar.append([])
     self.assertArrayIdentical(np.array([0], dtype='int64'), dar[:])
Exemple #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())
Exemple #28
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)
Exemple #29
0
 def test_appendlist1d(self):
     dar = create_array(path=self.temparpath, shape=(2,),
                        dtype='int64', overwrite=True)
     dar.append([1,2])
     dar.append([3])
     self.assertArrayIdentical(np.array([0, 0, 1, 2, 3], dtype='int64'), dar[:])
Exemple #30
0
 def test_arrayinfomissingfile(self):
     with tempdirfile() as filename:
         dar = create_array(path=filename, shape=(2,), fill=0,
                            dtype='int64', overwrite=True)
         dar._arraydescrpath.unlink()
         self.assertRaises(FileNotFoundError, Array, dar.path)