public void TestSimpleSourceSink( ) { // TODO: AP: Use mock framework to ensure that source and sink are called SourceSinkWorkItem.Builder<int> builder = new SourceSinkWorkItem.Builder<int>( ); builder.SetSource( delegate { return 10; } ); builder.SetSink( delegate( int res ) { Assert.AreEqual( 10, res ); } ); builder.Build( "test" ).DoWork( ProgressMonitor.Null ); }
/// <summary> /// Adds the request to build a texture for the specified planet onto a build queue /// </summary> public void QueueBuild( IWorkItemQueue queue, ISpherePlanet planet, Action<ITexture> onComplete ) { SourceSinkWorkItem.Builder<Bitmap[]> sourceSink = new SourceSinkWorkItem.Builder<Bitmap[]>( ); sourceSink.SetSource( CreateTextureBitmaps, planet ); sourceSink.SetSink( FinishBuild, onComplete ); queue.Enqueue( sourceSink.Build( "Build Marble Texture" ), null ); }