You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
API/src/Tests/UnitTestsModel/LargeImageTest.cs

159 lines
4.2 KiB

using Model;
using Xunit;
namespace Model.Tests
{
public class LargeImageTests
{
[Fact]
public void Equals_ReturnsTrue_WhenBase64StringsAreEqual()
{
var base64String = "VGhpcyBpcyBhIGJhc2U2NCBlbmNvZGVkIHN0cmluZw==";
var image1 = new LargeImage(base64String);
var image2 = new LargeImage(base64String);
var result = image1.Equals(image2);
Assert.True(result);
}
[Fact]
public void Equals_ReturnsFalse_WhenBase64StringsAreDifferent()
{
var base64String1 = "VGhpcyBpcyBhIGJhc2U2NCBlbmNvZGVkIHN0cmluZw==";
var base64String2 = "VGhpcyBpcyBhIGJhc2U2NSBlbmNvZGVkIHN0cmluZw==";
var image1 = new LargeImage(base64String1);
var image2 = new LargeImage(base64String2);
var result = image1.Equals(image2);
Assert.False(result);
}
[Fact]
public void Equals_WithNull_ReturnsFalse()
{
LargeImage image = new LargeImage("base64");
var result = image.Equals(null);
Assert.False(result);
}
[Fact]
public void Equals_WithSameReference_ReturnsTrue()
{
LargeImage image = new LargeImage("base64");
var result = image.Equals(image);
Assert.True(result);
}
[Fact]
public void Equals_WithDifferentType_ReturnsFalse()
{
LargeImage image = new LargeImage("base64");
var obj = new object();
var result = image.Equals(obj);
Assert.False(result);
}
[Fact]
public void Equals_WithDifferentBase64_ReturnsFalse()
{
LargeImage image1 = new LargeImage("base64");
LargeImage image2 = new LargeImage("differentBase64");
var result = image1.Equals(image2);
Assert.False(result);
}
[Fact]
public void Equals_WithSameBase64_ReturnsTrue()
{
LargeImage image1 = new LargeImage("base64");
LargeImage image2 = new LargeImage("base64");
var result = image1.Equals(image2);
Assert.True(result);
}
[Fact]
public void GetHashCode_ReturnsSameHashCode_ForSameBase64()
{
string base64 = "abcdefghij";
LargeImage largeImage1 = new LargeImage(base64);
LargeImage largeImage2 = new LargeImage(base64);
int hashCode1 = largeImage1.GetHashCode();
int hashCode2 = largeImage2.GetHashCode();
Assert.Equal(hashCode1, hashCode2);
}
[Fact]
public void Equals_ReturnsTrue_WhenComparingWithItself()
{
var largeImage = new LargeImage("base64String");
var result = largeImage.Equals(largeImage);
Assert.True(result);
}
[Fact]
public void Equals_ReturnsFalse_WhenComparingWithNull()
{
var largeImage = new LargeImage("base64String");
var result = largeImage.Equals(null);
Assert.False(result);
}
[Fact]
public void Equals_ReturnsFalse_WhenComparingWithDifferentType()
{
var largeImage = new LargeImage("base64String");
var otherObject = new object();
var result = largeImage.Equals(otherObject);
Assert.False(result);
}
[Fact]
public void Equals_ReturnsFalse_WhenComparingWithDifferentLargeImage()
{
var largeImage1 = new LargeImage("base64String1");
var largeImage2 = new LargeImage("base64String2");
var result = largeImage1.Equals(largeImage2);
Assert.False(result);
}
[Fact]
public void Equals_ReturnsTrue_WhenComparingWithEqualLargeImage()
{
var base64String = "base64String";
var largeImage1 = new LargeImage(base64String);
var largeImage2 = new LargeImage(base64String);
var result = largeImage1.Equals(largeImage2);
Assert.True(result);
}
}
}