public void ImmediateFieldSetValue_NestedTypes()
        {
            var publicNestedTypeTestObject = new PublicTestClass.PublicNestedClass {
                _nestedTestValue = 1
            };
            var immediateField = new ImmediateField(PublicNestedPublicFieldFieldInfo);

            immediateField.SetValue(publicNestedTypeTestObject, 12);
            Assert.AreEqual(12, publicNestedTypeTestObject._nestedTestValue);

            var internalNestedTypeTestObject = new PublicTestClass.InternalNestedClass {
                _nestedTestValue = 2
            };

            immediateField = new ImmediateField(InternalNestedPublicFieldFieldInfo);
            immediateField.SetValue(internalNestedTypeTestObject, 24);
            Assert.AreEqual(24, internalNestedTypeTestObject._nestedTestValue);

            var protectedNestedTypeTestObject = new ProtectedNestedClass {
                _nestedTestValue = 3
            };

            immediateField = new ImmediateField(ProtectedNestedPublicFieldFieldInfo);
            immediateField.SetValue(protectedNestedTypeTestObject, 48);
            Assert.AreEqual(48, protectedNestedTypeTestObject._nestedTestValue);

            var privateNestedTypeTestObject = new PrivateNestedClass {
                _nestedTestValue = 4
            };

            immediateField = new ImmediateField(PrivateNestedPublicFieldFieldInfo);
            immediateField.SetValue(privateNestedTypeTestObject, 96);
            Assert.AreEqual(96, privateNestedTypeTestObject._nestedTestValue);
        }
        public void AccessingMethodFromNonPublicTypeIsDetected()
        {
            var expr      = new PrivateNestedClass().GenerateExpression();
            var processor = new MapProposalProcessor(new MemberMapper());

            processor.Process(expr);

            Assert.IsTrue(processor.NonPublicMembersAccessed);
        }
Exemple #3
0
        public async Task PrivateNestedTypeTest()
        {
            PrivateNestedClass payload = new PrivateNestedClass();

            await Assert.ThrowsAsync <TypeAccessException>(() => TestUtil.AssertJsonIsIdentical(payload));
        }