def test_date_time(self): class Pipeline1(Pipeline): def pipeline_definition(self): # Create processes self.add_process("node_1", TestDateTime()) # Exports self.export_parameter("node_1", "in_1", "in_1") self.export_parameter("node_1", "in_2", "in_2") self.export_parameter("node_1", "out", "out") in_1 = date(2008, 6, 5) in_2 = time(14, 4, 5) out = ['2008-06-05', '14:04:05'] pipeline1 = Pipeline1() pipeline1.in_1 = in_1 pipeline1.in_2 = in_2 pipeline1() save_pipeline_parameters(self.path, pipeline1) # Reinitializing pipeline and loading parameters pipeline1 = Pipeline1() load_pipeline_parameters(self.path, pipeline1) self.assertEqual(pipeline1.in_1, None) self.assertEqual(pipeline1.in_2, None) self.assertEqual(pipeline1.out, out) self.assertEqual(type(pipeline1.out), TraitListObject) for idx, element in enumerate(pipeline1.out): self.assertEqual(element, out[idx]) self.assertEqual(type(element), six.text_type) # Verifying the dictionary dic = load_pipeline_dictionary(self.path) self.assertEqual(dic["pipeline_parameters"]["in_1"], six.text_type(in_1)) self.assertEqual(dic["pipeline_parameters"]["in_2"], six.text_type(in_2)) self.assertEqual(dic["pipeline_parameters"]["out"], out) self.assertEqual(type(dic["pipeline_parameters"]["in_1"]), six.text_type) self.assertEqual(type(dic["pipeline_parameters"]["in_2"]), six.text_type) self.assertEqual(type(dic["pipeline_parameters"]["out"]), list) for idx, element in enumerate(pipeline1.out): self.assertEqual(element, six.text_type(out[idx])) self.assertEqual(type(element), six.text_type)
def test_float(self): class Pipeline1(Pipeline): def pipeline_definition(self): # Create processes self.add_process("node_1", TestFloat()) # Exports self.export_parameter("node_1", "in_1", "in_1") self.export_parameter("node_1", "in_2", "in_2") self.export_parameter("node_1", "out", "out") pipeline1 = Pipeline1() pipeline1.in_1 = 2.0 pipeline1.in_2 = 4.0 pipeline1() in_1 = 2.0 in_2 = 4.0 out = -2.0 pipeline1 = Pipeline1() pipeline1.in_1 = in_1 pipeline1.in_2 = in_2 pipeline1() save_pipeline_parameters(self.path, pipeline1) # Reinitializing pipeline and loading parameters pipeline1 = Pipeline1() load_pipeline_parameters(self.path, pipeline1) self.assertEqual(pipeline1.in_1, in_1) self.assertEqual(pipeline1.in_2, in_2) self.assertEqual(pipeline1.out, out) self.assertEqual(type(pipeline1.in_1), float) self.assertEqual(type(pipeline1.in_2), float) self.assertEqual(type(pipeline1.out), float) # Verifying the dictionary dic = load_pipeline_dictionary(self.path) self.assertEqual(dic["pipeline_parameters"]["in_1"], in_1) self.assertEqual(dic["pipeline_parameters"]["in_2"], in_2) self.assertEqual(dic["pipeline_parameters"]["out"], out) self.assertEqual(type(dic["pipeline_parameters"]["in_1"]), float) self.assertEqual(type(dic["pipeline_parameters"]["in_2"]), float) self.assertEqual(type(dic["pipeline_parameters"]["out"]), float)
def test_file(self): class Pipeline1(Pipeline): def pipeline_definition(self): # Create processes self.add_process("node_1", TestFile()) # Exports self.export_parameter("node_1", "in_1", "in_1") self.export_parameter("node_1", "in_2", "in_2") self.export_parameter("node_1", "out", "out") in_1 = '/tmp/yolo.nii' in_2 = '/tmp/yolo2.nii' out = ['/tmp/yolo.nii', '/tmp/yolo2.nii'] pipeline1 = Pipeline1() pipeline1.in_1 = in_1 pipeline1.in_2 = in_2 pipeline1() save_pipeline_parameters(self.path, pipeline1) # Reinitializing pipeline and loading parameters pipeline1 = Pipeline1() load_pipeline_parameters(self.path, pipeline1) self.assertEqual(pipeline1.in_1, in_1) self.assertEqual(pipeline1.in_2, in_2) self.assertEqual(pipeline1.out, out) self.assertEqual(type(pipeline1.in_1), six.text_type) self.assertEqual(type(pipeline1.in_2), six.text_type) self.assertEqual(type(pipeline1.out), TraitListObject) for idx, element in enumerate(pipeline1.out): self.assertEqual(element, out[idx]) self.assertEqual(type(element), six.text_type) # Verifying the dictionary dic = load_pipeline_dictionary(self.path) self.assertEqual(dic["pipeline_parameters"]["in_1"], in_1) self.assertEqual(dic["pipeline_parameters"]["in_2"], in_2) self.assertEqual(dic["pipeline_parameters"]["out"], out) self.assertEqual(type(dic["pipeline_parameters"]["in_1"]), six.text_type) self.assertEqual(type(dic["pipeline_parameters"]["in_2"]), six.text_type) self.assertEqual(type(dic["pipeline_parameters"]["out"]), list)
def test_string(self): class Pipeline1(Pipeline): def pipeline_definition(self): # Create processes self.add_process("node_1", TestString()) # Exports self.export_parameter("node_1", "in_1", "in_1") self.export_parameter("node_1", "in_2", "in_2") self.export_parameter("node_1", "out", "out") in_1 = "This is " in_2 = "a test" out = "This is " + "a test" pipeline1 = Pipeline1() pipeline1.in_1 = in_1 pipeline1.in_2 = in_2 pipeline1() save_pipeline_parameters(self.path, pipeline1) # Reinitializing pipeline and loading parameters pipeline1 = Pipeline1() load_pipeline_parameters(self.path, pipeline1) self.assertEqual(pipeline1.in_1, in_1) self.assertEqual(pipeline1.in_2, in_2) self.assertEqual(pipeline1.out, out) self.assertEqual(type(pipeline1.in_1), str) self.assertEqual(type(pipeline1.in_2), str) self.assertEqual(type(pipeline1.out), str) # Verifying the dictionary dic = load_pipeline_dictionary(self.path) self.assertEqual(dic["pipeline_parameters"]["in_1"], in_1) self.assertEqual(dic["pipeline_parameters"]["in_2"], in_2) self.assertEqual(dic["pipeline_parameters"]["out"], out) self.assertEqual(type(dic["pipeline_parameters"]["in_1"]), six.text_type) self.assertEqual(type(dic["pipeline_parameters"]["in_2"]), six.text_type) self.assertEqual(type(dic["pipeline_parameters"]["out"]), six.text_type)
def test_list_list(self): class Pipeline1(Pipeline): def pipeline_definition(self): # Create processes self.add_process("node_1", TestListList()) # Exports self.export_parameter("node_1", "in_1", "in_1") self.export_parameter("node_1", "in_2", "in_2") self.export_parameter("node_1", "out", "out") in_1 = [[1, 1, 1], [2, 2, 2], [3, 3, 3]] in_2 = [[2, 2, 2], [3, 3, 3], [4, 4, 4]] out = [3, 5, 7] pipeline1 = Pipeline1() pipeline1.in_1 = in_1 pipeline1.in_2 = in_2 pipeline1() save_pipeline_parameters(self.path, pipeline1) # Reinitializing pipeline and loading parameters pipeline1 = Pipeline1() load_pipeline_parameters(self.path, pipeline1) self.assertEqual(pipeline1.in_1, in_1) self.assertEqual(pipeline1.in_2, in_2) self.assertEqual(pipeline1.out, out) self.assertEqual(type(pipeline1.in_1), TraitListObject) self.assertEqual(type(pipeline1.in_2), TraitListObject) self.assertEqual(type(pipeline1.out), TraitListObject) for idx, element in enumerate(pipeline1.in_1): self.assertEqual(element, in_1[idx]) self.assertEqual(type(element), TraitListObject) for idx, element in enumerate(pipeline1.in_2): self.assertEqual(element, in_2[idx]) self.assertEqual(type(element), TraitListObject) for idx, element in enumerate(pipeline1.out): self.assertEqual(element, out[idx]) self.assertEqual(type(element), int) # Verifying the dictionary dic = load_pipeline_dictionary(self.path) self.assertEqual(dic["pipeline_parameters"]["in_1"], in_1) self.assertEqual(dic["pipeline_parameters"]["in_2"], in_2) self.assertEqual(dic["pipeline_parameters"]["out"], out) self.assertEqual(type(dic["pipeline_parameters"]["in_1"]), list) self.assertEqual(type(dic["pipeline_parameters"]["in_2"]), list) self.assertEqual(type(dic["pipeline_parameters"]["out"]), list) for idx, element in enumerate(dic["pipeline_parameters"]["in_1"]): self.assertEqual(element, in_1[idx]) self.assertEqual(type(element), list) for idx, element in enumerate(dic["pipeline_parameters"]["in_2"]): self.assertEqual(element, in_2[idx]) self.assertEqual(type(element), list) for idx, element in enumerate(dic["pipeline_parameters"]["out"]): self.assertEqual(element, out[idx]) self.assertEqual(type(element), int)
def test_list_string(self): class Pipeline1(Pipeline): def pipeline_definition(self): # Create processes self.add_process("node_1", TestListString()) # Exports self.export_parameter("node_1", "in_1", "in_1") self.export_parameter("node_1", "in_2", "in_2") self.export_parameter("node_1", "out", "out") in_1 = ["hello ", "hey "] in_2 = ["salut", "coucou"] out = ["hello salut", "hey coucou"] pipeline1 = Pipeline1() pipeline1.in_1 = in_1 pipeline1.in_2 = in_2 pipeline1() save_pipeline_parameters(self.path, pipeline1) # Reinitializing pipeline and loading parameters pipeline1 = Pipeline1() load_pipeline_parameters(self.path, pipeline1) self.assertEqual(pipeline1.in_1, in_1) self.assertEqual(pipeline1.in_2, in_2) self.assertEqual(pipeline1.out, out) self.assertEqual(type(pipeline1.in_1), TraitListObject) self.assertEqual(type(pipeline1.in_2), TraitListObject) self.assertEqual(type(pipeline1.out), TraitListObject) for idx, element in enumerate(pipeline1.in_1): self.assertEqual(element, in_1[idx]) self.assertEqual(type(element), str) for idx, element in enumerate(pipeline1.in_2): self.assertEqual(element, in_2[idx]) self.assertEqual(type(element), str) for idx, element in enumerate(pipeline1.out): self.assertEqual(element, out[idx]) self.assertEqual(type(element), str) # Verifying the dictionary dic = load_pipeline_dictionary(self.path) self.assertEqual(dic["pipeline_parameters"]["in_1"], in_1) self.assertEqual(dic["pipeline_parameters"]["in_2"], in_2) self.assertEqual(dic["pipeline_parameters"]["out"], out) self.assertEqual(type(dic["pipeline_parameters"]["in_1"]), list) self.assertEqual(type(dic["pipeline_parameters"]["in_2"]), list) self.assertEqual(type(dic["pipeline_parameters"]["out"]), list) for idx, element in enumerate(dic["pipeline_parameters"]["in_1"]): self.assertEqual(element, in_1[idx]) self.assertEqual(type(element), str) for idx, element in enumerate(dic["pipeline_parameters"]["in_2"]): self.assertEqual(element, in_2[idx]) self.assertEqual(type(element), str) for idx, element in enumerate(dic["pipeline_parameters"]["out"]): self.assertEqual(element, out[idx]) self.assertEqual(type(element), str)