diff --git a/src/test/key_tests.cpp b/src/test/key_tests.cpp index 13ca94946..d6f976968 100644 --- a/src/test/key_tests.cpp +++ b/src/test/key_tests.cpp @@ -11,12 +11,15 @@ #include "utilstrencodings.h" #include "test/test_bitcoin.h" +#include "zcash/Address.hpp" + #include #include #include using namespace std; +using namespace libzcash; static const string strSecret1 ("5HxWvvfubhXpYYpS3tJkw6fq9jE9j18THftkZjHHfmFiWtmAbrj"); static const string strSecret2 ("5KC4ejrDjv152FGwP386VD1i2NYc5KkfSMyv1nGy1VGDxGHqVY3"); @@ -188,4 +191,24 @@ BOOST_AUTO_TEST_CASE(key_test1) BOOST_CHECK(detsigc == ParseHex("2052d8a32079c11e79db95af63bb9600c5b04f21a9ca33dc129c2bfa8ac9dc1cd561d8ae5e0f6c1a16bde3719c64c2fd70e404b6428ab9a69566962e8771b5944d")); } +BOOST_AUTO_TEST_CASE(zc_address_test) +{ + for (size_t i = 0; i < 1000; i++) { + auto sk = SpendingKey::random(); + auto addr = sk.address(); + + CZCPaymentAddress paymentaddr(addr); + string addr_string = paymentaddr.ToString(); + + BOOST_CHECK(addr_string[0] == 'z'); + BOOST_CHECK(addr_string[1] == 'c'); + + CZCPaymentAddress paymentaddr2(addr_string); + + PaymentAddress addr2 = paymentaddr2.Get(); + BOOST_CHECK(addr.a_pk == addr2.a_pk); + BOOST_CHECK(addr.pk_enc == addr2.pk_enc); + } +} + BOOST_AUTO_TEST_SUITE_END()