def test_Copy(self):
        target = '/tmp/work/__TEST__/a.txt'
        self.assertTrue(not File.IsExist(target))
        File.CreateDummy(target, 1024)
        File.Copy(target, '/tmp/work/__TEST__/b.txt')
        self.assertTrue(File.IsExist('/tmp/work/__TEST__/b.txt'))
        self.assertTrue(1024 == File.GetSize('/tmp/work/__TEST__/a.txt'))
        self.assertTrue(1024 == File.GetSize('/tmp/work/__TEST__/b.txt'))

        self.assertTrue(not os.path.exists('/tmp/work/__TEST_2__'))
        with self.assertRaises(IsADirectoryError) as e:
            File.Copy('/tmp/work/__TEST__', '/tmp/work/__TEST_2__')

        self.assertTrue(not os.path.exists('/tmp/work/__TEST_2__'))
        with self.assertRaises(IsADirectoryError) as e:
            File.Copy('/tmp/work/__TEST__', '/tmp/work/__TEST_2__/c.txt')

        self.assertTrue(not os.path.exists('/tmp/work/__TEST_2__/c.txt'))
        File.Copy('/tmp/work/__TEST__/a.txt', '/tmp/work/__TEST_2__')
        self.assertTrue(os.path.exists('/tmp/work/__TEST_2__'))
        self.assertTrue(1024 == File.GetSize('/tmp/work/__TEST_2__'))

        File.Delete('/tmp/work/__TEST__/a.txt')
        File.Delete('/tmp/work/__TEST__/b.txt')
        File.Delete('/tmp/work/__TEST_2__')
        Directory.Delete('/tmp/work/__TEST__')
 def test_mk_dummy(self):
     target_root = '/tmp/work/__TEST__'
     target = '/tmp/work/__TEST__/a.txt'
     d = File(target)
     self.assertTrue(not File.IsExist(target_root))
     self.assertTrue(d.Stat is None)
     d.mk_dummy(1024)
     self.assertEqual(target, d.Path)
     self.assertEqual(1024, d.Size)
     self.assertTrue(File.IsExist(target))
     self.assertTrue(not File.IsExist(os.path.join(target_root, 'A/a.txt')))
     d.mk_dummy(2048, 'A/a.txt')
     self.assertEqual(target, d.Path)
     self.assertEqual(2048, File.GetSize('/tmp/work/__TEST__/A/a.txt'))
     self.assertTrue(File.IsExist(os.path.join(target_root, 'A/a.txt')))
     self.assertTrue(
         not File.IsExist(os.path.join(target_root, 'B/BB/BBB/b.txt')))
     d.mk_dummy(3072, 'B/BB/BBB/b.txt')
     self.assertEqual(target, d.Path)
     #self.assertEqual(3072, d.Size)
     self.assertEqual(3072,
                      File.GetSize('/tmp/work/__TEST__/B/BB/BBB/b.txt'))
     self.assertTrue(
         File.IsExist(os.path.join(target_root, 'B/BB/BBB/b.txt')))
     self.assertTrue(
         not File.IsExist(os.path.join('/tmp/work/__TEST__/C/c.txt')))
     d.mk_dummy(4096, '/tmp/work/__TEST__/C/c.txt')
     self.assertEqual(target, d.Path)
     #self.assertEqual(4096, d.Size)
     self.assertEqual(4096, File.GetSize('/tmp/work/__TEST__/C/c.txt'))
     self.assertTrue(
         File.IsExist(os.path.join('/tmp/work/__TEST__/C/c.txt')))
     Directory.Delete('/tmp/work/__TEST__')
 def test_CreateDummy(self):
     target = '/tmp/work/__TEST__/a.txt'
     self.assertTrue(not File.IsExist(target))
     File.CreateDummy(target, 1024)
     self.assertTrue(File.IsExist(target))
     self.assertTrue(1024 == File.GetSize(target))
     File.Delete(target)
     self.assertTrue(not File.IsExist(target))
     target = '/tmp/work/__TEST__/A/B/C/d.e'
     self.assertTrue(not File.IsExist(target))
     File.CreateDummy(target, 4096)
     self.assertTrue(File.IsExist(target))
     self.assertTrue(4096 == File.GetSize(target))
     File.Delete(target)
     self.assertTrue(not File.IsExist(target))
     target = '/tmp/work/__TEST__'
     Directory.Delete(target)
    def test_GetSize(self):
        target_root = '/tmp/work/__TEST__'
        path_a = os.path.join(target_root, 'a.dummy')
        File.CreateDummy(path_a, 1024)
        self.assertEqual(1024, File.GetSize(path_a))

        path_b = os.path.join(target_root, 'B', 'b.dummy')
        File.CreateDummy(path_b, 2048)
        self.assertEqual(2048, File.GetSize(path_b))

        path_c = os.path.join(target_root, 'C', 'c.dummy')
        File.CreateDummy(path_c, 3072)
        self.assertEqual(3072, File.GetSize(path_c))

        path_d = os.path.join(target_root, 'D/DD/d.dummy')
        File.CreateDummy(path_d, 4096)
        self.assertEqual(4096, File.GetSize(path_d))

        Directory.Delete(target_root)
 def test_Create_Delete(self):
     target = '/tmp/work/__TEST__/a.txt'
     self.assertTrue(not File.IsExist(target))
     File.Create(target)
     self.assertTrue(File.IsExist(target))
     self.assertTrue(0 == File.GetSize(target))
     File.Delete(target)
     self.assertTrue(not File.IsExist(target))
     target = '/tmp/work/__TEST__/A/B/C/d.e'
     self.assertTrue(not File.IsExist(target))
     File.Create(target)
     self.assertTrue(File.IsExist(target))
     File.Delete(target)
     self.assertTrue(not File.IsExist(target))
     target = '/tmp/work/__TEST__'
     Directory.Delete(target)