DictionaryContainsValue Constraint
DictionaryContainsValueConstraint tests whether a dictionary contains an expected value.
Usage
Contains.Value(object expectedValue)
Does.ContainValue(object expectedValue)
Does.Not.ContainValue(object expectedValue)
Modifiers
.IgnoreCase
.Using(IComparer comparer)
.Using(IEqualityComparer comparer)
.Using<T>(IComparer<T> comparer)
.Using<T>(IEqualityComparer<T> comparer)
.Using<T>(Comparison<T> comparer)
.Using<T>(Func<T, T, bool> comparer)
.UsingPropertiesComparer() // NUnit 4.1+
Examples
[Test]
public void DictionaryContainsValueConstraint_Examples()
{
var scores = new Dictionary<string, int>
{
["Alice"] = 100,
["Bob"] = 85,
["Carol"] = 100
};
// Basic value checks
Assert.That(scores, Contains.Value(100));
Assert.That(scores, Does.ContainValue(85));
Assert.That(scores, Does.Not.ContainValue(50));
// String values with case-insensitive comparison
var names = new Dictionary<int, string>
{
[1] = "Alice",
[2] = "Bob"
};
Assert.That(names, Does.ContainValue("alice").IgnoreCase);
}
Notes
- Unlike key comparison, value comparison can use NUnit's comparison modifiers.
- The constraint checks if any value in the dictionary matches.