Basit Bir Test Framework Geliştirelim 6
2023-05-11
Evet, Assert
sınıfımıza IsInstanceOfType
ve IsNotInstanceOfType
işlevlerini ekleyelim. Bu işlevler, bir nesnenin belirli bir türden olup olmadığını kontrol eder. Ayrıca, her biri için özel hata türleri oluşturalım.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading;
// ... önceki exception sınıfları ...
public class AssertIsInstanceOfTypeFailedException : AssertFailedException
{
public AssertIsInstanceOfTypeFailedException(object value, Type expectedType)
: base($"Expected {value} to be instance of type {expectedType}, but it was not.") { }
}
public class AssertIsNotInstanceOfTypeFailedException : AssertFailedException
{
public AssertIsNotInstanceOfTypeFailedException(object value, Type expectedType)
: base($"Expected {value} not to be instance of type {expectedType}, but it was.") { }
}
public static class Assert
{
// ... önceki metodlar ...
public static void IsInstanceOfType<T>(object value)
{
if (!(value is T))
{
throw new AssertIsInstanceOfTypeFailedException(value, typeof(T));
}
}
public static void IsNotInstanceOfType<T>(object value)
{
if (value is T)
{
throw new AssertIsNotInstanceOfTypeFailedException(value, typeof(T));
}
}
// ... diğer metodlar ...
}
IsInstanceOfType
ve IsNotInstanceOfType
metodları sayesinde, bir nesnenin belirli bir türden olup olmadığını kontrol edebiliriz.