Esempio n. 1
0
        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);
        }
Esempio n. 2
0
        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);
        }
Esempio n. 4
0
 public SampleViewModel(SampleMetadata sample)
 {
     this.SampleMetadata = sample;
 }
Esempio n. 5
0
        /// <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);
        }
Esempio n. 8
0
        /// <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;
            }
        }