mirror of
https://github.com/datarhei/core.git
synced 2025-10-06 00:17:07 +08:00
Refactor cluster node code
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
package slices
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"testing"
|
||||
|
||||
"github.com/stretchr/testify/require"
|
||||
@@ -10,42 +11,46 @@ func TestEqualComparableElements(t *testing.T) {
|
||||
a := []string{"a", "b", "c", "d"}
|
||||
b := []string{"b", "c", "a", "d"}
|
||||
|
||||
ok := EqualComparableElements(a, b)
|
||||
require.True(t, ok)
|
||||
err := EqualComparableElements(a, b)
|
||||
require.NoError(t, err)
|
||||
|
||||
ok = EqualComparableElements(b, a)
|
||||
require.True(t, ok)
|
||||
err = EqualComparableElements(b, a)
|
||||
require.NoError(t, err)
|
||||
|
||||
a = append(a, "z")
|
||||
|
||||
ok = EqualComparableElements(a, b)
|
||||
require.False(t, ok)
|
||||
err = EqualComparableElements(a, b)
|
||||
require.Error(t, err)
|
||||
|
||||
ok = EqualComparableElements(b, a)
|
||||
require.False(t, ok)
|
||||
err = EqualComparableElements(b, a)
|
||||
require.Error(t, err)
|
||||
}
|
||||
|
||||
type String string
|
||||
|
||||
func (a String) Equal(b String) bool {
|
||||
return string(a) == string(b)
|
||||
func (a String) Equal(b String) error {
|
||||
if string(a) == string(b) {
|
||||
return nil
|
||||
}
|
||||
|
||||
return fmt.Errorf("%s != %s", a, b)
|
||||
}
|
||||
|
||||
func TestEqualEqualerElements(t *testing.T) {
|
||||
a := []String{"a", "b", "c", "d"}
|
||||
b := []String{"b", "c", "a", "d"}
|
||||
|
||||
ok := EqualEqualerElements(a, b)
|
||||
require.True(t, ok)
|
||||
err := EqualEqualerElements(a, b)
|
||||
require.NoError(t, err)
|
||||
|
||||
ok = EqualEqualerElements(b, a)
|
||||
require.True(t, ok)
|
||||
err = EqualEqualerElements(b, a)
|
||||
require.NoError(t, err)
|
||||
|
||||
a = append(a, "z")
|
||||
|
||||
ok = EqualEqualerElements(a, b)
|
||||
require.False(t, ok)
|
||||
err = EqualEqualerElements(a, b)
|
||||
require.Error(t, err)
|
||||
|
||||
ok = EqualEqualerElements(b, a)
|
||||
require.False(t, ok)
|
||||
err = EqualEqualerElements(b, a)
|
||||
require.Error(t, err)
|
||||
}
|
||||
|
Reference in New Issue
Block a user