Inheritance: CSharpAnalytics.Activities.MeasurementActivity
Ejemplo n.º 1
0
        public void SocialActivity_Constructor_With_All_Parameters_Sets_Correct_Properties()
        {
            var activity = new SocialActivity("action", "network", "target");

            Assert.AreEqual("network", activity.Network);
            Assert.AreEqual("action", activity.Action);
            Assert.AreEqual("target", activity.Target);
        }
        public void SocialActivity_Constructor_With_Minimal_Parameters_Sets_Correct_Properties()
        {
            var activity = new SocialActivity("action", "network");

            Assert.AreEqual("network", activity.Network);
            Assert.AreEqual("action", activity.Action);

            Assert.IsNull(activity.Target);
            Assert.IsNull(activity.PagePath);
        }
        internal static IEnumerable<KeyValuePair<string, string>> GetParameters(SocialActivity social)
        {
            yield return KeyValuePair.Create("utmt", "social");
            yield return KeyValuePair.Create("utmsa", social.Action);
            yield return KeyValuePair.Create("utmsn", social.Network);

            if (!String.IsNullOrWhiteSpace(social.Target))
                yield return KeyValuePair.Create("utmsid", social.Target);

            if (!String.IsNullOrWhiteSpace(social.PagePath))
                yield return KeyValuePair.Create("utmp", social.PagePath);
        }
        public void MeasurementActivityParameterBuilder_GetParameter_For_SocialActivity_Returns_Correct_Values()
        {
            var activity = new SocialActivity("action", "network", target: "target");

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

            Assert.AreEqual(4, parameters.Keys.Count);
            Assert.AreEqual("social", parameters["t"]);
            Assert.AreEqual("network", parameters["sn"]);
            Assert.AreEqual("action", parameters["sa"]);
            Assert.AreEqual("target", parameters["st"]);
        }
        /// <summary>
        /// Obtain the key/value pairs for a SocialActivity.
        /// </summary>
        /// <param name="social">SocialActivity to turn into key/value pairs.</param>
        /// <returns>Key/value pairs representing this SocialActivity.</returns>
        internal static IEnumerable<KeyValuePair<string, string>> GetParameters(SocialActivity social)
        {
            yield return KeyValuePair.Create("t", "social");

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

            yield return KeyValuePair.Create("sn", social.Network);
            yield return KeyValuePair.Create("sa", social.Action);
            yield return KeyValuePair.Create("st", social.Target);
        }
        public void UrchinActivityTracker_GetParameter_For_SocialActivity_Returns_Correct_Values()
        {
            var activity = new SocialActivity("action", "network");

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

            Assert.AreEqual("network", parameters["utmsn"]);
            Assert.AreEqual("action", parameters["utmsa"]);
        }
        public void UrchinActivityTracker_GetParameter_For_SocialActivity_Returns_Correct_Utmt_Type()
        {
            var activity = new SocialActivity("action", "category");

            var results = UrchinActivityTracker.GetParameters(activity).ToDictionary(k => k.Key, v => v);

            CollectionAssert.Contains(results.Keys, "utmt");
            Assert.AreEqual("social", results["utmt"].Value);
        }
        public void UrchinActivityTracker_GetParameter_For_SocialActivity_Returns_Correct_Optional_Values()
        {
            var activity = new SocialActivity("action", "network", pagePath: "pagePath", target: "target");

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

            Assert.AreEqual("target", parameters["utmsid"]);
            Assert.AreEqual("pagePath", parameters["utmp"]);
        }
        public void UrchinActivityTracker_GetParameter_For_SocialActivity_Returns_Correct_Keys()
        {
            var activity = new SocialActivity("action", "network", pagePath: "pagePath", target: "target");

            var actualKeys = UrchinActivityTracker.GetParameters(activity).Select(k => k.Key).ToArray();

            var expectedKeys = new[] { "utmsn", "utmsa", "utmsid", "utmp", "utmt" };
            CollectionAssert.AreEquivalent(expectedKeys, actualKeys);
        }