Beispiel #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));
            }
        }
Beispiel #2
0
        public void Primitives()
        {
            var source = new Tuple <int, string, int, int, int, int, int, Tuple <int> >(
                RandGen.GenerateInt(),
                RandGen.GenerateString(10),
                RandGen.GenerateInt(),
                RandGen.GenerateInt(),
                RandGen.GenerateInt(),
                RandGen.GenerateInt(),
                RandGen.GenerateInt(),
                new Tuple <int>(RandGen.GenerateInt()));

            var target = GetClone(source, 2);

            Assert.Equal(source, target);
            Assert.NotSame(source, target);
            Assert.Equal(source.Item1, target.Item1);
            Assert.Equal(source.Item2, target.Item2);
            Assert.Same(source.Item2, target.Item2);
            Assert.Equal(source.Item3, target.Item3);
            Assert.Equal(source.Item4, target.Item4);
            Assert.Equal(source.Item5, target.Item5);
            Assert.Equal(source.Item6, target.Item6);
            Assert.Equal(source.Item7, target.Item7);
            Assert.Equal(source.Rest, target.Rest);
            Assert.NotSame(source.Rest, target.Rest);
        }
Beispiel #3
0
        public void Setup()
        {
            _intArray  = new[] { 0, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
            _byteArray = RandGen.GenerateByteArray(1000);

            _stringArray = Enumerable
                           .Range(0, 10)
                           .Select(x => RandGen.GenerateString(10))
                           .ToArray();

            _timeSpanArray = Enumerable
                             .Range(0, 10)
                             .Select(x => new TimeSpan(x))
                             .ToArray();

            _dateTimeArray = Enumerable
                             .Range(0, 10)
                             .Select(x => DateTime.Now)
                             .ToArray();

            Func <string> func = () =>
            {
                return(string.Empty);
            };

            _delegateArray = Enumerable
                             .Range(0, 10)
                             .Select(x => func)
                             .ToArray();

            _arrayOfStringArrays = new string[][]
            {
                new string [] { "one", "two" },
                new string [] { "three", "four" }
            };

            _arrayOfClasses = Enumerable
                              .Range(0, 100)
                              .Select(x => new Helper1()
            {
                PropOne = RandGen.GenerateInt()
            })
                              .ToArray();

            _arrayOfStructs = Enumerable
                              .Range(0, 100)
                              .Select(x => new HelperStruct1()
            {
                PropOne = RandGen.GenerateInt()
            })
                              .ToArray();
        }
Beispiel #4
0
        public void IRealOnlyList_String()
        {
            IReadOnlyList <string> source = new List <string>()
            {
                RandGen.GenerateString(10)
            };

            var dest = GetClone(source, 1);

            Assert.NotNull(dest);
            Assert.NotSame(dest, source);
            Assert.Equal(dest.Count, source.Count);
            Assert.Equal(dest[0], source[0]);
        }
Beispiel #5
0
        public virtual void ListOfObjects()
        {
            List <object> source = new List <object>()
            {
                1,
                (double)2,
                new Helper1(),
                new Helper2()
                {
                    Helper = new Helper1()
                },
                RandGen.GenerateString(10)
            };

            var target = GetClone(source, 4);

            Assert.NotNull(target);
            Assert.NotSame(source, target);

            Assert.Equal(source[0], target[0]);
            Assert.IsType <int>(target[0]);

            Assert.Equal(source[1], target[1]);
            Assert.IsType <double>(target[1]);

            Assert.NotSame(source[2], target[2]);
            Assert.NotEqual(source[2], target[2]);
            Assert.IsType <Helper1>(target[2]);

            Assert.NotSame(source[3], target[3]);
            Assert.NotEqual(source[3], target[3]);
            Assert.IsType <Helper2>(target[3]);

            Assert.Equal(source[4], target[4]);
            Assert.IsType <string>(target[4]);
        }
Beispiel #6
0
 protected override ItemGenerator <string> GetItemGenerator()
 {
     return(new ItemGenerator <string>(() => RandGen.GenerateString(10), new EqualityComparer()));
 }
Beispiel #7
0
 protected override string GenerateItem() => RandGen.GenerateString(10);
Beispiel #8
0
        public void Setup()
        {
            _int = RandGen.GenerateInt();

            _string = RandGen.GenerateString(100);

            _listOfStrings = RandGen.GenerateStringList(1000, 5);

            _listOfBytes = RandGen
                           .GenerateByteArray(100000000)
                           .ToList();

            _listOfInts = RandGen.GenerateIntList(1000);

            _listOfTimeSpans = new List <TimeSpan>()
            {
                new TimeSpan(0),
                new TimeSpan(1),
                new TimeSpan(2),
                new TimeSpan(3),
                new TimeSpan(4),
                new TimeSpan(5),
                new TimeSpan(6),
                new TimeSpan(7),
                new TimeSpan(8),
                new TimeSpan(9),
            };

            _listOfDateTimes = new List <DateTime>()
            {
                DateTime.Now,
                DateTime.Now,
                DateTime.Now,
                DateTime.Now,
                DateTime.Now,
                DateTime.Now,
                DateTime.Now,
                DateTime.Now,
                DateTime.Now,
                DateTime.Now,
            };

            Func <string> func = () =>
            {
                return(string.Empty);
            };

            _listOfDelegates = new List <Func <string> >()
            {
                func,
                func,
                func,
                func,
                func,
                func,
                func,
                func,
                func,
                func,
            };
        }
Beispiel #9
0
        public void Setup()
        {
            _null = null;

            _primitives = new Tuple <int, string, int, int, int, int, int, Tuple <int> >(
                RandGen.GenerateInt(),
                RandGen.GenerateString(10),
                RandGen.GenerateInt(),
                RandGen.GenerateInt(),
                RandGen.GenerateInt(),
                RandGen.GenerateInt(),
                RandGen.GenerateInt(),
                new Tuple <int>(RandGen.GenerateInt()));

            _classes = new Tuple <Helper1, Helper1, Helper1, Helper1, Helper1, Helper1, Helper1, Tuple <Helper1> >(
                new Helper1()
            {
                PropOne = 1
            },
                new Helper1()
            {
                PropOne = 2
            },
                new Helper1()
            {
                PropOne = 3
            },
                new Helper1()
            {
                PropOne = 4
            },
                new Helper1()
            {
                PropOne = 5
            },
                new Helper1()
            {
                PropOne = 6
            },
                new Helper1()
            {
                PropOne = 7
            },
                new Tuple <Helper1>(new Helper1()
            {
                PropOne = 8
            }));

            _structs = new Tuple <HelperStruct1, HelperStruct1, HelperStruct1, HelperStruct1, HelperStruct1, HelperStruct1, HelperStruct1, Tuple <HelperStruct1> >(
                new HelperStruct1()
            {
                PropOne = 1
            },
                new HelperStruct1()
            {
                PropOne = 2
            },
                new HelperStruct1()
            {
                PropOne = 3
            },
                new HelperStruct1()
            {
                PropOne = 4
            },
                new HelperStruct1()
            {
                PropOne = 5
            },
                new HelperStruct1()
            {
                PropOne = 6
            },
                new HelperStruct1()
            {
                PropOne = 7
            },
                new Tuple <HelperStruct1>(new HelperStruct1()
            {
                PropOne = 8
            }));

            var helper = new Tuple <Helper1, Helper1, Helper1, Helper1, Helper1, Helper1, Helper1, Tuple <Helper1> >(
                new Helper1(),
                new Helper1(),
                new Helper1(),
                new Helper1(),
                new Helper1(),
                new Helper1(),
                new Helper1(),
                new Tuple <Helper1>(new Helper1()));

            _duplicates = new List <Tuple <Helper1, Helper1, Helper1, Helper1, Helper1, Helper1, Helper1, Tuple <Helper1> > >();

            for (int i = 0; i < 10000; i++)
            {
                _duplicates.Add(helper);
            }
        }