少年修仙传客户端基础资源
hch
2024-04-11 4c71d74b77c9eb62a0323698c9a0db3b641a917e
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
#if ENABLE_UNIT_TESTS
 
#include "UnitTest++.h"
 
#include "../Cryptography-c-api.h"
#include "../../Cryptography.h"
 
static const uint32_t BUFFERSIZE = 16;
 
struct CryptoFixture
{
    CryptoFixture()
    {
        il2cpp::os::Cryptography::OpenCryptographyProvider();
        apiCryptoProvider = UnityPalGetCryptographyProvider();
        classCryptoProvider = il2cpp::os::Cryptography::GetCryptographyProvider();
    }
 
    ~CryptoFixture()
    {
        UnityPalReleaseCryptographyProvider(apiCryptoProvider);
        il2cpp::os::Cryptography::ReleaseCryptographyProvider(classCryptoProvider);
    }
 
    void* apiCryptoProvider;
    void* classCryptoProvider;
    unsigned char data[BUFFERSIZE];
};
 
SUITE(Cryptography)
{
    TEST_FIXTURE(CryptoFixture, GetCryptographyProviderHasValidPointer)
    {
        CHECK_NOT_NULL(apiCryptoProvider);
    }
 
    TEST_FIXTURE(CryptoFixture, ApiHasValidPointers)
    {
        CHECK_NOT_NULL(apiCryptoProvider);
    }
 
    TEST_FIXTURE(CryptoFixture, ClassHasValidPointers)
    {
        CHECK_NOT_NULL(classCryptoProvider);
    }
 
    TEST_FIXTURE(CryptoFixture, FillRandomBytesReturnsSuccess)
    {
        CHECK(UnityPalCryptographyFillBufferWithRandomBytes(apiCryptoProvider, BUFFERSIZE, data));
    }
 
    TEST_FIXTURE(CryptoFixture, ApiFillRandomBytesReturnMatchesClassReturn)
    {
        CHECK_EQUAL((int32_t)il2cpp::os::Cryptography::FillBufferWithRandomBytes(classCryptoProvider, BUFFERSIZE, data), UnityPalCryptographyFillBufferWithRandomBytes(apiCryptoProvider, BUFFERSIZE, data));
    }
 
    TEST(FillRandomBytesWillBadProviderFails)
    {
        void* badCryptoProvider = NULL;
        unsigned char* badBuffer = NULL;
 
        CHECK(!UnityPalCryptographyFillBufferWithRandomBytes(badCryptoProvider, BUFFERSIZE, badBuffer));
    }
}
 
#endif // ENABLE_UNIT_TESTS