simple test working.

This commit is contained in:
fiatjaf 2024-07-21 19:04:51 -03:00
parent 36bf0b4f14
commit e5e2279ca3
2 changed files with 24 additions and 14 deletions

View File

@ -59,10 +59,6 @@ func (n *Negentropy) Initiate() ([]byte, error) {
}
func (n *Negentropy) Reconcile(query []byte) (output []byte, haveIds []string, needIds []string, err error) {
if n.IsInitiator {
return nil, nil, nil, fmt.Errorf("initiator not asking for have/need IDs")
}
reader := bytes.NewReader(query)
haveIds = make([]string, 0, 100)
needIds = make([]string, 0, 100)
@ -391,8 +387,8 @@ func (n *Negentropy) encodeTimestampOut(timestamp nostr.Timestamp) []byte {
func (n *Negentropy) encodeBound(bound Bound) ([]byte, error) {
var output []byte
t := n.encodeTimestampOut(bound.Item.Timestamp)
idlen := encodeVarInt(n.idSize)
t := n.encodeTimestampOut(bound.Timestamp)
idlen := encodeVarInt(len(bound.ID) / 2)
output = append(output, t...)
output = append(output, idlen...)
id := bound.Item.ID

View File

@ -8,7 +8,7 @@ import (
"github.com/stretchr/testify/require"
)
func TestSimple(t *testing.T) {
func TestSmallNumber(t *testing.T) {
var err error
var q []byte
var n1 *Negentropy
@ -34,15 +34,15 @@ func TestSimple(t *testing.T) {
return
}
fmt.Println("n1:", q)
fmt.Println("[n1]:", q)
}
{
n2, _ = NewNegentropy(NewVector(32), 1<<16, 32)
for i := 0; i < 2; i++ {
for i := 0; i < 7; i++ {
n2.Insert(events[i])
}
for i := 15; i < 20; i++ {
for i := 10; i < 20; i++ {
n2.Insert(events[i])
}
@ -51,7 +51,7 @@ func TestSimple(t *testing.T) {
t.Fatal(err)
return
}
fmt.Println("n2:", q)
fmt.Println("[n2]:", q)
}
{
@ -62,11 +62,25 @@ func TestSimple(t *testing.T) {
t.Fatal(err)
return
}
fmt.Println("n1:", q)
fmt.Println("[n1]:", q)
fmt.Println("")
fmt.Println("have", have)
fmt.Println("need", need)
require.Equal(t, have, []string{"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", "dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd"})
require.Equal(t, need, []string{"eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee"})
expectedNeed := make([]string, 0, 2+5)
for i := 0; i < 2; i++ {
expectedNeed = append(expectedNeed, events[i].ID)
}
for i := 15; i < 20; i++ {
expectedNeed = append(expectedNeed, events[i].ID)
}
expectedHave := make([]string, 0, 3)
for i := 7; i < 10; i++ {
expectedHave = append(expectedHave, events[i].ID)
}
require.ElementsMatch(t, expectedNeed, need, "wrong need")
require.ElementsMatch(t, expectedHave, have, "wrong have")
}
}