Ejemplo n.º 1
0
        public void CreateIsReadOnlyMethod_ClassWithDynamicReadOnlyProperty_ReturnResultFromValidationMethod(bool isReadOnly)
        {
            // Setup
            var o = new ClassWithDynamicReadOnlyProperty(isReadOnly);

            // Call
            DynamicReadOnlyValidationMethodAttribute.IsPropertyReadOnly result = DynamicReadOnlyValidationMethodAttribute.CreateIsReadOnlyMethod(o);

            // Assert
            Assert.AreEqual(isReadOnly, result("Property"));
        }
Ejemplo n.º 2
0
        public void CreateIsReadOnlyMethod_ClassHasDynamicReadOnlyValidationMethodWithIncorrectArgumentType_ThrowsMissingMethodException()
        {
            // Setup
            var o = new InvalidClassWithDynamicReadOnlyPropertyButValidationMethodArgumentNotString();

            // Call
            TestDelegate call = () => DynamicReadOnlyValidationMethodAttribute.CreateIsReadOnlyMethod(o);

            // Assert
            string exceptionMessage = Assert.Throws <MissingMethodException>(call).Message;
            string expectedMessage  = $"Argument van DynamicReadOnlyValidationMethod moet van het type 'string' zijn. Klasse: {o.GetType()}.";

            Assert.AreEqual(expectedMessage, exceptionMessage);
        }
Ejemplo n.º 3
0
        public void CreateIsReadOnlyMethod_ClassHasDynamicReadOnlyValidationMethodWithIncorrectArgumentCount_ThrowsMissingMethodException()
        {
            // Setup
            var o = new InvalidClassWithDynamicReadOnlyPropertyButValidationMethodNotOneArgument();

            // Call
            TestDelegate call = () => DynamicReadOnlyValidationMethodAttribute.CreateIsReadOnlyMethod(o);

            // Assert
            string exceptionMessage = Assert.Throws <MissingMethodException>(call).Message;
            string expectedMessage  = $"DynamicReadOnlyValidationMethod heeft een incorrect aantal argumenten. Zou er één moeten zijn. Klasse: {o.GetType()}.";

            Assert.AreEqual(expectedMessage, exceptionMessage);
        }
Ejemplo n.º 4
0
        public void CreateIsReadOnlyMethod_ClassHasDynamicReadOnlyValidationMethodWithNonBoolReturnType_ThrowsMissingMethodException()
        {
            // Setup
            var o = new InvalidClassWithDynamicReadOnlyPropertyButValidationMethodReturnsIncorrectValueType();

            // Call
            TestDelegate call = () => DynamicReadOnlyValidationMethodAttribute.CreateIsReadOnlyMethod(o);

            // Assert
            string exceptionMessage = Assert.Throws <MissingMethodException>(call).Message;
            string expectedMessage  = $"DynamicReadOnlyValidationMethod moet 'bool' als 'return type' hebben. Klasse: {o.GetType()}.";

            Assert.AreEqual(expectedMessage, exceptionMessage);
        }
Ejemplo n.º 5
0
        public void CreateIsReadOnlyMethod_ClassHasMultipleDynamicReadOnlyValidationMethods_ThrowsMissingMethodException()
        {
            // Setup
            var o = new InvalidClassWithDynamicReadOnlyPropertyAndMultipleValidationMethods();

            // Call
            TestDelegate call = () => DynamicReadOnlyValidationMethodAttribute.CreateIsReadOnlyMethod(o);

            // Assert
            string exceptionMessage = Assert.Throws <MissingMethodException>(call).Message;
            string expectedMessage  = $"Slechts één DynamicReadOnlyValidationMethod toegestaan per klasse: {o.GetType()}.";

            Assert.AreEqual(expectedMessage, exceptionMessage);
        }
Ejemplo n.º 6
0
        public void CreateIsReadOnlyMethod_ClassLacksDynamicReadOnlyValidationMethod_ThrowsMissingMethodException()
        {
            // Setup
            var o = new InvalidClassWithDynamicReadOnlyPropertyButNoValidationMethod();

            // Call
            TestDelegate call = () => DynamicReadOnlyValidationMethodAttribute.CreateIsReadOnlyMethod(o);

            // Assert
            string exceptionMessage = Assert.Throws <MissingMethodException>(call).Message;
            string expectedMessage  = $"DynamicReadOnlyValidationMethod niet gevonden (of geen 'public' toegankelijkheid). Klasse: {o.GetType()}.";

            Assert.AreEqual(expectedMessage, exceptionMessage);
        }