/// <summary> /// The xml converter is loaded with inconsistencies, one is the unknown data type "char_byte" which is /// just a char array... /// </summary> /// <param name="tag"></param> /// <returns></returns> private static string GetAdjustedType(AB_RootDataTag tag) { if (tag.Type == "char_byte") { return("char"); } return(tag.Type); }
/// <summary> /// Validate cstring visit. /// </summary> /// <param name="item"></param> public void Visit(CStringDataItem item) { if (item == null) { throw new ArgumentNullException("item"); } AB_RootDataTag tag = RetrieveTag(item); Assert.AreEqual(tag.Value, "\"" + item.Value + "\""); }
/// <summary> /// Validate long visit. /// </summary> /// <param name="item"></param> public void Visit(LongDataItem item) { if (item == null) { throw new ArgumentNullException("item"); } AB_RootDataTag tag = RetrieveTag(item); ValidateAreEqual(GetData(tag.Value, value => int.Parse(value, CultureInfo.InvariantCulture)), item.Value); }
/// <summary> /// Validate time visit. /// </summary> /// <param name="item"></param> public void Visit(TimeDataItem item) { if (item == null) { throw new ArgumentNullException("item"); } AB_RootDataTag tag = RetrieveTag(item); DateTime value = DateTime.Parse(tag.Value, CultureInfo.InvariantCulture); Assert.IsTrue(value.Equals(item.Value)); }
/// <summary> /// Validate double visit. /// </summary> /// <param name="item"></param> public void Visit(DoubleDataItem item) { if (item == null) { throw new ArgumentNullException("item"); } // TODO: Test file does not hit this yet. AB_RootDataTag tag = RetrieveTag(item); Assert.AreEqual(GetData(tag.Value, value => double.Parse(value, CultureInfo.InvariantCulture)), item.Value); }
/// <summary> /// Validate float visit. /// </summary> /// <param name="item"></param> public void Visit(FloatDataItem item) { if (item == null) { throw new ArgumentNullException("item"); } AB_RootDataTag tag = RetrieveTag(item); // // Xml converter only stores 3 decimal places // ValidateAreEqual(GetData(tag.Value, value => (float)Math.Round(float.Parse(value, CultureInfo.InvariantCulture), 3)), (from v in item.Value select(float) Math.Round(v, 3)).ToArray()); }
/// <summary> /// Validate char visit. /// </summary> /// <param name="item"></param> public void Visit(CharDataItem item) { if (item == null) { throw new ArgumentNullException("item"); } AB_RootDataTag tag = RetrieveTag(item); if (tag.Type == "char_byte") { ValidateAreEqual(GetData(tag.Value, value => (char)byte.Parse(value, CultureInfo.InvariantCulture)), item.Value); } else { Assert.AreEqual(tag.Value, new string(item.Value)); } }