Search in sources :

Example 11 with Topology

use of com.ibm.streamsx.topology.Topology in project streamsx.topology by IBMStreams.

the class AutoTypeTest method _testAutoMultiTransform.

private static void _testAutoMultiTransform() {
    Topology t = newTopology();
    TStream<Integer> ints = t.strings("3").multiTransform(new Function<String, Iterable<Integer>>() {

        @Override
        public Iterable<Integer> apply(String v) {
            return null;
        }
    });
    assertEquals(Integer.class, ints.getTupleClass());
}
Also used : Topology(com.ibm.streamsx.topology.Topology) TestTopology(com.ibm.streamsx.topology.test.TestTopology)

Example 12 with Topology

use of com.ibm.streamsx.topology.Topology in project streamsx.topology by IBMStreams.

the class AutoTypeTest method _testAutoLimitedSourceClass.

private static void _testAutoLimitedSourceClass() {
    Topology t = newTopology();
    TStream<BeaconTuple> stream = t.limitedSource(new Supplier<BeaconTuple>() {

        @Override
        public BeaconTuple get() {
            return new BeaconTuple(0);
        }
    }, 8);
    assertEquals(BeaconTuple.class, stream.getTupleClass());
}
Also used : BeaconTuple(com.ibm.streamsx.topology.tuple.BeaconTuple) Topology(com.ibm.streamsx.topology.Topology) TestTopology(com.ibm.streamsx.topology.test.TestTopology)

Example 13 with Topology

use of com.ibm.streamsx.topology.Topology in project streamsx.topology by IBMStreams.

the class AutoTypeTest method testStringListUnTyped.

@Test
public void testStringListUnTyped() throws Exception {
    Topology t = newTopology();
    TStream<String> strings = t.constants(Collections.nCopies(10, "hello"));
    assertNull(strings.getTupleClass());
    assertNotNull(strings.getTupleType());
}
Also used : Topology(com.ibm.streamsx.topology.Topology) TestTopology(com.ibm.streamsx.topology.test.TestTopology) Test(org.junit.Test)

Example 14 with Topology

use of com.ibm.streamsx.topology.Topology in project streamsx.topology by IBMStreams.

the class LowLatencyTest method testSameThread.

/**
     * Test the same thread executes the low latency section.
     */
@Test
public void testSameThread() throws Exception {
    final int tc = 2000;
    final Topology topology = newTopology("testSameThread");
    final Tester tester = topology.getTester();
    TStream<Long> s1 = topology.limitedSource(new Rnd(), tc);
    TStream<Long> s2 = topology.limitedSource(new Rnd(), tc);
    TStream<Long> s3 = topology.limitedSource(new Rnd(), tc);
    TStream<Long> s4 = topology.limitedSource(new Rnd(), tc);
    TStream<Long> s = s1.union(new HashSet<>(Arrays.asList(s2, s3, s4)));
    s = s.lowLatency();
    s = s.transform(new SetThread());
    for (int i = 0; i < 20; i++) s = s.transform(new CheckThread());
    s = s.transform(new ClearThread());
    s = s.endLowLatency();
    s = s.filter(t -> true);
    this.getConfig().put(com.ibm.streamsx.topology.context.ContextProperties.KEEP_ARTIFACTS, Boolean.TRUE);
    Condition<Long> endCondition = tester.tupleCount(s, 4 * tc);
    this.complete(tester, endCondition, 30, TimeUnit.SECONDS);
}
Also used : TStream(com.ibm.streamsx.topology.TStream) JsonObject(com.google.gson.JsonObject) Arrays(java.util.Arrays) Random(java.util.Random) ArrayList(java.util.ArrayList) GsonUtilities.jstring(com.ibm.streamsx.topology.internal.gson.GsonUtilities.jstring) HashSet(java.util.HashSet) AllowAll(com.ibm.streamsx.topology.test.AllowAll) StreamsContext(com.ibm.streamsx.topology.context.StreamsContext) IsolateTest.getContainerIds(com.ibm.streamsx.topology.test.api.IsolateTest.getContainerIds) UnaryOperator(com.ibm.streamsx.topology.function.UnaryOperator) PERuntime(com.ibm.streams.operator.PERuntime) Tester(com.ibm.streamsx.topology.tester.Tester) CONFIG(com.ibm.streamsx.topology.generator.operator.OpProperties.CONFIG) PLACEMENT_LOW_LATENCY_REGION_ID(com.ibm.streamsx.topology.generator.operator.OpProperties.PLACEMENT_LOW_LATENCY_REGION_ID) StreamsContextFactory(com.ibm.streamsx.topology.context.StreamsContextFactory) IsolateTest.getContainerIdAppend(com.ibm.streamsx.topology.test.api.IsolateTest.getContainerIdAppend) JSON4JUtilities(com.ibm.streamsx.topology.internal.json4j.JSON4JUtilities) Set(java.util.Set) Test(org.junit.Test) SPLGenerator(com.ibm.streamsx.topology.generator.spl.SPLGenerator) GsonUtilities.object(com.ibm.streamsx.topology.internal.gson.GsonUtilities.object) TimeUnit(java.util.concurrent.TimeUnit) List(java.util.List) Topology(com.ibm.streamsx.topology.Topology) ToIntFunction(com.ibm.streamsx.topology.function.ToIntFunction) GsonUtilities(com.ibm.streamsx.topology.internal.gson.GsonUtilities) Supplier(com.ibm.streamsx.topology.function.Supplier) JSONObject(com.ibm.json.java.JSONObject) Condition(com.ibm.streamsx.topology.tester.Condition) Assume.assumeTrue(org.junit.Assume.assumeTrue) IsolateTest.getContainerId(com.ibm.streamsx.topology.test.api.IsolateTest.getContainerId) Assert.assertEquals(org.junit.Assert.assertEquals) TestTopology(com.ibm.streamsx.topology.test.TestTopology) PLACEMENT(com.ibm.streamsx.topology.generator.operator.OpProperties.PLACEMENT) Tester(com.ibm.streamsx.topology.tester.Tester) Topology(com.ibm.streamsx.topology.Topology) TestTopology(com.ibm.streamsx.topology.test.TestTopology) Test(org.junit.Test)

Example 15 with Topology

use of com.ibm.streamsx.topology.Topology in project streamsx.topology by IBMStreams.

the class ParallelTest method testParallelIsolate.

@Test
public void testParallelIsolate() throws Exception {
    assumeTrue(getTesterType() == StreamsContext.Type.DISTRIBUTED_TESTER);
    skipVersion("udp-fusing", 4, 2);
    Topology topology = newTopology();
    TStream<String> strings = topology.strings("A", "B", "C", "D", "E", "F", "G", "H", "I");
    TStream<String> stringsP = strings.parallel(3);
    TStream<Map<Integer, String>> channelPe = stringsP.transform(new ChannelAndPEid());
    channelPe = channelPe.endParallel();
    TStream<String> result = channelPe.transform(new CheckSeparatePE());
    Tester tester = topology.getTester();
    Condition<Long> singleResult = tester.tupleCount(result, 1);
    Condition<List<String>> contents = tester.stringContents(result, "true");
    complete(tester, allConditions(singleResult, contents), 10, TimeUnit.SECONDS);
    assertTrue("contents: " + contents, contents.valid());
}
Also used : Tester(com.ibm.streamsx.topology.tester.Tester) ArrayList(java.util.ArrayList) List(java.util.List) Topology(com.ibm.streamsx.topology.Topology) TestTopology(com.ibm.streamsx.topology.test.TestTopology) HashMap(java.util.HashMap) Map(java.util.Map) Test(org.junit.Test)

Aggregations

Topology (com.ibm.streamsx.topology.Topology)282 TestTopology (com.ibm.streamsx.topology.test.TestTopology)235 Test (org.junit.Test)227 List (java.util.List)80 Tester (com.ibm.streamsx.topology.tester.Tester)75 SPLStream (com.ibm.streamsx.topology.spl.SPLStream)53 ArrayList (java.util.ArrayList)50 HashMap (java.util.HashMap)33 JSONObject (com.ibm.json.java.JSONObject)25 TStream (com.ibm.streamsx.topology.TStream)23 Message (com.ibm.streamsx.topology.tuple.Message)20 SimpleMessage (com.ibm.streamsx.topology.tuple.SimpleMessage)20 Random (java.util.Random)19 StreamsContext (com.ibm.streamsx.topology.context.StreamsContext)16 File (java.io.File)16 Map (java.util.Map)16 OutputTuple (com.ibm.streams.operator.OutputTuple)14 StreamSchema (com.ibm.streams.operator.StreamSchema)14 Value (com.ibm.streamsx.topology.logic.Value)14 Condition (com.ibm.streamsx.topology.tester.Condition)14