Basit Bir Test Framework Geliştirelim 9
2023-05-11
Assert
sınıfına HasElements
işlevini ekleyelim. Bu işlev, bir koleksiyonun belirli öğelere sahip olup olmadığını kontrol eder.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading;
// ... önceki exception sınıfları ...
public class AssertHasElementsFailedException : AssertFailedException
{
public AssertHasElementsFailedException(IEnumerable<object> missingElements)
: base($"Expected collection to contain {string.Join(", ", missingElements)}, but it did not.") { }
}
public static class Assert
{
// ... önceki metodlar ...
public static void HasElements<T>(IEnumerable<T> collection, params T[] elements)
{
var missingElements = elements.Except(collection).ToList();
if (missingElements.Any())
{
throw new AssertHasElementsFailedException(missingElements.Cast<object>());
}
}
// ... diğer metodlar ...
}
HasElements
metodu sayesinde, bir koleksiyonun belirli öğelere sahip olup olmadığını kontrol edebilirsiniz.