diff --git a/pysstv/tests/common.py b/pysstv/tests/common.py new file mode 100644 index 0000000..005624f --- /dev/null +++ b/pysstv/tests/common.py @@ -0,0 +1,4 @@ +from os import path + +def get_asset_filename(filename): + return path.join(path.dirname(__file__), 'assets', filename) diff --git a/pysstv/tests/test_color.py b/pysstv/tests/test_color.py index 38d3036..907074e 100644 --- a/pysstv/tests/test_color.py +++ b/pysstv/tests/test_color.py @@ -4,7 +4,8 @@ import pickle from PIL import Image -import color +from pysstv import color +from common import get_asset_filename class TestMartinM1(unittest.TestCase): @@ -12,16 +13,16 @@ class TestMartinM1(unittest.TestCase): def setUp(self): self.image = Image.new('RGB', (320, 256)) self.s = color.MartinM1(self.image, 48000, 16) - lena = Image.open('tests/assets/320x256.png') + lena = Image.open(get_asset_filename('320x256.png')) self.lena = color.MartinM1(lena, 48000, 16) def test_gen_freq_bits(self): - expected = pickle.load(open("tests/assets/MartinM1_freq_bits.p")) + expected = pickle.load(open(get_asset_filename("MartinM1_freq_bits.p"))) actual = list(islice(self.s.gen_freq_bits(), 0, 1000)) self.assertEqual(expected, actual) def test_gen_freq_bits_lena(self): - expected = pickle.load(open("tests/assets/MartinM1_freq_bits_lena.p")) + expected = pickle.load(open(get_asset_filename("MartinM1_freq_bits_lena.p"))) actual = list(islice(self.lena.gen_freq_bits(), 0, 1000)) self.assertEqual(expected, actual) @@ -39,7 +40,7 @@ class TestMartinM1(unittest.TestCase): self.maxDiff = None line_numbers = [1, 10, 100] for line in line_numbers: - file = open("tests/assets/MartinM1_encode_line_lena%d.p" % line) + file = open(get_asset_filename("MartinM1_encode_line_lena%d.p" % line)) expected = pickle.load(file) actual = list(self.lena.encode_line(line)) self.assertEqual(expected, actual) diff --git a/pysstv/tests/test_sstv.py b/pysstv/tests/test_sstv.py index 2ff5de1..1b6abc6 100644 --- a/pysstv/tests/test_sstv.py +++ b/pysstv/tests/test_sstv.py @@ -6,8 +6,9 @@ from mock import MagicMock from StringIO import StringIO import hashlib -import sstv -from sstv import SSTV +from pysstv import sstv +from pysstv.sstv import SSTV +from common import get_asset_filename class TestSSTV(unittest.TestCase): @@ -44,7 +45,7 @@ class TestSSTV(unittest.TestCase): # FIXME: Instead of using a test fixture, 'expected' should be synthesized? def test_gen_values(self): gen_values = self.s.gen_values() - expected = pickle.load(open("tests/assets/SSTV_gen_values.p")) + expected = pickle.load(open(get_asset_filename("SSTV_gen_values.p"))) for e, g in izip(expected, gen_values): self.assertAlmostEqual(e, g, delta=0.000000001) @@ -56,7 +57,7 @@ class TestSSTV(unittest.TestCase): # and having different results. # https://en.wikipedia.org/wiki/Quantization_%28signal_processing%29 sstv.random = MagicMock(return_value=0.4) # xkcd:221 - expected = pickle.load(open("tests/assets/SSTV_gen_samples.p")) + expected = pickle.load(open(get_asset_filename("SSTV_gen_samples.p"))) actual = list(islice(gen_values, 0, 1000)) self.assertEqual(expected, actual)