2024-10-14 08:10:18 +00:00
|
|
|
|
using NUnit.Framework;
|
|
|
|
|
|
|
|
|
|
namespace FrameworkTests.Utils
|
|
|
|
|
{
|
|
|
|
|
[TestFixture]
|
|
|
|
|
public class RunLengthEncodingLogicalTests
|
|
|
|
|
{
|
2024-10-14 09:19:40 +00:00
|
|
|
|
[Test]
|
|
|
|
|
public void EqualityTest()
|
|
|
|
|
{
|
|
|
|
|
var setA = new IndexSet([1, 2, 3, 4]);
|
|
|
|
|
var setB = new IndexSet([1, 2, 3, 4]);
|
|
|
|
|
|
|
|
|
|
Assert.That(setA, Is.EqualTo(setB));
|
|
|
|
|
Assert.That(setA == setB);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
[Test]
|
|
|
|
|
public void InequalityTest1()
|
|
|
|
|
{
|
|
|
|
|
var setA = new IndexSet([1, 2, 4, 5]);
|
|
|
|
|
var setB = new IndexSet([1, 2, 3, 4]);
|
|
|
|
|
|
|
|
|
|
Assert.That(setA, Is.Not.EqualTo(setB));
|
|
|
|
|
Assert.That(setA != setB);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
[Test]
|
|
|
|
|
public void InequalityTest2()
|
|
|
|
|
{
|
|
|
|
|
var setA = new IndexSet([1, 2, 3]);
|
|
|
|
|
var setB = new IndexSet([1, 2, 3, 4]);
|
|
|
|
|
|
|
|
|
|
Assert.That(setA, Is.Not.EqualTo(setB));
|
|
|
|
|
Assert.That(setA != setB);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
[Test]
|
|
|
|
|
public void InequalityTest3()
|
|
|
|
|
{
|
|
|
|
|
var setA = new IndexSet([2, 3, 4, 5]);
|
|
|
|
|
var setB = new IndexSet([1, 2, 3, 4]);
|
|
|
|
|
|
|
|
|
|
Assert.That(setA, Is.Not.EqualTo(setB));
|
|
|
|
|
Assert.That(setA != setB);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
[Test]
|
|
|
|
|
public void InequalityTest()
|
|
|
|
|
{
|
|
|
|
|
var setA = new IndexSet([2, 3, 4]);
|
|
|
|
|
var setB = new IndexSet([1, 2, 3, 4]);
|
|
|
|
|
|
|
|
|
|
Assert.That(setA, Is.Not.EqualTo(setB));
|
|
|
|
|
Assert.That(setA != setB);
|
|
|
|
|
}
|
|
|
|
|
|
2024-10-14 08:10:18 +00:00
|
|
|
|
[Test]
|
|
|
|
|
public void Overlap()
|
|
|
|
|
{
|
|
|
|
|
var setA = new IndexSet([1, 2, 3, 4, 5, 11, 14]);
|
|
|
|
|
var setB = new IndexSet([3, 4, 5, 6, 7, 11, 12, 13]);
|
|
|
|
|
var expectedSet = new IndexSet([3, 4, 5, 11]);
|
|
|
|
|
|
|
|
|
|
var set = setA.Overlap(setB);
|
|
|
|
|
|
|
|
|
|
Assert.That(set, Is.EqualTo(expectedSet));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
[Test]
|
|
|
|
|
public void Merge()
|
|
|
|
|
{
|
|
|
|
|
var setA = new IndexSet([1, 2, 3, 4, 5, 11, 14]);
|
|
|
|
|
var setB = new IndexSet([3, 4, 5, 6, 7, 11, 12, 13]);
|
|
|
|
|
var expectedSet = new IndexSet([1, 2, 3, 4, 5, 6, 7, 11, 12, 13, 14]);
|
|
|
|
|
|
|
|
|
|
var set = setA.Merge(setB);
|
|
|
|
|
|
|
|
|
|
Assert.That(set, Is.EqualTo(expectedSet));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
[Test]
|
|
|
|
|
public void Without()
|
|
|
|
|
{
|
|
|
|
|
var setA = new IndexSet([1, 2, 3, 4, 5, 11, 14]);
|
|
|
|
|
var setB = new IndexSet([3, 4, 5, 6, 7, 11, 12, 13]);
|
|
|
|
|
var expectedSet = new IndexSet([1, 2, 14]);
|
|
|
|
|
|
|
|
|
|
var set = setA.Without(setB);
|
|
|
|
|
|
|
|
|
|
Assert.That(set, Is.EqualTo(expectedSet));
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|