mirror of
https://github.com/waku-org/go-multiaddr.git
synced 2025-02-23 19:48:18 +00:00
Added Equal func
This commit is contained in:
parent
0624ab3bf7
commit
74443fca31
6
index.go
6
index.go
@ -1,6 +1,7 @@
|
|||||||
package multiaddr
|
package multiaddr
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"bytes"
|
||||||
"fmt"
|
"fmt"
|
||||||
"strings"
|
"strings"
|
||||||
)
|
)
|
||||||
@ -19,6 +20,11 @@ func NewMultiaddr(s string) (*Multiaddr, error) {
|
|||||||
return &Multiaddr{Bytes: b}, nil
|
return &Multiaddr{Bytes: b}, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Equal tests whether two multiaddrs are equal
|
||||||
|
func (m *Multiaddr) Equal(m2 *Multiaddr) bool {
|
||||||
|
return bytes.Equal(m.Bytes, m2.Bytes)
|
||||||
|
}
|
||||||
|
|
||||||
// String returns the string representation of a Multiaddr
|
// String returns the string representation of a Multiaddr
|
||||||
func (m *Multiaddr) String() (string, error) {
|
func (m *Multiaddr) String() (string, error) {
|
||||||
return bytesToString(m.Bytes)
|
return bytesToString(m.Bytes)
|
||||||
|
@ -6,6 +6,40 @@ import (
|
|||||||
"testing"
|
"testing"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
func newMultiaddr(t *testing.T, a string) *Multiaddr {
|
||||||
|
m, err := NewMultiaddr(a)
|
||||||
|
if err != nil {
|
||||||
|
t.Error(err)
|
||||||
|
}
|
||||||
|
return m
|
||||||
|
}
|
||||||
|
|
||||||
|
func TestEqual(t *testing.T) {
|
||||||
|
m1 := newMultiaddr(t, "/ip4/127.0.0.1/udp/1234")
|
||||||
|
m2 := newMultiaddr(t, "/ip4/127.0.0.1/tcp/1234")
|
||||||
|
m3 := newMultiaddr(t, "/ip4/127.0.0.1/tcp/1234")
|
||||||
|
|
||||||
|
if m1.Equal(m2) {
|
||||||
|
t.Error("should not be equal")
|
||||||
|
}
|
||||||
|
|
||||||
|
if m2.Equal(m1) {
|
||||||
|
t.Error("should not be equal")
|
||||||
|
}
|
||||||
|
|
||||||
|
if !m2.Equal(m3) {
|
||||||
|
t.Error("should be equal")
|
||||||
|
}
|
||||||
|
|
||||||
|
if !m3.Equal(m2) {
|
||||||
|
t.Error("should be equal")
|
||||||
|
}
|
||||||
|
|
||||||
|
if !m1.Equal(m1) {
|
||||||
|
t.Error("should be equal")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
func TestStringToBytes(t *testing.T) {
|
func TestStringToBytes(t *testing.T) {
|
||||||
|
|
||||||
testString := func(s string, h string) {
|
testString := func(s string, h string) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user