Clean up testing

This commit is contained in:
Tony S Yu
2013-10-21 23:02:47 -05:00
parent f47c5a7be7
commit 9385e73586
+61 -15
View File
@@ -2,7 +2,7 @@ import os
import tempfile
import numpy as np
from numpy.testing import assert_equal, assert_raises
from numpy.testing import assert_equal, assert_raises, raises
from skimage import novice
from skimage import data_dir
@@ -18,7 +18,7 @@ def test_pic_info():
assert_equal(pic.size, (665, 500))
assert_equal(pic.width, 665)
assert_equal(pic.height, 500)
assert_equal(pic.modified, False)
assert not pic.modified
assert_equal(pic.scale, 1)
@@ -40,23 +40,65 @@ def test_modify():
for p in pic:
if p.x < (pic.width / 2):
assert_equal(p.red <= 128, True)
assert_equal(p.green <= 128, True)
assert_equal(p.blue <= 128, True)
assert p.red <= 128
assert p.green <= 128
assert p.blue <= 128
s = pic.size
pic.size = (pic.width / 2, pic.height / 2)
assert_equal(pic.size, (int(s[0] / 2), int(s[1] / 2)))
assert_equal(pic.modified, True)
assert_equal(pic.path, None)
assert pic.modified
assert pic.path is None
def test_pixel_rgb():
pic = novice.Picture(size=(3, 3), color=(10, 10, 10))
pixel = pic[0, 0]
pixel.rgb = range(3)
assert_equal(pixel.rgb, range(3))
for i, channel in enumerate((pixel.red, pixel.green, pixel.blue)):
assert_equal(channel, i)
pixel.red = 3
pixel.green = 4
pixel.blue = 5
assert_equal(pixel.rgb, np.arange(3) + 3)
for i, channel in enumerate((pixel.red, pixel.green, pixel.blue)):
assert_equal(channel, i + 3)
@raises(ValueError)
def test_pixel_rgb_raises():
pixel = novice.Picture(size=(1, 1))[0, 0]
pixel.rgb = (-1, -1, -1)
@raises(ValueError)
def test_pixel_red_raises():
pixel = novice.Picture(size=(1, 1))[0, 0]
pixel.red = 256
@raises(ValueError)
def test_pixel_green_raises():
pixel = novice.Picture(size=(1, 1))[0, 0]
pixel.green = 256
@raises(ValueError)
def test_pixel_blue_raises():
pixel = novice.Picture(size=(1, 1))[0, 0]
pixel.blue = 256
def test_modified_on_set():
pic = novice.Picture(SMALL_IMAGE_PATH)
pic[0, 0] = (1, 1, 1)
assert_equal(pic.modified, True)
assert_equal(pic.path, None)
assert pic.modified
assert pic.path is None
def test_modified_on_set_pixel():
@@ -65,27 +107,27 @@ def test_modified_on_set_pixel():
pixel = pic[0, 0]
pixel.green = 1
assert_equal(pic.modified, True)
assert pic.modified
def test_update_on_save():
pic = novice.Picture(image=np.zeros((3, 3)))
pic.size = (6, 6)
assert_equal(pic.modified, True)
assert_equal(pic.path, None)
assert pic.modified
assert pic.path is None
with tempfile.NamedTemporaryFile(suffix=".jpg") as tmp:
pic.save(tmp.name)
assert_equal(pic.modified, False)
assert not pic.modified
assert_equal(pic.path, os.path.abspath(tmp.name))
assert_equal(pic.format, "jpeg")
def test_indexing():
pic = novice.open(SMALL_IMAGE_PATH)
image = 128 * np.ones((10, 10, 3), dtype=np.uint8)
pic = novice.Picture(image=image)
# Slicing
pic[0:5, 0:5] = (0, 0, 0)
for p in pic:
if (p.x < 5) and (p.y < 5):
@@ -118,6 +160,10 @@ def test_indexing():
assert_equal(p.green, 0)
assert_equal(p.blue, 255)
def test_indexing_bounds():
pic = novice.open(SMALL_IMAGE_PATH)
# Outside bounds
assert_raises(IndexError, lambda: pic[pic.width, pic.height])