Example #1
0
            public SDSComputation BeginAdvanceTLG(bool intermediateShouldBeConsistent)
            {
                int i = tlgGen = stack.NewestRegisteredSDSGeneration;

                tlgEntry = stack.AllocateGeneration(i + 1);
                Assert.AreEqual(tlgEntry.Generation, i + 1);
                Assert.IsNotNull(stack.FindGeneration(i + 1));
                ctx.SetGeneration(i + 1);
                tlgComp = new SDSComputation(new DateTime(), consensus != null ? messages.GetMessages(i) : ExtMessagePack.CompleteBlank, TimeSpan.FromMilliseconds(10), ctx);
                if (intermediateShouldBeConsistent)
                {
                    AssertNoErrors(tlgComp, i.ToString());
                }
                if (intermediateShouldBeConsistent)
                {
                    Assert.AreEqual(tlgComp.Intermediate.ic.OneCount, 0);
                    Assert.IsTrue(tlgComp.Intermediate.inputConsistent);
                }
                Assert.AreEqual(tlgComp.Generation, i + 1);
                if (consensus != null)
                {
                    consensus[0].TrimOut(stack.NewestConsistentSDSGeneration);
                }
                messages.TrimGenerations(stack.NewestConsistentSDSGeneration);

                return(tlgComp);
            }
Example #2
0
            public SDSStack.Entry RecomputeGeneration(int generation, bool trim = true)
            {
                ctx.SetGeneration(generation);
                var comp = new SDSComputation(new DateTime(), ExtMessagePack.CompleteBlank, TimeSpan.FromMilliseconds(10), ctx);

                AssertNoErrors(comp, "Recompute (" + generation + ")");
                var sds = comp.Complete();

                return(stack.Insert(sds, trim));
            }
Example #3
0
        public static void AssertNoErrors(SDSComputation comp, string task)
        {
            var errors = comp.Errors;

            if (errors == null)
            {
                return;
            }

            //Exception ex = errors[0];
            //while (ex.InnerException != null && !(ex is ExecutionException))
            //	ex = ex.InnerException;

            Assert.Fail(task + ": " + errors[0].ToString());
        }