You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
77 lines
1.3 KiB
77 lines
1.3 KiB
package lnwire |
|
|
|
import ( |
|
"testing" |
|
|
|
"github.com/btcsuite/btcutil" |
|
) |
|
|
|
func TestMilliSatoshiConversion(t *testing.T) { |
|
t.Parallel() |
|
|
|
testCases := []struct { |
|
mSatAmount MilliSatoshi |
|
|
|
satAmount btcutil.Amount |
|
btcAmount float64 |
|
}{ |
|
{ |
|
mSatAmount: 0, |
|
satAmount: 0, |
|
btcAmount: 0, |
|
}, |
|
{ |
|
mSatAmount: 10, |
|
satAmount: 0, |
|
btcAmount: 0, |
|
}, |
|
{ |
|
mSatAmount: 999, |
|
satAmount: 0, |
|
btcAmount: 0, |
|
}, |
|
{ |
|
mSatAmount: 1000, |
|
satAmount: 1, |
|
btcAmount: 1e-8, |
|
}, |
|
{ |
|
mSatAmount: 10000, |
|
satAmount: 10, |
|
btcAmount: 0.00000010, |
|
}, |
|
{ |
|
mSatAmount: 100000000000, |
|
satAmount: 100000000, |
|
btcAmount: 1, |
|
}, |
|
{ |
|
mSatAmount: 2500000000000, |
|
satAmount: 2500000000, |
|
btcAmount: 25, |
|
}, |
|
{ |
|
mSatAmount: 5000000000000, |
|
satAmount: 5000000000, |
|
btcAmount: 50, |
|
}, |
|
{ |
|
mSatAmount: 21 * 1e6 * 1e8 * 1e3, |
|
satAmount: 21 * 1e6 * 1e8, |
|
btcAmount: 21 * 1e6, |
|
}, |
|
} |
|
|
|
for i, test := range testCases { |
|
if test.mSatAmount.ToSatoshis() != test.satAmount { |
|
t.Fatalf("test #%v: wrong sat amount, expected %v "+ |
|
"got %v", i, int64(test.satAmount), |
|
int64(test.mSatAmount.ToSatoshis())) |
|
} |
|
if test.mSatAmount.ToBTC() != test.btcAmount { |
|
t.Fatalf("test #%v: wrong btc amount, expected %v "+ |
|
"got %v", i, test.btcAmount, |
|
test.mSatAmount.ToBTC()) |
|
} |
|
} |
|
}
|
|
|