public void ScopedCustomVariable_Constructor_Sets_Properties() { var customVariable = new CustomVariable("name3", "value3"); var scopedCustomVariableSlot = new ScopedCustomVariableSlot(CustomVariableScope.Session, customVariable , 3); Assert.AreEqual(CustomVariableScope.Session, scopedCustomVariableSlot.Scope); Assert.AreEqual(3, scopedCustomVariableSlot.Slot); Assert.AreEqual(customVariable, scopedCustomVariableSlot.Variable); }
/// <summary> /// Encode custom variables into a single parameter string. /// </summary> /// <param name="customVariables">Custom variables to encode.</param> /// <returns>Encoded custom variables.</returns> internal static string EncodeCustomVariables(ScopedCustomVariableSlot[] customVariables) { return UtmeEncoder.Encode("8", customVariables.Select(c => c == null ? null : c.Variable.Name).ToArray()) + UtmeEncoder.Encode("9", customVariables.Select(c => c == null ? null : c.Variable.Value).ToArray()) + UtmeEncoder.Encode("11", customVariables.Select(c => c == null ? null : GetScopeIdentity(c.Scope)).ToArray()); }
/// <summary> /// Get parameters for a given set of custom variables. /// </summary> /// <param name="customVariables">Custom variables to obtain parameters from.</param> /// <returns>Enumerable of key/value pairs containing parameters for these custom variables.</returns> private static IEnumerable<KeyValuePair<string, string>> GetParameters(ScopedCustomVariableSlot[] customVariables) { yield return KeyValuePair.Create("utme", EncodeCustomVariables(customVariables)); }
public void CustomVariable_Constructor_Throws_ArgumentOutOfRange_If_Enum_Undefined() { var scoped = new ScopedCustomVariableSlot((CustomVariableScope) 421, new CustomVariable("t", "k"), 9); }