Show / Hide Table of Contents

Class TypeBehavior

Xunit test assertions that may be helpful in testing generic type behavior.

Inheritance
System.Object
TypeBehavior
Namespace: LaunchDarkly.TestHelpers
Assembly: LaunchDarkly.TestHelpers.dll
Syntax
public static class TypeBehavior : Object

Methods

AssertEqual<T>(T, T)

Asserts that the values are commutatively equal with Equal(), and that their hash codes are equal.

Declaration
public static void AssertEqual<T>(T a, T b)
Parameters
Type Name Description
T a

a value

T b

another value

Type Parameters
Name Description
T

the type of the values

AssertNotEqual<T>(T, T)

Asserts that the values are commutatively unequal with Equal(). The hash codes do not have to be unequal.

Declaration
public static void AssertNotEqual<T>(T a, T b)
Parameters
Type Name Description
T a

a value

T b

another value

Type Parameters
Name Description
T

the type of the values

CheckEqualsAndHashCode<T>(Func<T>[])

Implements a standard test suite for custom implementations of Equals() and GetHashCode().

Declaration
public static void CheckEqualsAndHashCode<T>(params Func<T>[] valueFactories)
Parameters
Type Name Description
System.Func<T>[] valueFactories

list of factories for distinct values

Type Parameters
Name Description
T
Remarks

The valueFactories parameter is a list of value factories. Each factory must produce only instances that are equal to each other, and not equal to the instances produced by any of the other factories. The test suite verifies the following:

ValueFactoryFromInstances<T>(T[])

Creates a factory that returns the specified instances in order each time it is called. After all instances are used, it starts over at the first.

Declaration
public static Func<T> ValueFactoryFromInstances<T>(params T[] values)
Parameters
Type Name Description
T[] values

instances of the value

Returns
Type Description
System.Func<T>

a factory function

Type Parameters
Name Description
T

the value type

Remarks

This is for use with CheckEqualsAndHashCode<T>(Func<T>[]).

In This Article
Back to top Generated by DocFX