public void TestRWInterfaces()
 {
     var obj = new FullAccess();
     obj.Value = 1;
     var test1 = obj.Value;
     Assert.AreEqual(test1, 1);
     var writable = obj as IWriter;
     writable.Value = 2;
     var readable = obj as IReader;
     var test2 = readable.Value;
     Assert.AreEqual(test2, 2);
     var child = new Child();
     child.Value = 3;
     var test3 = child.Value;
     Assert.AreEqual(test3, 3);
 }
        public void TestRWInterfaces()
        {
            var obj = new FullAccess();

            obj.Value = 1;
            var test1 = obj.Value;

            Assert.AreEqual(test1, 1);
            var writable = obj as IWriter;

            writable.Value = 2;
            var readable = obj as IReader;
            var test2    = readable.Value;

            Assert.AreEqual(test2, 2);
            var child = new Child();

            child.Value = 3;
            var test3 = child.Value;

            Assert.AreEqual(test3, 3);
        }