Sets the join strategy of a test to be pairwise.

Namespace:  MbUnit.Framework
Assembly:  MbUnit (in MbUnit.dll) Version: 3.3.0.0 (3.3.459.0)

Syntax

C#
public class PairwiseJoinAttribute : JoinAttribute
Visual Basic (Declaration)
Public Class PairwiseJoinAttribute _
	Inherits JoinAttribute

Remarks

The test will be executed using values drawn from each data source and combined so that all possible pairings of values from each data source are produced. This constraint vastly reduces the number of combinations because we only consider all interactions among pairs of variables rather than among all variables at once. This strategy still provides a high degree of variability among combinations and has a high likelihood of finding bugs while incurring much less cost than testing all possible combinations.

If there are three data sources, A, B and C with values A1, A2, B1, B2, C1 and C2 then the test will be run four times with inputs: (A1, B1, C1), (A2, B2, C1), (A1, B2, C2), (A2, B1, C2). Compare this with the eight times that a standard cross-product combinatorial join strategy would have required.

The algorithm used to compute pairwise coverings is approximate and might not find a minimal pairwise covering of values. However, the relative size of a full combinatorial cross product will still be exponentially larger than that of the covering that is produced.

Inheritance Hierarchy

System..::.Object
  System..::.Attribute
    Gallio.Framework.Pattern..::.PatternAttribute
      MbUnit.Framework..::.JoinAttribute
        MbUnit.Framework..::.PairwiseJoinAttribute

See Also