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))
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()
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()
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
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")
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")
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