Exemplo n.º 1
0
        public async Task If_PreviousBlockIsPhantom_ThenLastBlockIsNotThePhantom()
        {
            // ARRANGE
            // Create previous blocks
            using (var executionContext = CreateTaskExecutionContext())
            {
                var startedOk = await executionContext.TryStartAsync();

                if (startedOk)
                {
                    var blocks = await executionContext.GetObjectBlocksAsync <string>(x => x.WithObject("Testing987"));

                    foreach (var block in blocks)
                    {
                        await block.StartAsync();

                        await block.CompleteAsync();
                    }
                }
            }

            _blocksHelper.InsertPhantomObjectBlock(TestConstants.ApplicationName, TestConstants.TaskName);

            // ACT
            IObjectBlock <string> lastBlock = null;

            using (var executionContext = CreateTaskExecutionContext())
            {
                var startedOk = await executionContext.TryStartAsync();

                if (startedOk)
                {
                    lastBlock = await executionContext.GetLastObjectBlockAsync <string>();
                }
            }

            // ASSERT
            Assert.Equal("Testing987", lastBlock.Object);
        }