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()