Exemple #1
0
        private static void AssertAccess <T>() where T : new()
        {
            var intersect = Intersect <T> .Create();

            T source = new T();
            T dest   = new T();

            // Make sure all public and private field/props
            // are initialized.
            foreach (var i in intersect)
            {
                var randValue = RandGen.GenerateString(10);
                var setter    = i.Setter.GetDelegate <object>();
                var getter    = i.Getter.GetDelegate <object>();
                setter(ref source, randValue);

                var actual = getter(ref source);
                Assert.Equal(randValue, actual);
            }

            foreach (var i in intersect)
            {
                var getter = i.Getter.GetDelegate <object>();
                var setter = i.Setter.GetDelegate <object>();
                setter(ref dest, getter(ref source));
            }

            foreach (var i in intersect)
            {
                var getter = i.Getter.GetDelegate <object>();
                Assert.Same(getter(ref source), getter(ref dest));
            }
        }
Exemple #2
0
        private static void AssertGettersSetters <T>(
            int getterCount,
            int setterCount,
            int intersectCount)
        {
            var getters = ModelAccess <T>
                          .Getters
                          .Values
                          .ToList();

            var setters = ModelAccess <T>
                          .Setters
                          .Values
                          .ToList();

            var intersect = Intersect <T> .Create();

            Assert.Equal(getterCount, getters.Count);
            Assert.Equal(setterCount, setters.Count);
            Assert.Equal(intersectCount, intersect.Count);
        }