public void SynchronousTestQueueMetadataStatic() { IQueueingService provider = CreateProvider(); QueueName queueName = CreateRandomQueueName(); provider.CreateQueue(queueName); SampleMetadata metadata = new SampleMetadata(3, "yes"); Assert.AreEqual(3, metadata.ValueA); Assert.AreEqual("yes", metadata.ValueB); provider.SetQueueMetadata(queueName, metadata); SampleMetadata result = provider.GetQueueMetadata <SampleMetadata>(queueName); Assert.AreEqual(metadata.ValueA, result.ValueA); Assert.AreEqual(metadata.ValueB, result.ValueB); provider.DeleteQueue(queueName); }
public async Task TestQueueMetadataStatic() { IQueueingService provider = CreateProvider(); CancellationTokenSource cancellationTokenSource = new CancellationTokenSource(TestTimeout(TimeSpan.FromSeconds(10))); QueueName queueName = CreateRandomQueueName(); await provider.CreateQueueAsync(queueName, cancellationTokenSource.Token); SampleMetadata metadata = new SampleMetadata(3, "yes"); Assert.AreEqual(3, metadata.ValueA); Assert.AreEqual("yes", metadata.ValueB); await provider.SetQueueMetadataAsync(queueName, metadata, cancellationTokenSource.Token); SampleMetadata result = await provider.GetQueueMetadataAsync <SampleMetadata>(queueName, cancellationTokenSource.Token); Assert.AreEqual(metadata.ValueA, result.ValueA); Assert.AreEqual(metadata.ValueB, result.ValueB); await provider.DeleteQueueAsync(queueName, cancellationTokenSource.Token); }
public void SynchronousTestQueueMetadataStatic() { IQueueingService provider = CreateProvider(); QueueName queueName = CreateRandomQueueName(); provider.CreateQueue(queueName); SampleMetadata metadata = new SampleMetadata(3, "yes"); Assert.AreEqual(3, metadata.ValueA); Assert.AreEqual("yes", metadata.ValueB); provider.SetQueueMetadata(queueName, metadata); SampleMetadata result = provider.GetQueueMetadata<SampleMetadata>(queueName); Assert.AreEqual(metadata.ValueA, result.ValueA); Assert.AreEqual(metadata.ValueB, result.ValueB); provider.DeleteQueue(queueName); }
public SampleViewModel(SampleMetadata sample) { this.SampleMetadata = sample; }
/// <summary> /// Applies the given sample. /// </summary> private async void ApplySample(SampleMetadata sampleInfo, SampleSettings sampleSettings) { if (_isChangingSample) { return; } _isChangingSample = true; try { if (_actSampleInfo == sampleInfo) { return; } // Discard presenting before updating current sample _ctrlRenderPanel.DiscardPresent = true; foreach (var actChildWindow in _childWindows) { actChildWindow.DiscardPresent = true; } // Clear previous sample if (_actSampleInfo != null) { await _ctrlRenderPanel.RenderLoop.Scene.ManipulateSceneAsync(manipulator => { manipulator.Clear(true); }); await _ctrlRenderPanel.RenderLoop.Clear2DDrawingLayersAsync(); _ctrlRenderPanel.RenderLoop.ObjectFilters.Clear(); foreach (var actChildWindow in _childWindows) { await actChildWindow.ClearAsync(); } _actSample !.OnSampleClosed(); } if (_actSampleSettings != null) { _actSampleSettings.RecreateRequest -= this.OnSampleSettings_RecreateRequest; } if (this.IsDisposed || !this.IsHandleCreated) { return; } // Reset members _actSample = null; _actSampleInfo = null; // Apply new sample if (sampleInfo != null) { var sampleObject = sampleInfo.CreateSampleObject(); await sampleObject.OnStartupAsync(_ctrlRenderPanel.RenderLoop, sampleSettings); await sampleObject.OnInitRenderingWindowAsync(_ctrlRenderPanel.RenderLoop); await sampleObject.OnReloadAsync(_ctrlRenderPanel.RenderLoop, sampleSettings); foreach (var actChildWindow in _childWindows) { await actChildWindow.SetRenderingDataAsync(sampleObject); } _actSample = sampleObject; _actSampleSettings = sampleSettings; _actSampleInfo = sampleInfo; if (_actSampleSettings != null) { _actSampleSettings.RecreateRequest += this.OnSampleSettings_RecreateRequest; } _propertyGrid.SelectedObject = sampleSettings; this.UpdateSampleCommands(sampleSettings); await _ctrlRenderPanel.RenderLoop.Register2DDrawingLayerAsync( new PerformanceMeasureDrawingLayer(0f, _ctrlRenderPanel.ViewInformation)); } else { _propertyGrid.SelectedObject = null; this.UpdateSampleCommands(null); } if (this.IsDisposed || !this.IsHandleCreated) { return; } // Wait for next finished rendering await _ctrlRenderPanel.RenderLoop.WaitForNextFinishedRenderAsync(); if (this.IsDisposed || !this.IsHandleCreated) { return; } await _ctrlRenderPanel.RenderLoop.WaitForNextFinishedRenderAsync(); if (this.IsDisposed || !this.IsHandleCreated) { } } finally { // Continue presenting _ctrlRenderPanel.DiscardPresent = false; foreach (var actChildWindow in _childWindows) { actChildWindow.DiscardPresent = false; } _isChangingSample = false; } }
public static void SetSnapshotMetadata(this ScenarioContext context, SampleMetadata metadata) => context.Set(metadata, nameof(GetSnapshotMetadata));
public async Task TestQueueMetadataStatic() { IQueueingService provider = CreateProvider(); CancellationTokenSource cancellationTokenSource = new CancellationTokenSource(TestTimeout(TimeSpan.FromSeconds(10))); QueueName queueName = CreateRandomQueueName(); await provider.CreateQueueAsync(queueName, cancellationTokenSource.Token); SampleMetadata metadata = new SampleMetadata(3, "yes"); Assert.AreEqual(3, metadata.ValueA); Assert.AreEqual("yes", metadata.ValueB); await provider.SetQueueMetadataAsync(queueName, metadata, cancellationTokenSource.Token); SampleMetadata result = await provider.GetQueueMetadataAsync<SampleMetadata>(queueName, cancellationTokenSource.Token); Assert.AreEqual(metadata.ValueA, result.ValueA); Assert.AreEqual(metadata.ValueB, result.ValueB); await provider.DeleteQueueAsync(queueName, cancellationTokenSource.Token); }
/// <summary> /// Applies the given sample. /// </summary> private async void ApplySample(SampleMetadata sampleInfo, SampleSettings sampleSettings) { if (_isChangingSample) { return; } _isChangingSample = true; try { if (_actSampleInfo == sampleInfo) { return; } // Discard presenting before updating current sample this.CtrlRenderer.DiscardPresent = true; foreach (var actChildWindow in _childWindows) { actChildWindow.DiscardPresent = true; } // Clear previous sample if (_actSampleInfo != null) { await CtrlRenderer.RenderLoop.Scene.ManipulateSceneAsync(manipulator => { manipulator.Clear(true); }); await CtrlRenderer.RenderLoop.Clear2DDrawingLayersAsync(); CtrlRenderer.RenderLoop.ObjectFilters.Clear(); foreach (var actChildWindow in _childWindows) { await actChildWindow.ClearAsync(); } _actSample !.OnSampleClosed(); } // Reset members _actSample = null; _actSampleInfo = null; // Apply new sample var sampleObject = sampleInfo.CreateSampleObject(); await sampleObject.OnStartupAsync(CtrlRenderer.RenderLoop, sampleSettings); await sampleObject.OnInitRenderingWindowAsync(CtrlRenderer.RenderLoop); await sampleObject.OnReloadAsync(CtrlRenderer.RenderLoop, sampleSettings); foreach (var actChildWindow in _childWindows) { await actChildWindow.SetRenderingDataAsync(sampleObject); } _actSample = sampleObject; _actSampleInfo = sampleInfo; await CtrlRenderer.RenderLoop.Register2DDrawingLayerAsync( new PerformanceMeasureDrawingLayer(170f, CtrlRenderer.ViewInformation)); // Wait for next finished rendering await CtrlRenderer.RenderLoop.WaitForNextFinishedRenderAsync(); await CtrlRenderer.RenderLoop.WaitForNextFinishedRenderAsync(); } finally { // Continue presenting this.CtrlRenderer.DiscardPresent = false; foreach (var actChildWindow in _childWindows) { actChildWindow.DiscardPresent = false; } _isChangingSample = false; } }