routing/test: parametrize test amount

This commit is contained in:
Joost Jager 2020-09-08 15:18:10 +02:00
parent 17a6175e8b
commit 60a22ff09d
No known key found for this signature in database
GPG Key ID: A61B9D4C393C59C7

@ -2461,6 +2461,7 @@ func TestProbabilityRouting(t *testing.T) {
p10, p11, p20 float64 p10, p11, p20 float64
minProbability float64 minProbability float64
expectedChan uint64 expectedChan uint64
amount btcutil.Amount
}{ }{
// Test two variations with probabilities that should multiply // Test two variations with probabilities that should multiply
// to the same total route probability. In both cases the three // to the same total route probability. In both cases the three
@ -2474,12 +2475,14 @@ func TestProbabilityRouting(t *testing.T) {
p10: 0.8, p11: 0.5, p20: 0.7, p10: 0.8, p11: 0.5, p20: 0.7,
minProbability: 0.1, minProbability: 0.1,
expectedChan: 10, expectedChan: 10,
amount: 100,
}, },
{ {
name: "three hop 2", name: "three hop 2",
p10: 0.5, p11: 0.8, p20: 0.7, p10: 0.5, p11: 0.8, p20: 0.7,
minProbability: 0.1, minProbability: 0.1,
expectedChan: 10, expectedChan: 10,
amount: 100,
}, },
// If the probability of the two hop route is increased, its // If the probability of the two hop route is increased, its
@ -2492,6 +2495,7 @@ func TestProbabilityRouting(t *testing.T) {
p10: 0.5, p11: 0.8, p20: 0.85, p10: 0.5, p11: 0.8, p20: 0.85,
minProbability: 0.1, minProbability: 0.1,
expectedChan: 20, expectedChan: 20,
amount: 100,
}, },
// If the same probabilities are used with a probability lower bound of // If the same probabilities are used with a probability lower bound of
@ -2502,6 +2506,7 @@ func TestProbabilityRouting(t *testing.T) {
p10: 0.8, p11: 0.5, p20: 0.7, p10: 0.8, p11: 0.5, p20: 0.7,
minProbability: 0.5, minProbability: 0.5,
expectedChan: 20, expectedChan: 20,
amount: 100,
}, },
// With a probability limit above the probability of both routes, we // With a probability limit above the probability of both routes, we
@ -2512,21 +2517,24 @@ func TestProbabilityRouting(t *testing.T) {
p10: 0.8, p11: 0.5, p20: 0.7, p10: 0.8, p11: 0.5, p20: 0.7,
minProbability: 0.8, minProbability: 0.8,
expectedChan: 0, expectedChan: 0,
amount: 100,
}, },
} }
for _, tc := range testCases { for _, tc := range testCases {
tc := tc
t.Run(tc.name, func(t *testing.T) { t.Run(tc.name, func(t *testing.T) {
testProbabilityRouting( testProbabilityRouting(
t, tc.p10, tc.p11, tc.p20, t, tc.amount, tc.p10, tc.p11, tc.p20,
tc.minProbability, tc.expectedChan, tc.minProbability, tc.expectedChan,
) )
}) })
} }
} }
func testProbabilityRouting(t *testing.T, p10, p11, p20, minProbability float64, func testProbabilityRouting(t *testing.T, paymentAmt btcutil.Amount,
expectedChan uint64) { p10, p11, p20, minProbability float64, expectedChan uint64) {
t.Parallel() t.Parallel()
@ -2558,7 +2566,6 @@ func testProbabilityRouting(t *testing.T, p10, p11, p20, minProbability float64,
alias := ctx.testGraphInstance.aliasMap alias := ctx.testGraphInstance.aliasMap
paymentAmt := lnwire.NewMSatFromSatoshis(100)
target := ctx.testGraphInstance.aliasMap["target"] target := ctx.testGraphInstance.aliasMap["target"]
// Configure a probability source with the test parameters. // Configure a probability source with the test parameters.
@ -2586,7 +2593,9 @@ func testProbabilityRouting(t *testing.T, p10, p11, p20, minProbability float64,
MinProbability: minProbability, MinProbability: minProbability,
} }
path, err := ctx.findPath(target, paymentAmt) path, err := ctx.findPath(
target, lnwire.NewMSatFromSatoshis(paymentAmt),
)
if expectedChan == 0 { if expectedChan == 0 {
if err != errNoPathFound { if err != errNoPathFound {
t.Fatalf("expected no path found, but got %v", err) t.Fatalf("expected no path found, but got %v", err)