ds5678 a9f01e0536 Refactor assertions to use EnterMultipleScope
Replaced `Assert.Multiple` with `using (Assert.EnterMultipleScope())` in various test methods across multiple test classes. This change improves the readability and structure of assertions, allowing for better management of multiple assertions within a single test case. Affected classes include `AssetResolutionTests`, `FileResolutionTests`, `PPtrTests`, `SmartStreamTests`, and others, enhancing the organization of test result outputs.
2025-06-23 00:05:28 -07:00

44 lines
1.5 KiB
C#

namespace AssetRipper.IO.Files.Tests;
public static class FileUtilsTests
{
[Test]
public static void FilenameTruncationMultibyteCharacter()
{
using (Assert.EnterMultipleScope())
{
// A length 3 cont cont cont
// 01000001 11100110 10010110 10000111 00001010
Assert.That(FileSystem.GetUniqueName("/dir", "A文.ext", 4), Is.EqualTo(".ext"));
Assert.That(FileSystem.GetUniqueName("/dir", "A文.ext", 5), Is.EqualTo("A.ext"));
Assert.That(FileSystem.GetUniqueName("/dir", "A文.ext", 6), Is.EqualTo("A.ext"));
Assert.That(FileSystem.GetUniqueName("/dir", "A文.ext", 7), Is.EqualTo("A.ext"));
Assert.That(FileSystem.GetUniqueName("/dir", "A文.ext", 8), Is.EqualTo("A文.ext"));
Assert.That(FileSystem.GetUniqueName("/dir", "A文.ext", 9), Is.EqualTo("A文.ext"));
}
}
[Test]
public static void ExtensionLength()
{
using (Assert.EnterMultipleScope())
{
Assert.That(FileSystem.GetUniqueName("/dir", "A文.ext", 7), Is.EqualTo("A.ext"));
Assert.That(FileSystem.GetUniqueName("/dir", "A文.ext", 8), Is.EqualTo("A文.ext"));
Assert.That(FileSystem.GetUniqueName("/dir", "A文.exte", 8), Is.EqualTo("A.exte"));
Assert.That(FileSystem.GetUniqueName("/dir", "A文.exte", 9), Is.EqualTo("A文.exte"));
}
}
[Test]
public static void WithoutExtension()
{
using (Assert.EnterMultipleScope())
{
Assert.That(FileSystem.GetUniqueName("/dir", "A文", 3), Is.EqualTo("A"));
Assert.That(FileSystem.GetUniqueName("/dir", "A文", 4), Is.EqualTo("A文"));
}
}
}