genesis                 1 #include <boost/test/unit_test.hpp>
genesis                 2 
genesis                 3 #include "../uint256.h"
genesis                 4 
genesis                 5 extern void SHA256Transform(void* pstate, void* pinput, const void* pinit);
genesis                 6 
genesis                 7 BOOST_AUTO_TEST_SUITE(miner_tests)
genesis                 8 
genesis                 9 BOOST_AUTO_TEST_CASE(sha256transform_equality)
genesis                10 {
genesis                11     unsigned int pSHA256InitState[8] = {0x6a09e667, 0xbb67ae85, 0x3c6ef372, 0xa54ff53a, 0x510e527f, 0x9b05688c, 0x1f83d9ab, 0x5be0cd19};
genesis                12 
genesis                13 
genesis                14     unsigned char pstate[32];
genesis                15     unsigned char pinput[64];
genesis                16 
genesis                17     int i;
genesis                18 
genesis                19     for (i = 0; i < 32; i++) {
genesis                20         pinput[i] = i;
genesis                21         pinput[i+32] = 0;
genesis                22     }
genesis                23 
genesis                24     uint256 hash;
genesis                25 
genesis                26     SHA256Transform(&hash, pinput, pSHA256InitState);
genesis                27 
genesis                28     BOOST_TEST_MESSAGE(hash.GetHex());
genesis                29 
genesis                30     uint256 hash_reference("0x2df5e1c65ef9f8cde240d23cae2ec036d31a15ec64bc68f64be242b1da6631f3");
genesis                31 
genesis                32     BOOST_CHECK(hash == hash_reference);
genesis                33 }
genesis                34 
genesis                35 BOOST_AUTO_TEST_SUITE_END()