174 lines
4.6 KiB
C#
174 lines
4.6 KiB
C#
using NUnit.Framework;
|
|
using Sarand.Net.Standard.Base.Bus;
|
|
using Sarand.Net.Standard.Base.Utils;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
|
|
namespace Sacs.UnitTests.Net.Standard.Base.Bus
|
|
{
|
|
[TestFixture]
|
|
public class SysId_Tester
|
|
{
|
|
// --- Data Members ---
|
|
|
|
private readonly SysId idNull = null;
|
|
private readonly SysId id_ = new SysId();
|
|
private readonly SysId id0 = new SysId(0);
|
|
private readonly SysId id1 = new SysId(1);
|
|
|
|
// --- Tests ---
|
|
|
|
[Test]
|
|
public void SysId_CTR_Void ()
|
|
{
|
|
Assert.That(new SysId(), Is.Not.Null);
|
|
Assert.That(new SysId().ToInt(), Is.EqualTo(0));
|
|
Assert.That(String.IsNullOrEmpty(new SysId().ToString()), Is.True);
|
|
Assert.That(StringUtil.IsEmpty(new SysId().ToString()), Is.True);
|
|
Assert.That(new SysId().ToString(), Is.Empty);
|
|
Assert.That(new SysId().ToString(), Is.Empty);
|
|
}
|
|
|
|
[Test]
|
|
public void SysId_CTR_Long ()
|
|
{
|
|
// Zero - invalid.
|
|
Assert.That(new SysId(0), Is.Not.Null);
|
|
|
|
// 1 - Valid.
|
|
Assert.That(new SysId(1), Is.Not.Null);
|
|
Assert.That(new SysId(-1), Is.Not.Null);
|
|
}
|
|
|
|
// Is Valid.
|
|
[Test]
|
|
public void SysId_IsValid ()
|
|
{
|
|
Assert.That(SysId.IsValid(null), Is.False);
|
|
Assert.That(SysId.IsValid(new SysId()), Is.False);
|
|
Assert.That(SysId.IsValid(new SysId(0)), Is.False);
|
|
Assert.That(SysId.IsValid(new SysId(1)), Is.True);
|
|
Assert.That(SysId.IsValid(new SysId(-1)), Is.True);
|
|
}
|
|
|
|
// Invalid on null.
|
|
[Test]
|
|
public void SysId_InvalidOnNull ()
|
|
{
|
|
Assert.That(SysId.InvalidOnNull(null), Is.Not.Null);
|
|
Assert.That(SysId.IsValid(SysId.InvalidOnNull(null)), Is.False);
|
|
Assert.That(SysId.IsValid(SysId.InvalidOnNull(new SysId())), Is.False);
|
|
Assert.That(SysId.IsValid(SysId.InvalidOnNull(new SysId(0))), Is.False);
|
|
Assert.That(SysId.IsValid(SysId.InvalidOnNull(new SysId(1))), Is.True);
|
|
Assert.That(SysId.IsValid(SysId.InvalidOnNull(new SysId(-1))), Is.True);
|
|
}
|
|
|
|
[Test]
|
|
public void SysId_Equals_Object ()
|
|
{
|
|
Assert.That(id_.Equals(null), Is.False);
|
|
Assert.That(id0.Equals(null), Is.False);
|
|
Assert.That(id1.Equals(null), Is.False);
|
|
Assert.That(id_.Equals((Object)id_), Is.False);
|
|
Assert.That(id_.Equals((Object)id0), Is.False);
|
|
Assert.That(id_.Equals((Object)id1), Is.False);
|
|
Assert.That(id0.Equals((Object)id_), Is.False);
|
|
Assert.That(id0.Equals((Object)id0), Is.False);
|
|
Assert.That(id0.Equals((Object)id1), Is.False);
|
|
Assert.That(id1.Equals((Object)id_), Is.False);
|
|
Assert.That(id1.Equals((Object)id0), Is.False);
|
|
Assert.That(id1.Equals((Object)id1), Is.True);
|
|
}
|
|
[Test]
|
|
public void SysId_Equals_SysId ()
|
|
{
|
|
// Invalid values always unequal.
|
|
Assert.That(id_.Equals(null), Is.False);
|
|
Assert.That(id_.Equals(idNull), Is.False);
|
|
Assert.That(id_.Equals(id_), Is.False);
|
|
Assert.That(id_.Equals(id0), Is.False);
|
|
Assert.That(id_.Equals(new SysId()), Is.False);
|
|
|
|
// Valid values.
|
|
Assert.That(id1.Equals(new SysId(1)), Is.True);
|
|
|
|
for (int i = 1; i <= 1000; i++)
|
|
{
|
|
SysId idI = new SysId(i);
|
|
for (int j = 1; j <= 1000; j++)
|
|
{
|
|
SysId idJ = new SysId(j);
|
|
if (i == j) Assert.That(idI.Equals(idJ), Is.True);
|
|
else Assert.That(idI.Equals(idJ), Is.False);
|
|
|
|
}
|
|
}
|
|
}
|
|
|
|
// --- Lists ---
|
|
[Test]
|
|
public void SysId_List_GetIdCount ()
|
|
{
|
|
List<SysId> ids = new List<SysId>()
|
|
{
|
|
new SysId(),
|
|
new SysId(1),
|
|
new SysId(2),
|
|
new SysId(3),
|
|
new SysId(),
|
|
new SysId(3),
|
|
new SysId(2),
|
|
new SysId(1),
|
|
new SysId(),
|
|
};
|
|
// Unique, valid only.
|
|
Assert.That(ids.GetIdCount(), Is.EqualTo(3));
|
|
Assert.That(ids.GetIdCount(true, true), Is.EqualTo(3));
|
|
// Unique including invalid.
|
|
Assert.That(ids.GetIdCount(false), Is.EqualTo(4));
|
|
Assert.That(ids.GetIdCount(false, true), Is.EqualTo(4));
|
|
// Duplicate, valid only.
|
|
Assert.That(ids.GetIdCount(true, false), Is.EqualTo(6));
|
|
// Duplicate including invalid.
|
|
Assert.That(ids.GetIdCount(false, false), Is.EqualTo(9));
|
|
}
|
|
|
|
[Test]
|
|
public void SysId_List_HasValidIds ()
|
|
{
|
|
List<SysId> ids = new List<SysId>();
|
|
|
|
// Single valid Id.
|
|
ids.Clear();
|
|
ids.Add(new SysId(123));
|
|
Assert.That(ids.HasValidIds(), Is.EqualTo(true));
|
|
|
|
// Several valid ids.
|
|
ids.Clear();
|
|
ids.AddRange(new List<SysId>()
|
|
{
|
|
new SysId(1),
|
|
new SysId(2),
|
|
new SysId(3),
|
|
});
|
|
Assert.That(ids.HasValidIds(), Is.EqualTo(true));
|
|
|
|
// Invalid only.
|
|
ids.Clear();
|
|
ids.AddRange(new List<SysId>()
|
|
{
|
|
new SysId(),
|
|
new SysId(),
|
|
new SysId(),
|
|
});
|
|
Assert.That(ids.HasValidIds(), Is.EqualTo(false));
|
|
|
|
// Add valid Id.
|
|
ids.Add(new SysId(123));
|
|
Assert.That(ids.HasValidIds(), Is.EqualTo(true));
|
|
}
|
|
|
|
// --- The End ---
|
|
}
|
|
}
|