Files
speckle-sharp-sdk/tests/Speckle.Core.Tests.Unit/Models/UtilitiesTests.cs
T
2024-06-21 08:42:42 +01:00

72 lines
2.3 KiB
C#

using NUnit.Framework;
using Speckle.Core.Helpers;
namespace Speckle.Core.Tests.Unit.Models;
[TestFixture(TestOf = typeof(Crypt))]
public sealed class UtilitiesTests
{
[Test]
[TestOf(nameof(Crypt.Md5))]
[TestCase("WnAbz1hCznVmDh1", "ad48ff1e60ea2369de178aaab2fa99af")]
[TestCase("wQKrSUzBB7FI1o6", "2424cff4a88055b149e5ff2aaf0b3131")]
public void Md5(string input, string expected)
{
var lower = Crypt.Md5(input, "x2");
var upper = Crypt.Md5(input, "X2");
Assert.That(lower, Is.EqualTo(expected.ToLower()));
Assert.That(upper, Is.EqualTo(expected.ToUpper()));
}
[TestCase("fxFB14cBcXvoENN", "887db9349afa455f957a95f9dbacbb3c10697749cf4d4afc5c6398932a596fbc")]
[TestCase("tgWsOH8frdAwJT7", "e486224ded0dcb1452d69d0d005a6dcbc52087f6e8c66e04803e1337a192abb4")]
[TestOf(nameof(Crypt.Sha256))]
public void Sha256(string input, string expected)
{
var lower = Crypt.Sha256(input, "x2");
var upper = Crypt.Sha256(input, "X2");
Assert.That(lower, Is.EqualTo(expected.ToLower()));
Assert.That(upper, Is.EqualTo(expected.ToUpper()));
}
[Test]
public void FlattenToNativeConversion()
{
var singleObject = new object();
var nestedObjects = new List<object>()
{
new List<object>()
{
new(), // obj 1
new() // obj 2
},
new() // obj 3
};
var testEnum = new List<object>() { new(), new() }.Select(o => o);
var nestedObjectsWithEnumerableInherited = new List<object>()
{
new List<object>()
{
new(), // obj 1
new(), // obj 2
testEnum // obj 3
},
new() // obj 4
};
var parentTestEnumFlattened = Core.Models.Utilities.FlattenToHostConversionResult(testEnum);
var singleObjectFlattened = Core.Models.Utilities.FlattenToHostConversionResult(singleObject);
var nestedObjectsFlattened = Core.Models.Utilities.FlattenToHostConversionResult(nestedObjects);
var nestedObjectsWithEnumerableInheritedFlattened = Core.Models.Utilities.FlattenToHostConversionResult(
nestedObjectsWithEnumerableInherited
);
Assert.That(parentTestEnumFlattened.Count, Is.EqualTo(1));
Assert.That(singleObjectFlattened.Count, Is.EqualTo(1));
Assert.That(nestedObjectsFlattened.Count, Is.EqualTo(3));
Assert.That(nestedObjectsWithEnumerableInheritedFlattened.Count, Is.EqualTo(4));
}
}