48 lines
1.4 KiB
C#
48 lines
1.4 KiB
C#
using System.Collections;
|
|
using PkmnLib.Static.Utils;
|
|
|
|
namespace PkmnLib.Tests.Static;
|
|
|
|
public class StringKeyTests
|
|
{
|
|
private static IEnumerable StringKeyEqualityTestCases
|
|
{
|
|
get
|
|
{
|
|
yield return new TestCaseData("test", "test").Returns(true);
|
|
yield return new TestCaseData("test", "test2").Returns(false);
|
|
yield return new TestCaseData("test2", "test2").Returns(true);
|
|
yield return new TestCaseData("Test", "test").Returns(true);
|
|
yield return new TestCaseData("TeSt", "tesT").Returns(true);
|
|
yield return new TestCaseData("TeSt", "tesv").Returns(false);
|
|
}
|
|
}
|
|
|
|
[Test]
|
|
[TestCaseSource(nameof(StringKeyEqualityTestCases))]
|
|
public bool StringKeyEqualityTest(string k1, string k2)
|
|
{
|
|
var sk1 = new StringKey(k1);
|
|
var sk2 = new StringKey(k2);
|
|
return sk1 == sk2;
|
|
}
|
|
|
|
[Test]
|
|
[TestCaseSource(nameof(StringKeyEqualityTestCases))]
|
|
public bool HashCodeEqualityTest(string k1, string k2)
|
|
{
|
|
var sk1 = new StringKey(k1);
|
|
var sk2 = new StringKey(k2);
|
|
return sk1.GetHashCode() == sk2.GetHashCode();
|
|
}
|
|
|
|
[Test]
|
|
[TestCaseSource(nameof(StringKeyEqualityTestCases))]
|
|
public bool HashSetEqualityTest(string k1, string k2)
|
|
{
|
|
var sk1 = new StringKey(k1);
|
|
var sk2 = new StringKey(k2);
|
|
var hs = new HashSet<StringKey> { sk1 };
|
|
return hs.Contains(sk2);
|
|
}
|
|
} |