Пример #1
0
    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)
Пример #2
0
    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)
Пример #3
0
    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)
Пример #4
0
    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)
Пример #5
0
    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)
Пример #6
0
    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)