public void ReadRulesFromConfigurationTest()
        {
            PermissionRules uut = new PermissionRules();
            Dictionary <string, PermissionRuleContextCollection> contextLookup = uut.ReadRulesFromConfiguration();

            Assert.IsNotNull(contextLookup);
            Assert.AreEqual(11, contextLookup.Keys.Count);

            int iCount = 0;

            foreach (string permissionName in contextLookup.Keys)
            {
                iCount += contextLookup[permissionName].Count;
            }
            Assert.AreEqual(12, iCount);
        }
        public void RuleArgumentTests()
        {
            string ruleWithArgument = "CheckArgument1";

            PermissionRules uut = new PermissionRules();
            Dictionary <string, PermissionRuleContextCollection> contextLookup = uut.ReadRulesFromConfiguration();

            Assert.IsNotNull(contextLookup);

            Assert.IsTrue(contextLookup.ContainsKey(ruleWithArgument));
            PermissionRuleContextCollection ruleContextCollection = contextLookup[ruleWithArgument];

            Assert.IsNotNull(ruleContextCollection);
            foreach (PermissionRuleContext rule in ruleContextCollection.Items)
            {
                foreach (string key in rule.PropertyBag.Keys)
                {
                    if (rule.PropertyBag[key] is string)
                    {
                        Console.WriteLine(String.Format("Key: {0}, Value: {1}", key, (String)rule.PropertyBag[key]));
                    }
                }
            }
        }