emmental/curds/test_data.py
Anna Schumaker a94996b3fa curds: Move the os.remove() onto the same line as the existence check
If everything goes well and the test passes, then this line will never
be reached. Let's move it so it doesn't skew the code coverage report.

Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2019-04-08 14:12:22 -04:00

71 lines
2.5 KiB
Python

# Copyright 2019 (c) Anna Schumaker.
from . import data
import os
import unittest
import xdg.BaseDirectory
xdg_data_home = xdg.BaseDirectory.xdg_data_home
testing_data = os.path.join(xdg_data_home, "emmental-testing")
testing_file = os.path.join(testing_data, "test.file")
testing_temp = os.path.join(testing_data, ".test.file.tmp")
class TestDataModule(unittest.TestCase):
def setUp(self):
if os.path.exists(testing_file): os.remove(testing_file)
def test_dir(self):
self.assertEqual(data.emmental_data, testing_data)
self.assertTrue(os.path.exists(testing_data))
self.assertTrue(os.path.isdir(testing_data))
self.assertEqual(data.READ, 'rb')
self.assertEqual(data.WRITE, 'wb')
def test_data_file_init(self):
f = data.DataFile("test.file", data.READ)
self.assertEqual(f.path, testing_file)
self.assertEqual(f.temp, testing_temp)
self.assertFalse(f.exists())
self.assertEqual(f.mode, data.READ)
self.assertIsNone(f.file)
f = data.DataFile("test.file", data.WRITE)
self.assertEqual(f.temp, testing_temp)
self.assertFalse(f.exists())
self.assertEqual(f.mode, data.WRITE)
self.assertIsNone(f.file)
def test_data_file_read_write(self):
test = [ "test", "saving", "a", "list" ]
with data.DataFile("test.file", data.READ) as f:
self.assertIsNone(f.file)
f.pickle(test)
self.assertIsNone(f.unpickle())
self.assertFalse(f.remove())
self.assertTrue(f.exists())
with data.DataFile("test.file", data.WRITE) as f:
self.assertIsNotNone(f.file)
self.assertEqual(f.file.name, testing_temp)
self.assertFalse(f.exists())
self.assertTrue(os.path.exists(testing_temp))
f.pickle(test)
self.assertFalse(f.remove())
self.assertTrue(f.exists())
self.assertIsNone(f.file)
self.assertFalse(os.path.exists(testing_temp))
self.assertTrue(f.exists())
with data.DataFile("test.file", data.READ) as f:
self.assertIsNotNone(f.file)
self.assertEqual(f.file.name, testing_file)
lst = f.unpickle()
self.assertEqual(test, lst)
self.assertFalse(f.remove())
self.assertTrue(f.exists())
f = data.DataFile("test.file", data.READ)
self.assertTrue(f.remove())
self.assertFalse(f.exists())
self.assertFalse(f.remove())