コード例 #1
0
        public void TestUpdateWithMerge()
        {
            var builder = ScpWorkflowBuilder.Make
                          (
                workFlowGuid: Guid.NewGuid(),
                repository: TestRepository.EntityRepository,
                sorterGroupGuid: TestRepository.SorterLayerGuid,
                scpParamsGuid: TestRepository.ScpParamsGuid
                          );


            var updatedBuilder = ScpWorkflowBuilder.Update(
                builder: builder,
                seeds: new[] { 123, 12345 },
                mergeWithPrev: true
                );

            updatedBuilder = ScpWorkflowBuilder.Update(
                builder: updatedBuilder,
                seeds: new[] { 23, 2345, 444, 777 },
                mergeWithPrev: true
                );

            Assert.AreEqual(updatedBuilder.InputEntities.Count, 2);
            Assert.IsNotNull(updatedBuilder.Entity);
            Assert.AreEqual(updatedBuilder.Seeds.Count(), 6);
        }
コード例 #2
0
        public void TestUpdateWithMergeAndTrack()
        {
            var tracker = ScpWorkflowTracker.Make();

            var builder = ScpWorkflowBuilder.Make
                          (
                workFlowGuid: Guid.NewGuid(),
                repository: TestRepository.EntityRepository,
                sorterGroupGuid: TestRepository.SorterLayerGuid,
                scpParamsGuid: TestRepository.ScpParamsGuid
                          );

            var updatedBuilder = builder;

            for (var i = 0; i < 5000; i++)
            {
                var seeds = Rando.Fast(i * 17).ToIntEnumerator().Take(5).ToList();

                updatedBuilder = ScpWorkflowBuilder.UpdateAndTrack(
                    builder: updatedBuilder,
                    seeds: seeds,
                    mergeWithPrev: true,
                    tracker: tracker
                    );

                System.Diagnostics.Debug.WriteLine(tracker.PoolReport);

                tracker = tracker.Trim(1000);
            }


            Assert.AreEqual(updatedBuilder.InputEntities.Count, 3);
            Assert.IsNotNull(updatedBuilder.Entity);
            Assert.AreEqual(updatedBuilder.Seeds.Count(), 25);
        }
コード例 #3
0
        public void TestMake()
        {
            var builder = ScpWorkflowBuilder.Make
                          (
                workFlowGuid: Guid.NewGuid(),
                repository: TestRepository.EntityRepository,
                sorterGroupGuid: TestRepository.SorterLayerGuid,
                scpParamsGuid: TestRepository.ScpParamsGuid
                          );

            Assert.AreEqual(builder.InputEntities.Count, 2);
            Assert.IsNotNull(builder.Entity);
        }