Source code for test.metadata

import binoculars.util
import binoculars.space
import os
import numpy

import unittest


[docs]class TestCase(unittest.TestCase):
[docs] def setUp(self): fn = "examples/configs/example_config_id03" self.cfg = binoculars.util.ConfigFile.fromtxtfile(fn)
[docs] def test_IO(self): test = { "string": "string", "numpy.array": numpy.arange(10), "list": range(10), "tuple": tuple(range(10)), } metasection = binoculars.util.MetaBase() metasection.add_section("first", test) print(metasection) metadata = binoculars.util.MetaData() metadata.add_dataset(metasection) metadata.add_dataset(self.cfg) metadata.tofile("test.hdf5") metadata += binoculars.util.MetaData.fromfile("test.hdf5") axis = tuple( binoculars.space.Axis(0, 10, 1, label) for label in ["h", "k", "l"] ) axes = binoculars.space.Axes(axis) space = binoculars.space.Space(axes) spacedict = dict(z for z in zip("abcde", range(5))) dataset = binoculars.util.MetaBase("fromspace", spacedict) space.metadata.add_dataset(dataset) space.tofile("test2.hdf5") testspace = binoculars.space.Space.fromfile("test2.hdf5") print(space + testspace).metadata print("--------------------------------------------------------") print(metadata) print(metadata.serialize()) print(binoculars.util.MetaData.fromserial(metadata.serialize()))
[docs] def tearDown(self): os.remove("test.hdf5") os.remove("test2.hdf5")
if __name__ == "__main__": unittest.main()