public void UpdatesMatchingKey()
            {
                ControlEntitlementList list = new ControlEntitlementList
                                                  {
                                                      { 1, AccessLevel.Write },
                                                      { 2, AccessLevel.NoAccess },
                                                      { 3, AccessLevel.Write }
                                                  };
                list.ApplyMaxAccessLevel(AccessLevel.Read, new List<int> { 2, 3 });

                Assert.AreEqual(AccessLevel.Read, list.GetAccessLevel(3));
            }
            public void IgnoresUnknownKey()
            {
                ControlEntitlementList list = new ControlEntitlementList
                                                  {
                                                      { 1, AccessLevel.Write },
                                                      { 2, AccessLevel.NoAccess },
                                                      { 3, AccessLevel.Write }
                                                  };
                list.ApplyMaxAccessLevel(AccessLevel.Read, new List<int> { 99 });

                Assert.IsFalse(list.ContainsKey(99));
            }
            public void UpdatesEntitlementsWithHigherLevel()
            {
                ControlEntitlementList list = new ControlEntitlementList
                                                  {
                                                      { 1, AccessLevel.Write },
                                                      { 2, AccessLevel.NoAccess },
                                                      { 3, AccessLevel.Write }
                                                  };
                list.ApplyMaxAccessLevel(AccessLevel.Read);

                Assert.AreEqual(AccessLevel.Read, list.GetAccessLevel(3));
            }
            public void DoesNotUpdateEntitlementsWithLowerLevel()
            {
                ControlEntitlementList list = new ControlEntitlementList
                                                  {
                                                      { 1, AccessLevel.Write },
                                                      { 2, AccessLevel.NoAccess },
                                                      { 3, AccessLevel.Write }
                                                  };
                list.ApplyMaxAccessLevel(AccessLevel.Read);

                Assert.AreEqual(AccessLevel.NoAccess, list.GetAccessLevel(2));
            }