Пример #1
0
def test_peek_at_datum_on_port():
    """
    Test peek at datum on a test port with complete datum
    """
    from sprokit.pipeline import process
    from sprokit.pipeline import datum, DatumType
    from vital.config import config
    from sprokit.pipeline import edge
    from sprokit.pipeline import stamp
    cfg = config.empty_config()
    # Create Dummy Receiver process
    receiver_proc = process.PythonProcess(cfg)
    optional = process.PortFlags()
    receiver_proc.declare_input_port("test_port", "test", optional,
                                     "test_port")
    # Create an Edge and connect input port to the edge
    test_edge = edge.Edge()
    receiver_proc.connect_input_port("test_port", test_edge)
    # Create an Edge Datum and push it to the port
    s = stamp.new_stamp(1)
    e_datum = edge.EdgeDatum(datum.complete(), s)
    test_edge.push_datum(e_datum)
    receiver_datum_type = receiver_proc.peek_at_datum_on_port(
        "test_port").type()
    if receiver_datum_type != DatumType.complete:
        test_error("Datum mismatch: expected a complete datum, got {0}".format(
            receiver_datum_type))
Пример #2
0
def test_datum_create():
    from sprokit.pipeline import datum
    from sprokit.pipeline import edge
    from sprokit.pipeline import stamp

    d = datum.complete()
    s = stamp.new_stamp(1)

    edge.EdgeDatum()
    edge.EdgeDatum(d, s)
    edge.EdgeData()
Пример #3
0
        def _step(self):
            from sprokit.pipeline import datum

            if self.counter >= self.end:
                self.mark_process_as_complete()
                dat = datum.complete()
            else:
                dat = datum.new_int(self.counter)
                self.counter += 1

            self.push_datum_to_port(self.port_output, dat)

            self._base_step()
Пример #4
0
        def _step(self):
            from sprokit.pipeline import datum

            if self.counter >= self.end:
                self.mark_process_as_complete()
                dat = datum.complete()
            else:
                dat = datum.new_int(self.counter)
                self.counter += 1

            self.push_datum_to_port(self.port_output, dat)

            self._base_step()
Пример #5
0
def test_datum_api_calls():
    from sprokit.pipeline import datum
    from sprokit.pipeline import edge
    from sprokit.pipeline import stamp

    d = datum.complete()
    s = stamp.new_stamp(1)

    ed = edge.EdgeDatum(d, s)

    ed.datum
    ed.datum = d
    ed.stamp
    ed.stamp = s
Пример #6
0
def test_complete():
    from sprokit.pipeline import datum

    d = datum.complete()

    if not d.type() == datum.DatumType.complete:
        test_error("Datum type mismatch")

    if len(d.get_error()):
        test_error("A complete datum has an error string")

    p = d.get_datum()

    if p is not None:
        test_error("A complete datum does not have None as its data")
Пример #7
0
 def _step(self):
     if self.packet_count < self.num_packets:
         # Create the custom type for a certain iterations
         bbox = ((0, 0), (0, 2), (2, 0), (2, 2))
         descriptors = [np.zeros([10])]
         bbox_with_descriptor = BBoxWithMultipleDescriptors(
             bbox, descriptors)
         # Send the custom type to a port
         self.push_to_port_using_trait("BBoxWithMultipleDescriptors",
                                       bbox_with_descriptor)
         self.packet_count += 1
         print("Sent: {0}/{1}".format(self.packet_count, self.num_packets))
     else:
         # Send a complete datum and finish the process
         dat = self.push_datum_to_port_using_trait(
             "BBoxWithMultipleDescriptors", datum.complete())
         self.mark_process_as_complete()
         print("Finished sending")
Пример #8
0
def test_api_calls():
    from sprokit.pipeline import config
    from sprokit.pipeline import datum
    from sprokit.pipeline import edge
    from sprokit.pipeline import modules
    from sprokit.pipeline import process
    from sprokit.pipeline import process_registry
    from sprokit.pipeline import stamp

    e = edge.Edge()

    e.makes_dependency()
    e.has_data()
    e.full_of_data()
    e.datum_count()

    d = datum.complete()
    s = stamp.new_stamp(1)

    ed = edge.EdgeDatum(d, s)

    e.push_datum(ed)
    e.get_datum()

    e.push_datum(ed)
    e.peek_datum()
    e.pop_datum()

    modules.load_known_modules()

    reg = process_registry.ProcessRegistry.self()

    p = reg.create_process('orphan', process.ProcessName())

    e.set_upstream_process(p)
    e.set_downstream_process(p)

    e.mark_downstream_as_complete()
    e.is_downstream_complete()

    e.config_dependency
    e.config_capacity