예제 #1
0
        public void EncodeDecodeTest(string toDecode, string coin, string addr, decimal amnt, string lbl, string msg)
        {
            BIP0021 actual = BIP0021.Decode(toDecode);

            Assert.Equal(coin, actual.Scheme);
            Assert.Equal(addr, actual.Address);
            Assert.Equal(amnt, actual.Amount);
            Assert.Equal(lbl, actual.Label);
            Assert.Equal(msg, actual.Message);

            string actualStr = actual.Encode();

            Assert.Equal(toDecode, actualStr);
        }
예제 #2
0
        public void EncodeDecode_SpecialCasesTest()
        {
            BIP0021 actual = BIP0021.Decode("BitCoin:175tWpb8K1S7NmH4Zx6rewF9WQrcZv245W?" +
                                            "somethingyoudontunderstand=50&message=&somethingelseyoudontget=999&Foo=baR");

            Assert.Equal("bitcoin", actual.Scheme);
            Assert.Equal("175tWpb8K1S7NmH4Zx6rewF9WQrcZv245W", actual.Address);
            Assert.Equal(0m, actual.Amount);
            Assert.Null(actual.Label);
            // Message is null even though it exists in the string
            Assert.Null(actual.Message);
            Assert.Equal(3, actual.AdditionalOptions.Count);
            Assert.Equal("50", actual.AdditionalOptions["somethingyoudontunderstand"]);
            Assert.Equal("999", actual.AdditionalOptions["somethingelseyoudontget"]);
            Assert.Equal("baR", actual.AdditionalOptions["Foo"]);
        }
예제 #3
0
        public void Decode_FormatExceptionTest(string toDecode, string expErr)
        {
            Exception ex = Assert.Throws <FormatException>(() => BIP0021.Decode(toDecode));

            Assert.Contains(expErr, ex.Message);
        }