def testInitial(self):
     """Testing constructor with initial data
     """
     pipeline = Pipeline([
         TaskDef("lsst.pipe.supertask.tests.Add", AddConfig()),
         TaskDef("lsst.pipe.supertask.tests.Mult", MultConfig())
     ])
     self.assertEqual(len(pipeline), 2)
     self.assertEqual(pipeline[0].taskName, "lsst.pipe.supertask.tests.Add")
     self.assertEqual(pipeline[1].taskName,
                      "lsst.pipe.supertask.tests.Mult")
    def _makePipeline(self):
        config1 = OneToOneTaskConfig()
        config2 = OneToOneTaskConfig()
        config2.input.name = config1.output.name
        config2.output.name = "output2"

        tasks = [
            TaskDef("TaskOne", config1, TaskOne),
            TaskDef("TaskTwo", config2, TaskTwo)
        ]
        return Pipeline(tasks)
 def testAppend(self):
     """Testing append() method
     """
     pipeline = Pipeline()
     self.assertEqual(len(pipeline), 0)
     pipeline.append(TaskDef("lsst.pipe.supertask.tests.Add", AddConfig()))
     pipeline.append(TaskDef("lsst.pipe.supertask.tests.Mult",
                             MultConfig()))
     self.assertEqual(len(pipeline), 2)
     self.assertEqual(pipeline[0].taskName, "lsst.pipe.supertask.tests.Add")
     self.assertEqual(pipeline[1].taskName,
                      "lsst.pipe.supertask.tests.Mult")
 def testPickle(self):
     """Test pickling/unpickling.
     """
     pipeline = Pipeline([
         TaskDef("lsst.pipe.supertask.tests.Add", AddConfig()),
         TaskDef("lsst.pipe.supertask.tests.Mult", MultConfig())
     ])
     blob = pickle.dumps(pipeline)
     pipeline = pickle.loads(blob)
     self.assertIsInstance(pipeline, Pipeline)
     self.assertEqual(len(pipeline), 2)
     self.assertEqual(pipeline[0].taskName, "lsst.pipe.supertask.tests.Add")
     self.assertEqual(pipeline[1].taskName,
                      "lsst.pipe.supertask.tests.Mult")
    def testTaskDef(self):
        """Tests for TaskDef structure
        """
        task1 = TaskDef("lsst.pipe.supertask.tests.Add", AddConfig())
        self.assertEqual(task1.taskName, "lsst.pipe.supertask.tests.Add")
        self.assertIsInstance(task1.config, AddConfig)
        self.assertIsNone(task1.taskClass)
        self.assertEqual(task1.label, "")

        task2 = TaskDef("lsst.pipe.supertask.tests.Mult", MultConfig(),
                        MultTask, "mult_task")
        self.assertEqual(task2.taskName, "lsst.pipe.supertask.tests.Mult")
        self.assertIsInstance(task2.config, MultConfig)
        self.assertIs(task2.taskClass, MultTask)
        self.assertEqual(task2.label, "mult_task")
def _makeStep2TaskDef():
    """Make TaskDef for second step of a pipeline"""
    config = test1task.Test1Config()
    config.input.name = "step1output"
    config.output.name = "step2output"

    taskDef = TaskDef(
        taskName="lsst.pipe.supertask.examples.test1task.Test1Task",
        config=config,
        taskClass=test1task.Test1Task,
        label="step2")
    return taskDef
def _makeStep3TaskDef():
    """Make TaskDef for third step of a pipeline"""
    config = test2task.Test2Config()
    config.quantum.sql = None
    config.input.name = "step2output"
    config.output.name = "output"

    taskDef = TaskDef(
        taskName="lsst.pipe.supertask.examples.test2task.Test2Task",
        config=config,
        taskClass=test2task.Test2Task,
        label="step3")
    return taskDef