1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
|
import unittest
from ccpi.framework import ImageGeometry, ImageData, BlockDataContainer, DataContainer
import numpy
def dt(steps):
return steps[-1] - steps[-2]
class CCPiTestClass(unittest.TestCase):
def assertBlockDataContainerEqual(self, container1, container2):
print ("assert Block Data Container Equal")
self.assertTrue(issubclass(container1.__class__, container2.__class__))
for col in range(container1.shape[0]):
if issubclass(container1.get_item(col).__class__, DataContainer):
print ("Checking col ", col)
self.assertNumpyArrayEqual(
container1.get_item(col).as_array(),
container2.get_item(col).as_array()
)
else:
self.assertBlockDataContainerEqual(container1.get_item(col),container2.get_item(col))
def assertNumpyArrayEqual(self, first, second):
res = True
try:
numpy.testing.assert_array_equal(first, second)
except AssertionError as err:
res = False
print(err)
self.assertTrue(res)
def assertNumpyArrayAlmostEqual(self, first, second, decimal=6):
res = True
try:
numpy.testing.assert_array_almost_equal(first, second, decimal)
except AssertionError as err:
res = False
print(err)
print("expected " , second)
print("actual " , first)
self.assertTrue(res)
|