Add testable example for UnitConversions

Fix imports, fix output pretty print

Use btcutil.Amount() instead of btcutil.NewAmount()

Trim off unnecessary .String()

Testable example for Amount

Improve example for btcutil.Amount
This commit is contained in:
Mawuli Adzoe 2015-07-21 12:49:31 +00:00
parent 7501aee141
commit ee7c40a181

View file

@ -4,32 +4,48 @@ import (
"fmt" "fmt"
"math" "math"
. "github.com/btcsuite/btcutil" "github.com/btcsuite/btcutil"
) )
func ExampleAmount() {
a := btcutil.Amount(0)
fmt.Println("Zero Satoshi:", a)
a = btcutil.Amount(1e8)
fmt.Println("100,000,000 Satoshis:", a)
a = btcutil.Amount(1e5)
fmt.Println("100,000 Satoshis:", a)
// Output:
// Zero Satoshi: 0 BTC
// 100,000,000 Satoshis: 1 BTC
// 100,000 Satoshis: 0.001 BTC
}
func ExampleNewAmount() { func ExampleNewAmount() {
amountOne, err := NewAmount(1) amountOne, err := btcutil.NewAmount(1)
if err != nil { if err != nil {
fmt.Println(err) fmt.Println(err)
return return
} }
fmt.Println(amountOne) //Output 1 fmt.Println(amountOne) //Output 1
amountFraction, err := NewAmount(0.01234567) amountFraction, err := btcutil.NewAmount(0.01234567)
if err != nil { if err != nil {
fmt.Println(err) fmt.Println(err)
return return
} }
fmt.Println(amountFraction) //Output 2 fmt.Println(amountFraction) //Output 2
amountZero, err := NewAmount(0) amountZero, err := btcutil.NewAmount(0)
if err != nil { if err != nil {
fmt.Println(err) fmt.Println(err)
return return
} }
fmt.Println(amountZero) //Output 3 fmt.Println(amountZero) //Output 3
amountNaN, err := NewAmount(math.NaN()) amountNaN, err := btcutil.NewAmount(math.NaN())
if err != nil { if err != nil {
fmt.Println(err) fmt.Println(err)
return return
@ -41,3 +57,20 @@ func ExampleNewAmount() {
// 0 BTC // 0 BTC
// invalid bitcoin amount // invalid bitcoin amount
} }
func ExampleAmount_unitConversions() {
amount := btcutil.Amount(44433322211100)
fmt.Println("Satoshi to kBTC:", amount.Format(btcutil.AmountKiloBTC))
fmt.Println("Satoshi to BTC:", amount)
fmt.Println("Satoshi to MilliBTC:", amount.Format(btcutil.AmountMilliBTC))
fmt.Println("Satoshi to MicroBTC:", amount.Format(btcutil.AmountMicroBTC))
fmt.Println("Satoshi to Satoshi:", amount.Format(btcutil.AmountSatoshi))
// Output:
// Satoshi to kBTC: 444.333222111 kBTC
// Satoshi to BTC: 444333.222111 BTC
// Satoshi to MilliBTC: 444333222.111 mBTC
// Satoshi to MicroBTC: 444333222111 μBTC
// Satoshi to Satoshi: 44433322211100 Satoshi
}