private void CheckArrayCast2Array <S, T>(S[] src, T[] trg) { var v = new DDValue(src); var res = v.GetValueAsArray <T>(); Assert.IsTrue(res.Length == trg.Length, "There are '{0}' elements in the array. Expected '{1}'.", res.Length, trg.Length); for (var i = 0; i < trg.Length; i++) { Assert.AreEqual <T>(res[i], trg[i], "The element value of result array '{0}' doesn't equal expected value '{1}'.", res[i], trg[i]); } }
private void CheckItemCast2Array <S, T>(S[] src, T[] trg) { for (var i = 0; i < src.Length; i++) { var v = new DDValue(src[i]); var res = v.GetValueAsArray <T>(); Assert.IsTrue(res.Length == 1, "There are '{0}' elements in the array. Expected {1}.", res.Length, 1); Assert.AreEqual(res[0].ToString(), trg[i].ToString(), "The element of string array '{0}' doesn't much 'DDValue.ToString()' result '{1}'. The first element must be equal 'DDValue.ToString()' result.", res[0].ToString(), trg[i].ToString()); Assert.AreEqual(res[0], trg[i], "The element value of result '{0}' doesn't equal '{1}'. The value of the first element must be equal '{1}'.", res[0], trg[i]); var cast = (T)(new DDValue(src[i]).GetValueAs <T>()); Assert.AreEqual(cast, trg[i], "Value '{0} is not equal to '{1}' after casting from '{2}' to '{3}'.", cast.ToString(), trg[i].ToString(), typeof(S).Name, typeof(T).Name); } }