Basit Bir Test Framework Geliştirelim 8
2023-05-11
Şimdi, IsSameAs
ve IsNotSameAs
işlevlerini ekleyelim. Bu işlevler, iki nesnenin aynı referansa 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 AssertIsSameAsFailedException : AssertFailedException
{
public AssertIsSameAsFailedException(object value, object other)
: base($"Expected {value} to be the same as {other}, but it was not.") { }
}
public class AssertIsNotSameAsFailedException : AssertFailedException
{
public AssertIsNotSameAsFailedException(object value, object other)
: base($"Expected {value} to not be the same as {other}, but it was.") { }
}
public static class Assert
{
// ... önceki metodlar ...
public static void IsSameAs<T>(T value, T other) where T : class
{
if (!ReferenceEquals(value, other))
{
throw new AssertIsSameAsFailedException(value, other);
}
}
public static void IsNotSameAs<T>(T value, T other) where T : class
{
if (ReferenceEquals(value, other))
{
throw new AssertIsNotSameAsFailedException(value, other);
}
}
// ... diğer metodlar ...
}
IsSameAs
ve IsNotSameAs
metodları sayesinde, iki nesnenin aynı referansa sahip olup olmadığını kontrol edebilirsiniz.