bitcoin-test 0.1.16-alpha.0

test framework for the bitcoin system
Documentation
crate::ix!();



//-------------------------------------------[.cpp/bitcoin/src/test/bech32_tests.cpp]

#[cfg(test)]
pub mod bech32_tests {

    #[test] fn bech32_testvectors_valid() {
        todo!();
        /*
        
            static const std::string CASES[] = {
                "A12UEL5L",
                "a12uel5l",
                "an83characterlonghumanreadablepartthatcontainsthenumber1andtheexcludedcharactersbio1tt5tgs",
                "abcdef1qpzry9x8gf2tvdw0s3jn54khce6mua7lmqqqxw",
                "11qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqc8247j",
                "split1checkupstagehandshakeupstreamerranterredcaperred2y9e3w",
                "?1ezyfcl",
            };
            for (const std::string& str : CASES) {
                const auto dec = bech32::Decode(str);
                BOOST_CHECK(dec.encoding == bech32::Encoding::BECH32);
                std::string recode = bech32::Encode(bech32::Encoding::BECH32, dec.hrp, dec.data);
                BOOST_CHECK(!recode.empty());
                BOOST_CHECK(CaseInsensitiveEqual(str, recode));
            }

        */
    }

    #[test] fn bech_32m_testvectors_valid() {
        todo!();
        /*
        
            static const std::string CASES[] = {
                "A1LQFN3A",
                "a1lqfn3a",
                "an83characterlonghumanreadablepartthatcontainsthetheexcludedcharactersbioandnumber11sg7hg6",
                "abcdef1l7aum6echk45nj3s0wdvt2fg8x9yrzpqzd3ryx",
                "11llllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllludsr8",
                "split1checkupstagehandshakeupstreamerranterredcaperredlc445v",
                "?1v759aa"
            };
            for (const std::string& str : CASES) {
                const auto dec = bech32::Decode(str);
                BOOST_CHECK(dec.encoding == bech32::Encoding::BECH32M);
                std::string recode = bech32::Encode(bech32::Encoding::BECH32M, dec.hrp, dec.data);
                BOOST_CHECK(!recode.empty());
                BOOST_CHECK(CaseInsensitiveEqual(str, recode));
            }

        */
    }

    #[test] fn bech32_testvectors_invalid() {
        todo!();
        /*
        
            static const std::string CASES[] = {
                " 1nwldj5",
                "\x7f""1axkwrx",
                "\x80""1eym55h",
                "an84characterslonghumanreadablepartthatcontainsthenumber1andtheexcludedcharactersbio1569pvx",
                "pzry9x0s0muk",
                "1pzry9x0s0muk",
                "x1b4n0q5v",
                "li1dgmt3",
                "de1lg7wt\xff",
                "A1G7SGD8",
                "10a06t8",
                "1qzzfhee",
                "a12UEL5L",
                "A12uEL5L",
            };
            for (const std::string& str : CASES) {
                const auto dec = bech32::Decode(str);
                BOOST_CHECK(dec.encoding == bech32::Encoding::INVALID);
            }

        */
    }

    #[test] fn bech_32m_testvectors_invalid() {
        todo!();
        /*
        
            static const std::string CASES[] = {
                " 1xj0phk",
                "\x7f""1g6xzxy",
                "\x80""1vctc34",
                "an84characterslonghumanreadablepartthatcontainsthetheexcludedcharactersbioandnumber11d6pts4",
                "qyrz8wqd2c9m",
                "1qyrz8wqd2c9m",
                "y1b0jsk6g",
                "lt1igcx5c0",
                "in1muywd",
                "mm1crxm3i",
                "au1s5cgom",
                "M1VUXWEZ",
                "16plkw9",
                "1p2gdwpf"
            };
            for (const std::string& str : CASES) {
                const auto dec = bech32::Decode(str);
                BOOST_CHECK(dec.encoding == bech32::Encoding::INVALID);
            }

        */
    }
}