LaunchDarkly Dotnet Server SDK
Search Results for

    Show / Hide Table of Contents

    Class TestData.FlagRuleBuilder

    A builder for feature flag rules to be used with TestData.FlagBuilder.

    Inheritance
    object
    TestData.FlagRuleBuilder
    Inherited Members
    object.Equals(object)
    object.Equals(object, object)
    object.GetHashCode()
    object.GetType()
    object.ReferenceEquals(object, object)
    object.ToString()
    Namespace: LaunchDarkly.Sdk.Server.Integrations
    Assembly: LaunchDarkly.ServerSdk.dll
    Syntax
    public sealed class TestData.FlagRuleBuilder
    Remarks

    In the LaunchDarkly model, a flag can have any number of rules, and a rule can have any number of clauses. A clause is an individual test such as "name is 'X'". A rule matches a context if all of the rule's clauses match the context.

    To start defining a rule, use one of the flag builder's matching methods such as IfMatchContext(ContextKind, string, params LdValue[]). This defines the first clause for the rule. Optionally, you may add more clauses with the rule builder's methods such as AndMatchContext(ContextKind, string, params LdValue[]). Finally, call ThenReturn(bool) or ThenReturn(int) to finish defining the rule.

    Methods

    | Edit this page View Source

    AndMatch(string, params LdValue[])

    Adds another clause, using the "is one of" operator. This is a shortcut for calling AndMatchContext(ContextKind, string, params LdValue[]) with "user" as the context kind.

    Declaration
    public TestData.FlagRuleBuilder AndMatch(string attribute, params LdValue[] values)
    Parameters
    Type Name Description
    string attribute

    the user attribute to match against

    LdValue[] values

    values to compare to

    Returns
    Type Description
    TestData.FlagRuleBuilder

    the rule builder

    Remarks

    For example, this creates a rule that returns true if the name is "Patsy" and the country is "gb":

    testData.Update(testData.Flag("flag-key")
          .IfMatch("name", LdValue.Of("Patsy"))
          .AndMatch("country", LdValue.Of("gb"))
          .ThenReturn(true));
    | Edit this page View Source

    AndMatchContext(ContextKind, string, params LdValue[])

    Adds another clause, using the "is one of" operator. This matching expression only applies to contexts of a specific kind.

    Declaration
    public TestData.FlagRuleBuilder AndMatchContext(ContextKind contextKind, string attribute, params LdValue[] values)
    Parameters
    Type Name Description
    ContextKind contextKind

    the context kind to match

    string attribute

    the attribute to match against

    LdValue[] values

    values to compare to

    Returns
    Type Description
    TestData.FlagRuleBuilder

    the rule builder

    Remarks

    For example, this creates a rule that returns true if the name attribute for the "company" context is "Ella" and the country is "gb":

    testData.Update(testData.Flag("flag-key")
          .IfMatchContext("company", "name", LdValue.Of("Ella"))
          .AndMatchContext("company", "country", LdValue.Of("gb"))
          .ThenReturn(true));
    | Edit this page View Source

    AndNotMatch(string, params LdValue[])

    Adds another clause, using the "is not one of" operator. This is a shortcut for calling AndNotMatchContext(ContextKind, string, params LdValue[]) with "user" as the context kind.

    Declaration
    public TestData.FlagRuleBuilder AndNotMatch(string attribute, params LdValue[] values)
    Parameters
    Type Name Description
    string attribute

    the user attribute to match against

    LdValue[] values

    values to compare to

    Returns
    Type Description
    TestData.FlagRuleBuilder

    the rule builder

    Remarks

    For example, this creates a rule that returns true if the name is "Patsy" and the country is not "gb":

    testData.Update(testData.Flag("flag-key")
          .IfMatch("name", LdValue.Of("Patsy"))
          .AndNotMatch("country", LdValue.Of("gb"))
          .ThenReturn(true));
    | Edit this page View Source

    AndNotMatchContext(ContextKind, string, params LdValue[])

    Adds another clause, using the "is not one of" operator. This matching expression only applies to contexts of a specific kind.

    Declaration
    public TestData.FlagRuleBuilder AndNotMatchContext(ContextKind contextKind, string attribute, params LdValue[] values)
    Parameters
    Type Name Description
    ContextKind contextKind

    the context kind to match

    string attribute

    the attribute to match against

    LdValue[] values

    values to compare to

    Returns
    Type Description
    TestData.FlagRuleBuilder

    the rule builder

    Remarks

    For example, this creates a rule that returns true if the name attribute for the "company" context is "Ella" and the country is not "gb":

    testData.Update(testData.Flag("flag-key")
          .IfMatchContext("company", "name", LdValue.Of("Ella"))
          .AndNotMatchContext("company", "country", LdValue.Of("gb"))
          .ThenReturn(true));
    | Edit this page View Source

    ThenReturn(bool)

    Finishes defining the rule, specifying the result value as a boolean.

    Declaration
    public TestData.FlagBuilder ThenReturn(bool variation)
    Parameters
    Type Name Description
    bool variation

    the value to return if the rule matches the user

    Returns
    Type Description
    TestData.FlagBuilder
    | Edit this page View Source

    ThenReturn(int)

    Finishes defining the rule, specifying the result as a variation index.

    Declaration
    public TestData.FlagBuilder ThenReturn(int variationIndex)
    Parameters
    Type Name Description
    int variationIndex

    the variation to return if the rule matches the user: 0 for the first, 1 for the second, etc.

    Returns
    Type Description
    TestData.FlagBuilder

    the flag builder

    • Edit this page
    • View Source
    In this article
    Back to top Generated by DocFX