Exemplo n.º 1
0
        private void AssertHodgepodgeEquals(HodgepodgeDto reference, HodgepodgeDto actual)
        {
            if (reference == null || actual == null)
            {
                AssertNull(reference);
                AssertNull(actual);
                return;
            }

            AssertEquals(reference.True, actual.True);
            AssertEquals(reference.False, actual.False);
            AssertEquals(reference.Int8, actual.Int8);
            AssertEquals(reference.Int16, actual.Int16);
            AssertEquals(reference.Int32, actual.Int32);
            AssertEquals(reference.Int64, actual.Int64);
            AssertEquals(reference.UInt8, actual.UInt8);
            AssertEquals(reference.UInt16, actual.UInt16);
            AssertEquals(reference.UInt32, actual.UInt32);
            AssertEquals(reference.UInt64, actual.UInt64);
            AssertEquals(reference.FileAccess, actual.FileAccess);
            AssertEquals(reference.String, actual.String);
            AssertEquals(reference.Guid, actual.Guid);
            AssertEquals(reference.IntList, actual.IntList);
            AssertEquals(reference.IntPowersArray, actual.IntPowersArray);
            AssertEquals(reference.StringArray, actual.StringArray);
            AssertEquals(reference.IntStringMap, actual.IntStringMap);
            AssertEquals(reference.IntStringStringArrayMapArrayMap, actual.IntStringStringArrayMapArrayMap);
            AssertEquals(reference.Type, actual.Type);
            AssertEquals(reference.DateTime, actual.DateTime);
            AssertEquals(reference.Float, actual.Float);
            AssertEquals(reference.Double, actual.Double);
            AssertHodgepodgeEquals(reference.InnerHodgepodge, actual.InnerHodgepodge);
        }
Exemplo n.º 2
0
 private HodgepodgeDto CreateHodgepodge(HodgepodgeDto innerHodgepodge)
 {
     return(new HodgepodgeDto {
         True = true,
         False = false,
         Int8 = CreatePlaceholder <sbyte>(),
         Int16 = CreatePlaceholder <short>(),
         Int32 = CreatePlaceholder <int>(),
         Int64 = CreatePlaceholder <long>(),
         UInt8 = CreatePlaceholder <byte>(),
         UInt16 = CreatePlaceholder <ushort>(),
         UInt32 = CreatePlaceholder <uint>(),
         UInt64 = CreatePlaceholder <ulong>(),
         FileAccess = CreatePlaceholder <FileAccess>(),
         String = CreatePlaceholder <string>(),
         Guid = CreatePlaceholder <Guid>(),
         IntList = CreatePlaceholder <List <int> >(),
         IntPowersArray = Enumerable.Range(-31, 31).Select(i => Math.Sign(i) * (1 << Math.Abs(i))).Concat(new[] { int.MinValue, int.MaxValue }).ToArray(),
         StringArray = CreatePlaceholder <string[]>(),
         IntStringMap = CreatePlaceholder <Dictionary <int, string> >(),
         IntStringStringArrayMapArrayMap = new Dictionary <int, Dictionary <string, string[]>[]>(), // empty due to exponenetial runtime of createplaceholder
         Type = typeof(LinkedListNode <int>),
         DateTime = DateTime.FromFileTime(2131891),
         Float = CreatePlaceholder <float>(),
         Double = CreatePlaceholder <double>(),
         InnerHodgepodge = innerHodgepodge,
     });
 }
Exemplo n.º 3
0
 public bool Equals(HodgepodgeDto o) => o != null &&
 True == o.True &&
 False == o.False &&
 Int8 == o.Int8 &&
 Int16 == o.Int16 &&
 Int32 == o.Int32 &&
 Equals(String, o.String) &&
 Guid.Equals(o.Guid) &&
 IntList.SequenceEqual(o.IntList) &&
 StringArray.SequenceEqual(o.StringArray) &&
 IntPowersArray.SequenceEqual(o.IntPowersArray) &&
 IntStringMap.Count == o.IntStringMap.Count &&
 IntStringMap.All(kvp => o.IntStringMap[kvp.Key] == kvp.Value) &&
 IntStringStringArrayMapArrayMap.Count == o.IntStringStringArrayMapArrayMap.Count &&
 IntStringStringArrayMapArrayMap.All(kvp => {
     var aDicts = kvp.Value;
     var bDicts = o.IntStringStringArrayMapArrayMap[kvp.Key];
     return(aDicts.Length == bDicts.Length &&
            aDicts.Zip(bDicts, Tuple.Create).All(
                (dicts) => {
         var aDict = dicts.Item1;
         var bDict = dicts.Item2;
         return aDict.Count == bDict.Count &&
         aDict.All(innerKvp => bDict[innerKvp.Key].SequenceEqual(innerKvp.Value));
     }));
 }) &&
 Type == o.Type &&
 DateTime == o.DateTime &&
 // ReSharper disable once CompareOfFloatsByEqualityOperator
 Float == o.Float &&
 // ReSharper disable once CompareOfFloatsByEqualityOperator
 Double == o.Double;