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)); } }
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); }
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(); }
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]); }
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]); }
protected override ItemGenerator <string> GetItemGenerator() { return(new ItemGenerator <string>(() => RandGen.GenerateString(10), new EqualityComparer())); }
protected override string GenerateItem() => RandGen.GenerateString(10);
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, }; }
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); } }