def test_write_to_ro(self): file = os.path.join(self.tmpdir, "write_ro.bin") dataset = BinaryDs(file, features=14).open() dataset.close() with BinaryDs(file, features=14, read_only=True) as dataset: with self.assertRaises(IOError): dataset.write(self.data_raw)
def test_read_write(self): file = os.path.join(self.tmpdir, "rw.bin") binary = BinaryDs(file, features=14).open() binary.write(self.data_raw) binary.close() with BinaryDs(file, features=14, read_only=True) as dataset: read = dataset.read(0, len(self.data_raw)) self.assertEqual(read, self.data_raw)
def test_truncate_all(self): file = os.path.join(self.tmpdir, "truncate.bin") dataset = BinaryDs(file, features=14).open() dataset.close() empty_size = os.path.getsize(file) with BinaryDs(file, features=14) as dataset: dataset.write(self.data_raw2) self.assertGreater(os.path.getsize(file), empty_size) with BinaryDs(file, features=14) as dataset: dataset.truncate() self.assertEqual(os.path.getsize(file), empty_size)
def test_split(self): file1 = os.path.join(self.tmpdir, "splitA.bin") file2 = os.path.join(self.tmpdir, "splitB.bin") dataset1 = BinaryDs(file1, features=14).open() dataset1.write(self.data_raw2) dataset2 = BinaryDs(file2, features=14).open() self.assertEqual(dataset1.get_examples_no(), 8) self.assertEqual(dataset2.get_examples_no(), 0) dataset1.split(dataset2, 0.5) self.assertEqual(dataset1.get_examples_no(), 4) self.assertEqual(dataset2.get_examples_no(), 4) self.assertEqual(dataset1.read(0, 4), self.data_raw2[:4]) self.assertEqual(dataset2.read(0, 4), self.data_raw2[4:]) dataset1.close() dataset2.close()
def test_merge(self): file1 = os.path.join(self.tmpdir, "mergeA.bin") file2 = os.path.join(self.tmpdir, "mergeB.bin") dataset1 = BinaryDs(file1, features=14).open() dataset1.write(self.data_raw) dataset2 = BinaryDs(file2, features=14).open() dataset2.write(self.data_raw2) self.assertEqual(dataset1.get_examples_no(), 3) self.assertEqual(dataset2.get_examples_no(), 8) dataset1.merge(dataset2) self.assertEqual(dataset1.get_examples_no(), 11) self.assertEqual(dataset2.get_examples_no(), 0) self.assertEqual(dataset1.read(0, 11), self.data_raw + self.data_raw2) dataset1.close() dataset2.close()