/// <summary> /// Asserts two values are equal. /// </summary> /// <typeparam name="T">Type of values.</typeparam> /// <param name="manager">The test manager.</param> /// <param name="expected">The expected value.</param> /// <param name="actual">The actual value.</param> /// <param name="context">The description of the context under which both values are compared.</param> public static void AssertAreEqual <T>(IProtocolTestsManager manager, T expected, T actual, string context) { manager.Assert( Object.Equals(expected, actual), string.Format("expected \'{0}\', actual \'{1}\' ({2})", MessageRuntimeHelper.Describe(expected), MessageRuntimeHelper.Describe(actual), context) ); }
/// <summary> /// Delivers readable representation. /// </summary> /// <returns>The representation string</returns> public override string ToString() { StringBuilder result = new StringBuilder(); if (Target != null) { result.Append(MessageRuntimeHelper.Describe(Target)); result.Append("."); } result.Append("event "); result.Append(Event.Name); result.Append("("); bool first = true; foreach (object param in Parameters) { if (first) { first = false; } else { result.Append(","); } result.Append(MessageRuntimeHelper.Describe(param)); } result.Append(")"); return(result.ToString()); }
/// <summary> /// Delivers readable representation. /// </summary> /// <returns></returns> public override string ToString() { StringBuilder result = new StringBuilder(); result.Append("return "); result.Append(Method.Name); result.Append("("); bool first = true; Type returnType; if (Method is MethodInfo) { returnType = ((MethodInfo)Method).ReturnType; } else { returnType = null; } bool hasReturn = returnType != null && returnType != typeof(void); int i = hasReturn ? 1 : 0; foreach (ParameterInfo pinfo in Method.GetParameters()) { if (pinfo.ParameterType.IsByRef) { if (first) { first = false; } else { result.Append(","); } if ((pinfo.Attributes & ParameterAttributes.Out) != ParameterAttributes.None) { result.Append("out "); } else { result.Append("ref "); } result.Append(Parameters[i++]); } } result.Append(")"); if (hasReturn) { result.Append("/"); result.Append(MessageRuntimeHelper.Describe(Parameters[0])); } return(result.ToString()); }
/// <summary> /// Delivers readable representation. /// </summary> /// <returns></returns> public override string ToString() { StringBuilder result = new StringBuilder(); if (Target != null) { result.Append(MessageRuntimeHelper.Describe(Target)); result.Append("."); } result.Append("event "); result.Append(Event.Name); result.Append("(...)"); return(result.ToString()); }
/// <summary> /// Asserts two values are equal. /// </summary> /// <typeparam name="T">Type of values.</typeparam> /// <param name="manager">The test manager.</param> /// <param name="expected">The expected value.</param> /// <param name="actual">The actual value.</param> /// <param name="context">The description of the context under which both values are compared.</param> public static void AssertAreEqual <T>(IProtocolTestsManager manager, IList <T> expected, IList <T> actual, string context) { bool listEqual = false; if (expected != null && actual != null) { listEqual = expected.All(actual.Contains) && expected.Count == actual.Count; } else if (expected == null && actual == null) { listEqual = true; } StringBuilder expectedDescribeBuilder = new StringBuilder(); foreach (var item in expected) { expectedDescribeBuilder.AppendFormat("{0},", MessageRuntimeHelper.Describe <object>(item)); } StringBuilder actualDescribeBuilder = new StringBuilder(); foreach (var item in actual) { actualDescribeBuilder.AppendFormat("{0},", MessageRuntimeHelper.Describe <object>(item)); } if (expectedDescribeBuilder.Length > 0) { expectedDescribeBuilder.Remove(expectedDescribeBuilder.Length - 1, 1); } if (actualDescribeBuilder.Length > 0) { actualDescribeBuilder.Remove(actualDescribeBuilder.Length - 1, 1); } manager.Assert( listEqual, string.Format("expected \'{0}\', actual \'{1}\' ({2})", expectedDescribeBuilder.ToString(), actualDescribeBuilder.ToString(), context) ); }
/// <summary> /// Describes a (possibly symbolic) value. /// </summary> /// <typeparam name="T">type</typeparam> /// <param name="value">(possibly symbolic) value</param> /// <returns>description</returns> public static string Describe <T>(T value) { return(MessageRuntimeHelper.Describe(value)); }