public void GetConditionField_WhenConditionBodyIsPassed_WhenFieldPropertyExists_ReturnsTheFieldValue()
        {
            var equalsConditionBody = AllConditionTypes.First()["equals"] as JObject;

            Assert.AreEqual(
                "someField",
                JsonPolicyExtensions.GetConditionField(equalsConditionBody));
        }
        public void GetConditionType_WhenObjectIsCondition_ReturnsTheLogicalType()
        {
            var equalsCondition = AllConditionTypes.First();

            Assert.AreEqual(
                "equals",
                JsonPolicyExtensions.GetConditionType(equalsCondition));
        }
        public void GetLogicalOperatorType_WhenObjectHasLogicalProperty_ReturnsTheLogicalOperator()
        {
            var logicalNot = AllLogicalTypes.First();

            Assert.AreEqual(
                "not",
                JsonPolicyExtensions.GetLogicalOperatorType(logicalNot));
        }
        public void GetConditionValue_WhenConditionObjectPassed_ReturnsTheBodyOfTheCondition()
        {
            var equalsCondition     = AllConditionTypes.First();
            var equalsConditionBody = equalsCondition["equals"] as JObject;

            Assert.AreSame(
                equalsConditionBody,
                JsonPolicyExtensions.GetConditionValue(equalsCondition)
                );
        }
 public void IsCondition_WhenConditionPropertyExists_ReturnTrue()
 {
     AllConditionTypes.ForEach((o) => {
         Assert.IsTrue(JsonPolicyExtensions.IsCondition(o), $"IsCondition false for: {o.ToString()}");
     });
 }
        public void IsLogical_WhenNoLogicalPropertyExists_ResturnsFalse()
        {
            var nonLogical = JObject.FromObject(new { nonLogicalProp = "some value" });

            Assert.IsFalse(JsonPolicyExtensions.IsLogical(nonLogical));
        }
 public void IsLogical_WhenLogicalPropertyExists_ReturnsTrue()
 {
     AllLogicalTypes.ForEach((o) => {
         Assert.IsTrue(JsonPolicyExtensions.IsLogical(o), $"IsLogical false for: {o.ToString()}");
     });
 }