mirror of
https://github.com/nbd-wtf/go-nostr.git
synced 2025-06-09 14:39:15 +02:00
simple test working.
This commit is contained in:
parent
36bf0b4f14
commit
e5e2279ca3
@ -59,10 +59,6 @@ func (n *Negentropy) Initiate() ([]byte, error) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (n *Negentropy) Reconcile(query []byte) (output []byte, haveIds []string, needIds []string, err 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)
|
reader := bytes.NewReader(query)
|
||||||
haveIds = make([]string, 0, 100)
|
haveIds = make([]string, 0, 100)
|
||||||
needIds = 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) {
|
func (n *Negentropy) encodeBound(bound Bound) ([]byte, error) {
|
||||||
var output []byte
|
var output []byte
|
||||||
|
|
||||||
t := n.encodeTimestampOut(bound.Item.Timestamp)
|
t := n.encodeTimestampOut(bound.Timestamp)
|
||||||
idlen := encodeVarInt(n.idSize)
|
idlen := encodeVarInt(len(bound.ID) / 2)
|
||||||
output = append(output, t...)
|
output = append(output, t...)
|
||||||
output = append(output, idlen...)
|
output = append(output, idlen...)
|
||||||
id := bound.Item.ID
|
id := bound.Item.ID
|
||||||
|
@ -8,7 +8,7 @@ import (
|
|||||||
"github.com/stretchr/testify/require"
|
"github.com/stretchr/testify/require"
|
||||||
)
|
)
|
||||||
|
|
||||||
func TestSimple(t *testing.T) {
|
func TestSmallNumber(t *testing.T) {
|
||||||
var err error
|
var err error
|
||||||
var q []byte
|
var q []byte
|
||||||
var n1 *Negentropy
|
var n1 *Negentropy
|
||||||
@ -34,15 +34,15 @@ func TestSimple(t *testing.T) {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
fmt.Println("n1:", q)
|
fmt.Println("[n1]:", q)
|
||||||
}
|
}
|
||||||
|
|
||||||
{
|
{
|
||||||
n2, _ = NewNegentropy(NewVector(32), 1<<16, 32)
|
n2, _ = NewNegentropy(NewVector(32), 1<<16, 32)
|
||||||
for i := 0; i < 2; i++ {
|
for i := 0; i < 7; i++ {
|
||||||
n2.Insert(events[i])
|
n2.Insert(events[i])
|
||||||
}
|
}
|
||||||
for i := 15; i < 20; i++ {
|
for i := 10; i < 20; i++ {
|
||||||
n2.Insert(events[i])
|
n2.Insert(events[i])
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -51,7 +51,7 @@ func TestSimple(t *testing.T) {
|
|||||||
t.Fatal(err)
|
t.Fatal(err)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
fmt.Println("n2:", q)
|
fmt.Println("[n2]:", q)
|
||||||
}
|
}
|
||||||
|
|
||||||
{
|
{
|
||||||
@ -62,11 +62,25 @@ func TestSimple(t *testing.T) {
|
|||||||
t.Fatal(err)
|
t.Fatal(err)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
fmt.Println("n1:", q)
|
fmt.Println("[n1]:", q)
|
||||||
|
fmt.Println("")
|
||||||
fmt.Println("have", have)
|
fmt.Println("have", have)
|
||||||
fmt.Println("need", need)
|
fmt.Println("need", need)
|
||||||
|
|
||||||
require.Equal(t, have, []string{"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", "dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd"})
|
expectedNeed := make([]string, 0, 2+5)
|
||||||
require.Equal(t, need, []string{"eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee"})
|
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")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user