Choice Class

Models non-determinism, and allows a rule to generate more than one step from a state.

Namespace: Microsoft.Modeling
Assembly: Microsoft.Xrt.Runtime (in Microsoft.Xrt.Runtime.dll)

Usage

'Usage

Syntax

'Declaration
public static class Choice

Example

The following example uses the Some(Generic Predicate) method to model an action that returns a random integer from min through max.

[Rule(Action = "Rand(min,max)/result")]
public static int Rand(int min, int max)
{
    Condition.IsTrue(min <= max);
    return Choice.Some<int>(x => (x >= min && x <= max));
}

Remarks

Non-determinism occurs when the system under test (SUT) can generate more than one correct response. The model can predict all acceptable responses but cannot predict which response the SUT will exhibit.

To identify the possible return values of a non-deterministic action, use the Some method to generate the return value of the associated rule. For more information about using the Choice class in a rule, see the Non-Determinism section in Actions.

Inheritance Hierarchy

System.Object
  Microsoft.Modeling.Choice

Thread Safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Platforms

Development Platforms

Microsoft Windows 7, Microsoft Windows Vista, Microsoft Windows XP SP2 or later, Microsoft Windows Server 2008, Microsoft Windows Server 2003

Change History

See Also

Reference

Choice Members
Microsoft.Modeling Namespace
RuleAttribute

Other Resources

Actions
Rules