Esempio n. 1
0
        public static li_claims NewStatusChild(this li_claims parent, DateTime createTime, Agp2pEnums.ClaimStatusEnum newStatus)
        {
            var child = parent.MakeChild(createTime);

            child.status = (byte)newStatus;
            return(child);
        }
Esempio n. 2
0
        public static li_claims NewPrincipalChild(this li_claims parent, DateTime createTime, decimal childPrincipal)
        {
            var child = parent.MakeChild(createTime);

            child.principal = childPrincipal;
            return(child);
        }
        public void TestQueryLeafClaimsAtMoment()
        {
            var baseTime = DateTime.Today;

            using (var ts = new TransactionScope())
            {
                var rootClaim = new li_claims {
                    createTime = baseTime
                };
                var c2   = rootClaim.MakeChild(baseTime.AddDays(1));
                var c2c1 = c2.MakeChild(c2.createTime.AddDays(-1));

                var c3   = rootClaim.MakeChild(baseTime.AddDays(2));
                var c3c4 = c3.MakeChild(c3.createTime.AddDays(1));
                var c3c3 = c3.MakeChild(c3.createTime);

                var c3c4c5 = c3c4.MakeChild(c3c4.createTime.AddDays(1));

                var d1 = rootClaim.QueryLeafClaimsAtMoment(baseTime).ToList();
                Assert.AreEqual(1, d1.Count);
                CollectionAssert.Contains(d1, rootClaim);

                var d2 = rootClaim.QueryLeafClaimsAtMoment(baseTime.AddDays(1)).ToList();
                Assert.AreEqual(1, d2.Count);
                CollectionAssert.Contains(d2, c2c1);

                var d3 = rootClaim.QueryLeafClaimsAtMoment(baseTime.AddDays(2)).ToList();
                Assert.AreEqual(2, d3.Count);
                CollectionAssert.Contains(d3, c2c1);
                CollectionAssert.Contains(d3, c3c3);

                var d4 = rootClaim.QueryLeafClaimsAtMoment(baseTime.AddDays(3)).ToList();
                Assert.AreEqual(3, d4.Count);
                CollectionAssert.Contains(d4, c2c1);
                CollectionAssert.Contains(d4, c3c4);
                CollectionAssert.Contains(d4, c3c3);

                var d5 = rootClaim.QueryLeafClaimsAtMoment(baseTime.AddDays(4)).ToList();
                Assert.AreEqual(3, d5.Count);
                CollectionAssert.Contains(d5, c2c1);
                CollectionAssert.Contains(d5, c3c4c5);
                CollectionAssert.Contains(d5, c3c3);

                ts.Dispose();
            }
        }