-
Notifications
You must be signed in to change notification settings - Fork 15
Expand file tree
/
Copy pathtest_vrmetadatadescriptor.py
More file actions
107 lines (73 loc) · 3.62 KB
/
test_vrmetadatadescriptor.py
File metadata and controls
107 lines (73 loc) · 3.62 KB
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
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
import unittest
import pathlib
import xmlrunner
from bagPy import *
import bagMetadataSamples, testUtils
# define constants used in multiple tests
datapath = str(pathlib.Path(__file__).parent.absolute()) + "/../examples/sample-data"
chunkSize = 100
compressionLevel = 6
class TestVRMetadataDescriptor(unittest.TestCase):
def testGetMinMaxDimensions(self):
tmpFile = testUtils.RandomFileGuard("name")
metadata = Metadata()
metadata.loadFromBuffer(bagMetadataSamples.kMetadataXML)
dataset = Dataset.create(tmpFile.getName(), metadata,
chunkSize, compressionLevel)
self.assertIsNotNone(dataset)
dataset.createVR(chunkSize, compressionLevel, False)
vrMetadata = dataset.getVRMetadata()
self.assertIsNotNone(vrMetadata)
vrMetadataDescriptor = vrMetadata.getDescriptor()
# Set some expected minimum dimension values and verify they are set.
kExpectedMinDimX = 1
kExpectedMinDimY = 2
vrMetadataDescriptor.setMinDimensions(kExpectedMinDimX, kExpectedMinDimY)
# Verify the min X and Y dimensions are expected.
minDimX, minDimY = vrMetadataDescriptor.getMinDimensions()
self.assertEqual(minDimX, kExpectedMinDimX)
self.assertEqual(minDimY, kExpectedMinDimY)
# Set some expected maximum dimension values and verify they are set.
kExpectedMaxDimX = 101
kExpectedMaxDimY = 202
vrMetadataDescriptor.setMaxDimensions(kExpectedMaxDimX, kExpectedMaxDimY)
# Verify the max X and Y dimensions are expected.
maxDimX, maxDimY = vrMetadataDescriptor.getMaxDimensions()
self.assertEqual(maxDimX, kExpectedMaxDimX)
self.assertEqual(maxDimY, kExpectedMaxDimY)
# Force a close.
del dataset
def testGetSetMinMaxResolution(self):
tmpFile = testUtils.RandomFileGuard("name")
metadata = Metadata()
metadata.loadFromBuffer(bagMetadataSamples.kMetadataXML)
dataset = Dataset.create(tmpFile.getName(), metadata,
chunkSize, compressionLevel)
self.assertIsNotNone(dataset)
dataset.createVR(chunkSize, compressionLevel, False)
vrMetadata = dataset.getVRMetadata()
self.assertIsNotNone(vrMetadata)
vrMetadataDescriptor = vrMetadata.getDescriptor()
# Set some expected minimum resolution values and verify they are set.
kExpectedMinResX = 1.1
kExpectedMinResY = 2.2
vrMetadataDescriptor.setMinResolution(kExpectedMinResX, kExpectedMinResY)
# Verify the min X and Y resolution is expected.
minResX, minResY = vrMetadataDescriptor.getMinResolution()
self.assertAlmostEqual(kExpectedMinResX, minResX, places=5)
self.assertAlmostEqual(kExpectedMinResY, minResY, places=5)
# Set some expected maximum resolution values and verify they are set.
kExpectedMaxResX = 444.4
kExpectedMaxResY = 555.5
vrMetadataDescriptor.setMaxResolution(kExpectedMaxResX, kExpectedMaxResY)
# Verify the max X and Y resolution is expected.
maxResX, maxResY = vrMetadataDescriptor.getMaxResolution()
self.assertAlmostEqual(kExpectedMaxResX, maxResX, places=4)
self.assertAlmostEqual(kExpectedMaxResY, maxResY, places=5)
# Force a close.
del dataset
if __name__ == '__main__':
unittest.main(
testRunner=xmlrunner.XMLTestRunner(output='test-reports'),
failfast=False, buffer=False, catchbreak=False
)