Skip to content

Commit e9674d1

Browse files
committed
Use cached delegates for EtcTests
1 parent 05eaeb8 commit e9674d1

1 file changed

Lines changed: 20 additions & 59 deletions

File tree

AssetRipper.TextureDecoder.Tests/EtcTests.cs

Lines changed: 20 additions & 59 deletions
Original file line numberDiff line numberDiff line change
@@ -4,87 +4,48 @@ namespace AssetRipper.TextureDecoder.Tests;
44

55
public sealed class EtcTests
66
{
7+
private static DecodingDelegate ETCDelegate { get; } = (data, width, height) => EtcDecoder.DecompressETC(data, width, height, out _);
8+
private static DecodingDelegate ETC2Delegate { get; } = (data, width, height) => EtcDecoder.DecompressETC2(data, width, height, out _);
9+
private static DecodingDelegate ETC2A1Delegate { get; } = (data, width, height) => EtcDecoder.DecompressETC2A1(data, width, height, out _);
10+
private static DecodingDelegate ETC2A8Delegate { get; } = (data, width, height) => EtcDecoder.DecompressETC2A8(data, width, height, out _);
11+
private static DecodingDelegate EACRSignedDelegate { get; } = (data, width, height) => EtcDecoder.DecompressEACRSigned(data, width, height, out _);
12+
private static DecodingDelegate EACRUnsignedDelegate { get; } = (data, width, height) => EtcDecoder.DecompressEACRUnsigned(data, width, height, out _);
13+
private static DecodingDelegate EACRGSignedDelegate { get; } = (data, width, height) => EtcDecoder.DecompressEACRGSigned(data, width, height, out _);
14+
private static DecodingDelegate EACRGUnsignedDelegate { get; } = (data, width, height) => EtcDecoder.DecompressEACRGUnsigned(data, width, height, out _);
15+
716
[Test]
8-
public void DecompressETCTest()
9-
{
10-
AssertCorrectByteCountReadFor256SquareWithMips(TestFileFolders.EtcTestFiles + "test.etc", (data, size) =>
11-
{
12-
return EtcDecoder.DecompressETC(data, size, size, out _);
13-
});
14-
}
17+
public void DecompressETCTest() => AssertCorrectByteCountReadFor256SquareWithMips(TestFileFolders.EtcTestFiles + "test.etc", ETCDelegate);
1518

1619
[Test]
17-
public void DecompressETC2Test()
18-
{
19-
AssertCorrectByteCountReadFor256SquareWithMips(TestFileFolders.EtcTestFiles + "test.etc2", (data, size) =>
20-
{
21-
return EtcDecoder.DecompressETC2(data, size, size, out _);
22-
});
23-
}
20+
public void DecompressETC2Test() => AssertCorrectByteCountReadFor256SquareWithMips(TestFileFolders.EtcTestFiles + "test.etc2", ETC2Delegate);
2421

2522
[Test]
26-
public void DecompressETC2A1Test()
27-
{
28-
AssertCorrectByteCountReadFor256SquareWithMips(TestFileFolders.EtcTestFiles + "test.etc2a1", (data, size) =>
29-
{
30-
return EtcDecoder.DecompressETC2A1(data, size, size, out _);
31-
});
32-
}
23+
public void DecompressETC2A1Test() => AssertCorrectByteCountReadFor256SquareWithMips(TestFileFolders.EtcTestFiles + "test.etc2a1", ETC2A1Delegate);
3324

3425
[Test]
35-
public void DecompressETC2A8Test()
36-
{
37-
AssertCorrectByteCountReadFor256SquareWithMips(TestFileFolders.EtcTestFiles + "test.etc2a8", (data, size) =>
38-
{
39-
return EtcDecoder.DecompressETC2A8(data, size, size, out _);
40-
});
41-
}
26+
public void DecompressETC2A8Test() => AssertCorrectByteCountReadFor256SquareWithMips(TestFileFolders.EtcTestFiles + "test.etc2a8", ETC2A8Delegate);
4227

4328
[Test]
44-
public void DecompressEACRSignedTest()
45-
{
46-
AssertCorrectByteCountReadFor256SquareWithMips(TestFileFolders.EtcTestFiles + "test.eac_r", (data, size) =>
47-
{
48-
return EtcDecoder.DecompressEACRSigned(data, size, size, out _);
49-
});
50-
}
29+
public void DecompressEACRSignedTest() => AssertCorrectByteCountReadFor256SquareWithMips(TestFileFolders.EtcTestFiles + "test.eac_r", EACRSignedDelegate);
5130

5231
[Test]
53-
public void DecompressEACRUnsignedTest()
54-
{
55-
AssertCorrectByteCountReadFor256SquareWithMips(TestFileFolders.EtcTestFiles + "test.eac_r", (data, size) =>
56-
{
57-
return EtcDecoder.DecompressEACRUnsigned(data, size, size, out _);
58-
});
59-
}
32+
public void DecompressEACRUnsignedTest() => AssertCorrectByteCountReadFor256SquareWithMips(TestFileFolders.EtcTestFiles + "test.eac_r", EACRUnsignedDelegate);
6033

6134
[Test]
62-
public void DecompressEACRGSignedTest()
63-
{
64-
AssertCorrectByteCountReadFor256SquareWithMips(TestFileFolders.EtcTestFiles + "test.eac_rg", (data, size) =>
65-
{
66-
return EtcDecoder.DecompressEACRGSigned(data, size, size, out _);
67-
});
68-
}
69-
35+
public void DecompressEACRGSignedTest() => AssertCorrectByteCountReadFor256SquareWithMips(TestFileFolders.EtcTestFiles + "test.eac_rg", EACRGSignedDelegate);
36+
7037
[Test]
71-
public void DecompressEACRGUnsignedTest()
72-
{
73-
AssertCorrectByteCountReadFor256SquareWithMips(TestFileFolders.EtcTestFiles + "test.eac_rg", (data, size) =>
74-
{
75-
return EtcDecoder.DecompressEACRGUnsigned(data, size, size, out _);
76-
});
77-
}
38+
public void DecompressEACRGUnsignedTest() => AssertCorrectByteCountReadFor256SquareWithMips(TestFileFolders.EtcTestFiles + "test.eac_rg", EACRGUnsignedDelegate);
7839

79-
private delegate int DecodingDelegate(ArraySegment<byte> data, int size);
40+
private delegate int DecodingDelegate(ArraySegment<byte> data, int width, int height);
8041

8142
private static void AssertCorrectByteCountReadFor256SquareWithMips(string path, DecodingDelegate decoder)
8243
{
8344
byte[] data = File.ReadAllBytes(path);
8445
int totalBytesRead = 0;
8546
foreach (int size in new int[] { 256, 128, 64, 32, 16, 8, 4, 2, 1 }) //mip maps
8647
{
87-
int bytesRead = decoder.Invoke(new ArraySegment<byte>(data, totalBytesRead, data.Length - totalBytesRead), size);
48+
int bytesRead = decoder.Invoke(new ArraySegment<byte>(data, totalBytesRead, data.Length - totalBytesRead), size, size);
8849
totalBytesRead += bytesRead;
8950
}
9051
Assert.That(totalBytesRead, Is.EqualTo(data.Length));

0 commit comments

Comments
 (0)