Files
go-nostr/negentropy/whatever_test.go
2024-09-11 21:23:38 -03:00

64 lines
1.6 KiB
Go

package negentropy
import (
"fmt"
"testing"
"github.com/stretchr/testify/require"
)
func TestSimple(t *testing.T) {
var err error
var q []byte
var n1 *Negentropy
var n2 *Negentropy
{
n1, _ = NewNegentropy(NewVector(), 1<<16)
n1.Insert(10, "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa")
n1.Insert(20, "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb")
n1.Insert(30, "cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc")
n1.Insert(40, "dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd")
n1.Seal()
q, err = n1.Initiate()
if err != nil {
t.Fatal(err)
return
}
fmt.Println("n1:", q)
}
{
n2, _ = NewNegentropy(NewVector(), 1<<16)
n2.Insert(20, "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb")
n2.Insert(30, "cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc")
n2.Insert(50, "eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee")
n2.Seal()
q, err = n2.Reconcile(q)
if err != nil {
t.Fatal(err)
return
}
fmt.Println("n2:", q)
}
{
var have []string
var need []string
q, err = n1.ReconcileWithIDs(q, &have, &need)
if err != nil {
t.Fatal(err)
return
}
fmt.Println("n1:", q)
fmt.Println("have", have)
fmt.Println("need", need)
require.Equal(t, have, []string{"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", "dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd"})
require.Equal(t, need, []string{"eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee"})
}
}