public void TestMethod1() { string email = "*****@*****.**"; string password = ""; reader = new FeedRepository(Reader.CreateReader(email, password, "scroll") as Reader); //reader = new FeedRepositoryForTests(); var frc = new FlowRuntimeConfiguration(); frc.AddStreamsFrom(@" .in, getFeeds getFeeds.out0, getLinks getFeeds.out1, join.in0 getLinks, getAddress getAddress, scatter scatter.count, gather.count scatter.stream, downloadFile downloadFile, gather.stream gather, join.in1 join, .out "); frc.AddAction<string, UrlAndFeed, int>("getFeeds", getFeeds); frc.AddFunc<int, bool>("feedCount", i => { return true; }); frc.AddFunc<UrlAndFeed, IEnumerable<PodcastLinkInformation>>("getLinks", urlAndFeed => reader.GetItemsForFeed(urlAndFeed.Url, DateTime.Now.AddDays(-1))); frc.AddFunc<IEnumerable<PodcastLinkInformation>, IEnumerable<RemoteAndLocalAddress>>("getAddress", getAddress); frc.AddFunc<RemoteAndLocalAddress, RemoteAndLocalAddress>("downloadFile", downloadFile).MakeParallel(); frc.AddOperation(new Scatter<RemoteAndLocalAddress>("scatter")); frc.AddOperation(new Gather<RemoteAndLocalAddress>("gather")); frc.AddOperation(new MySimpleJoin()); using (var fr = new FlowRuntime(frc)) { fr.Process(".in", "Listen Subscriptions"); object erg; fr.WaitForResult(message => erg = message.Data); //Thread.Sleep(60000); } }