Backend/e-suite.Modules.FormsManager/e_suite.Modules.Form.ManagerUnitTest/FormFieldValueKeyComparerUnitTests/CompareUnitTests.cs
2026-01-20 21:50:10 +00:00

209 lines
4.7 KiB
C#

using e_suite.Database.Core.Tables.Forms;
using e_suite.Modules.FormsManager;
using NUnit.Framework;
namespace e_suite.Modules.FormsManagerUnitTests.FormFieldValueKeyComparerUnitTests;
[TestFixture]
public class CompareUnitTests
{
private FormFieldValueKeyComparer _formFieldValueKeyComparer = null!;
[SetUp]
public void SetUp()
{
_formFieldValueKeyComparer = new FormFieldValueKeyComparer();
}
[Test]
public void Compare_WhenBothNull_ReturnsEqual()
{
//Arrange
//Act
var result = _formFieldValueKeyComparer.Compare(null, null);
//Assert
Assert.That(result, Is.EqualTo(0));
}
[Test]
public void Compare_WhenXNull_ReturnsLower()
{
//Arrange
//Act
var result = _formFieldValueKeyComparer.Compare(null, new FormFieldInstance());
//Assert
Assert.That(result, Is.EqualTo(-1));
}
[Test]
public void Compare_WhenYNull_ReturnsHigher()
{
//Arrange
//Act
var result = _formFieldValueKeyComparer.Compare(new FormFieldInstance(), null);
//Assert
Assert.That(result, Is.EqualTo(1));
}
[Test]
public void Compare_WhenXFormInstanceIdLower_ReturnsLower()
{
//Arrange
var x = new FormFieldInstance
{
FormInstanceId = 1
};
var y = new FormFieldInstance
{
FormInstanceId = 2
};
//Act
var result = _formFieldValueKeyComparer.Compare(x,y);
//Assert
Assert.That(result, Is.EqualTo(-1));
}
[Test]
public void Compare_WhenXFormInstanceIdHigher_ReturnsHigher()
{
//Arrange
var x = new FormFieldInstance
{
FormInstanceId = 2
};
var y = new FormFieldInstance
{
FormInstanceId = 1
};
//Act
var result = _formFieldValueKeyComparer.Compare(x, y);
//Assert
Assert.That(result, Is.EqualTo(1));
}
[Test]
public void Compare_WhenXCustomFieldIdLower_ReturnsLower()
{
//Arrange
var x = new FormFieldInstance
{
FormInstanceId = 1,
CustomFieldId = 10
};
var y = new FormFieldInstance
{
FormInstanceId = 1,
CustomFieldId = 20
};
//Act
var result = _formFieldValueKeyComparer.Compare(x, y);
//Assert
Assert.That(result, Is.EqualTo(-1));
}
[Test]
public void Compare_WhenXCustomFieldIdHigher_ReturnsHigher()
{
//Arrange
var x = new FormFieldInstance
{
FormInstanceId = 1,
CustomFieldId = 20
};
var y = new FormFieldInstance
{
FormInstanceId = 1,
CustomFieldId = 10
};
//Act
var result = _formFieldValueKeyComparer.Compare(x, y);
//Assert
Assert.That(result, Is.EqualTo(1));
}
[Test]
public void Compare_WhenXIndexLower_ReturnsLower()
{
//Arrange
var x = new FormFieldInstance
{
FormInstanceId = 1,
CustomFieldId = 10,
Index = 100
};
var y = new FormFieldInstance
{
FormInstanceId = 1,
CustomFieldId = 10,
Index = 200
};
//Act
var result = _formFieldValueKeyComparer.Compare(x, y);
//Assert
Assert.That(result, Is.EqualTo(-1));
}
[Test]
public void Compare_WhenXIndexHigher_ReturnsHigher()
{
//Arrange
var x = new FormFieldInstance
{
FormInstanceId = 1,
CustomFieldId = 10,
Index = 200
};
var y = new FormFieldInstance
{
FormInstanceId = 1,
CustomFieldId = 10,
Index = 100
};
//Act
var result = _formFieldValueKeyComparer.Compare(x, y);
//Assert
Assert.That(result, Is.EqualTo(1));
}
[Test]
public void Compare_WhenXAllEqual_ReturnsEqual()
{
//Arrange
var x = new FormFieldInstance
{
FormInstanceId = 1,
CustomFieldId = 10,
Index = 100
};
var y = new FormFieldInstance
{
FormInstanceId = 1,
CustomFieldId = 10,
Index = 100
};
//Act
var result = _formFieldValueKeyComparer.Compare(x, y);
//Assert
Assert.That(result, Is.EqualTo(0));
}
}