mirror of
https://github.com/nbd-wtf/go-nostr.git
synced 2025-04-09 20:29:09 +02:00
more small tests and one big test that is failing.
This commit is contained in:
parent
874ab3411d
commit
9c97d0fc28
@ -8,16 +8,39 @@ import (
|
||||
"github.com/stretchr/testify/require"
|
||||
)
|
||||
|
||||
func TestWhatever(t *testing.T) {
|
||||
func TestSuperSmall(t *testing.T) {
|
||||
runTestWith(t,
|
||||
4,
|
||||
[][]int{{0, 3}}, [][]int{{2, 4}},
|
||||
[][]int{{3, 4}}, [][]int{{0, 2}},
|
||||
)
|
||||
}
|
||||
|
||||
func TestNoNeedToSync(t *testing.T) {
|
||||
runTestWith(t,
|
||||
50,
|
||||
[][]int{{0, 50}}, [][]int{{0, 50}},
|
||||
[][]int{}, [][]int{},
|
||||
)
|
||||
}
|
||||
|
||||
func TestSmallNumbers(t *testing.T) {
|
||||
runTestWith(t,
|
||||
"small numbers",
|
||||
20,
|
||||
[][]int{{2, 15}}, [][]int{{0, 7}, {10, 20}},
|
||||
[][]int{{0, 2}, {15, 20}}, [][]int{{7, 10}})
|
||||
[][]int{{0, 2}, {15, 20}}, [][]int{{7, 10}},
|
||||
)
|
||||
}
|
||||
|
||||
func TestBigNumbers(t *testing.T) {
|
||||
runTestWith(t,
|
||||
200,
|
||||
[][]int{{20, 150}}, [][]int{{0, 70}, {100, 200}},
|
||||
[][]int{{0, 20}, {150, 200}}, [][]int{{70, 100}},
|
||||
)
|
||||
}
|
||||
|
||||
func runTestWith(t *testing.T,
|
||||
name string,
|
||||
totalEvents int,
|
||||
n1Ranges [][]int, n2Ranges [][]int,
|
||||
expectedN1NeedRanges [][]int, expectedN1HaveRanges [][]int,
|
||||
@ -52,7 +75,7 @@ func runTestWith(t *testing.T,
|
||||
return
|
||||
}
|
||||
|
||||
fmt.Println("[n1]:", q)
|
||||
fmt.Println("[n1]:", len(q), q)
|
||||
}
|
||||
|
||||
{
|
||||
@ -68,40 +91,49 @@ func runTestWith(t *testing.T,
|
||||
t.Fatal(err)
|
||||
return
|
||||
}
|
||||
fmt.Println("[n2]:", q)
|
||||
fmt.Println("[n2]:", len(q), q)
|
||||
}
|
||||
|
||||
{
|
||||
invert := map[*Negentropy]*Negentropy{
|
||||
n1: n2,
|
||||
n2: n1,
|
||||
}
|
||||
|
||||
for n := n1; q != nil; n = invert[n] {
|
||||
var have []string
|
||||
var need []string
|
||||
q, have, need, err = n1.Reconcile(q)
|
||||
|
||||
q, have, need, err = n.Reconcile(q)
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
return
|
||||
}
|
||||
fmt.Println("[n1]:", q)
|
||||
fmt.Println("")
|
||||
fmt.Println("<need>", need)
|
||||
fmt.Println("<have>", have)
|
||||
fmt.Println("[n-]:", len(q), q)
|
||||
|
||||
expectedNeed := make([]string, 0, 100)
|
||||
for _, r := range expectedN1NeedRanges {
|
||||
for i := r[0]; i < r[1]; i++ {
|
||||
expectedNeed = append(expectedNeed, events[i].ID)
|
||||
if q == nil {
|
||||
fmt.Println("")
|
||||
// fmt.Println("<need>", need)
|
||||
// fmt.Println("<have>", have)
|
||||
|
||||
expectedNeed := make([]string, 0, 100)
|
||||
for _, r := range expectedN1NeedRanges {
|
||||
for i := r[0]; i < r[1]; i++ {
|
||||
expectedNeed = append(expectedNeed, events[i].ID)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
expectedHave := make([]string, 0, 100)
|
||||
for _, r := range expectedN1HaveRanges {
|
||||
for i := r[0]; i < r[1]; i++ {
|
||||
expectedHave = append(expectedHave, events[i].ID)
|
||||
expectedHave := make([]string, 0, 100)
|
||||
for _, r := range expectedN1HaveRanges {
|
||||
for i := r[0]; i < r[1]; i++ {
|
||||
expectedHave = append(expectedHave, events[i].ID)
|
||||
}
|
||||
}
|
||||
|
||||
// fmt.Println("<e-need>", expectedNeed)
|
||||
// fmt.Println("<e-have>", expectedHave)
|
||||
|
||||
require.ElementsMatch(t, expectedNeed, need, "wrong need")
|
||||
require.ElementsMatch(t, expectedHave, have, "wrong have")
|
||||
}
|
||||
|
||||
fmt.Println("<e-need>", expectedNeed)
|
||||
fmt.Println("<e-have>", expectedHave)
|
||||
|
||||
require.ElementsMatch(t, expectedNeed, need, "wrong need")
|
||||
require.ElementsMatch(t, expectedHave, have, "wrong have")
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user