コード例 #1
0
        private void StopWork(bool wasComplete)
        {
            if (!wasComplete)
            {
                if (_renderMngr != null && _renderMngr.InProgress)
                {
                    _renderMngr.Abort();
                }

                if (_afterRenderCancelSrc != null)
                {
                    _afterRenderCancelSrc.Cancel();
                }
            }

            _etaCalc.Reset();
            _chrono.Reset();
            _vm.IsBusy = false;
            UpdateProgressBars(0);

            statusETR.Text  = ETR_Prefix + TimeSpan.Zero.ToString(TimeFmt);
            statusTime.Text = TimePassedPrefix + TimeSpan.Zero.ToString(TimeFmt);

            Text = Constants.APP_TITLE;
        }
コード例 #2
0
        public void RenderManager_ThrowOn_Properties_changed_while_in_progress()
        {
            ClearFolder(OUT_PATH);

            var bData  = GetTestBlendData();
            var chunks = Chunk.CalcChunksByLength(bData.Start, 5000, 300);

            var mockProj = new ProjectSettings
            {
                BlendData = new BlendData
                {
                    OutputPath  = OUT_PATH,
                    ProjectName = "UnitTest"
                },
                BlendPath      = BLEND_PATH,
                MaxConcurrency = 5,
            };

            var renderMngr = new RenderManager(MockSettings);

            renderMngr.Setup(mockProj);

            Assert.ThrowsException <InvalidOperationException>(() =>
            {
                renderMngr.StartAsync();

                Thread.Sleep(TimeSpan.FromSeconds(5));

                renderMngr.Setup(new ProjectSettings());
            },
                                                               "Property value changed while a render was in progress");

            //ClearFolder(OUT_PATH);
            renderMngr.Abort();
        }