@@ -4,87 +4,48 @@ namespace AssetRipper.TextureDecoder.Tests;
44
55public 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