/// <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)
         );
 }
Esempio n. 2
0
        /// <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());
        }
Esempio n. 3
0
        /// <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));
 }