public void UpdateClaims_AddsAndRemovesClaims()
        {
            var acct = subject.CreateAccount("test", "pass", "*****@*****.**");
            subject.UpdateClaims(acct.ID,
                new UserClaimCollection() {
                    {"foo1", "bar1"},
                    {"foo2", "bar2"},
                    {"foo3", "bar3"},
                });
            Assert.AreEqual(3, subject.GetByID(acct.ID).Claims.Count());

            subject.UpdateClaims(acct.ID,
                new UserClaim[] {
                    new UserClaim("foo4", "bar4"),
                    new UserClaim("foo5", "bar5"),
                    new UserClaim("foo6", "bar6"),
                });
            Assert.AreEqual(6, subject.GetByID(acct.ID).Claims.Count());

            var claims = new Claim[]
            {
                new Claim("foo4", "bar4"),
                new Claim("foo5", "bar5"),
                new Claim("foo6", "bar6"),
            };

            subject.UpdateClaims(acct.ID, claims);
            Assert.AreEqual(6, subject.GetByID(acct.ID).Claims.Count());

            subject.UpdateClaims(acct.ID,
                new UserClaim[] {
                    new UserClaim("foo4", "bar99"),
                    new UserClaim("foo5", "bar99"),
                    new UserClaim("foo6", "bar99"),
                });
            Assert.AreEqual(9, subject.GetByID(acct.ID).Claims.Count());
            
            subject.UpdateClaims(acct.ID,
                null,
                new UserClaim[] {
                    new UserClaim("foo4", "bar99"),
                    new UserClaim("foo5", "bar99"),
                    new UserClaim("foo6", "bar99"),
                });
            Assert.AreEqual(6, subject.GetByID(acct.ID).Claims.Count());

            subject.UpdateClaims(acct.ID,
                null,
                new UserClaim[] {
                    new UserClaim("foo4", "bar99"),
                    new UserClaim("foo5", "bar99"),
                    new UserClaim("foo6", "bar99"),
                });
            Assert.AreEqual(6, subject.GetByID(acct.ID).Claims.Count());

            subject.UpdateClaims(acct.ID,
                null,
                new UserClaimCollection() {
                    {"foo1", "bar1"},
                    {"foo2", "bar2"},
                    {"foo3", "bar3"},
                });
            Assert.AreEqual(3, subject.GetByID(acct.ID).Claims.Count());

            subject.UpdateClaims(acct.ID, claims.Where(x=>false));
            Assert.AreEqual(3, subject.GetByID(acct.ID).Claims.Count());
        }