Inheritance: IMeasurementActivity
        public void ExceptionActivity_Constructor_With_Minimal_Parameters_Sets_Correct_Properties()
        {
            var activity = new ExceptionActivity("description", true);

            Assert.AreEqual("description", activity.Description);
            Assert.AreEqual(true, activity.IsFatal);
        }
        public void MeasurementActivityParameterBuilder_GetParameter_For_ExceptionActivity_Returns_Correct_Values()
        {
            var activity = new ExceptionActivity("Something wonderful has happened.", false);

            var parameters = MeasurementActivityParameterBuilder.GetParameters(activity).ToDictionary(k => k.Key, v => v.Value);

            Assert.AreEqual(3, parameters.Keys.Count);
            Assert.AreEqual("Something wonderful has happened.", parameters["exd"]);
            Assert.AreEqual("0", parameters["exf"]);
        }
        /// <summary>
        /// Obtain the key/value pairs for a ExceptionActivity.
        /// </summary>
        /// <param name="exception">ExceptionActivity to turn into key/value pairs.</param>
        /// <returns>Key/value pairs representing this ExceptionActivity.</returns>
        internal static IEnumerable<KeyValuePair<string, string>> GetParameters(ExceptionActivity exception)
        {
            yield return KeyValuePair.Create("t", "exception");

            foreach (var parameter in GetCommonParameters(exception))
                yield return parameter;

            yield return KeyValuePair.Create("exd", exception.Description);
            if (!exception.IsFatal)
                yield return KeyValuePair.Create("exf", "0");
        }