go-lns/pkg/covenant/covenant_test.go

44 lines
1.6 KiB
Go

// SPDX-License-Identifier: EUPL-1.2
package covenant
import "testing"
func TestCovenantTypePredicates(t *testing.T) {
cases := []struct {
name string
ct CovenantType
isKnown bool
isName bool
isLink bool
}{
{name: "none", ct: TypeNone, isKnown: true, isName: false, isLink: false},
{name: "claim", ct: TypeClaim, isKnown: true, isName: true, isLink: false},
{name: "open", ct: TypeOpen, isKnown: true, isName: true, isLink: false},
{name: "bid", ct: TypeBid, isKnown: true, isName: true, isLink: false},
{name: "reveal", ct: TypeReveal, isKnown: true, isName: true, isLink: true},
{name: "redeem", ct: TypeRedeem, isKnown: true, isName: true, isLink: true},
{name: "register", ct: TypeRegister, isKnown: true, isName: true, isLink: true},
{name: "update", ct: TypeUpdate, isKnown: true, isName: true, isLink: true},
{name: "renew", ct: TypeRenew, isKnown: true, isName: true, isLink: true},
{name: "transfer", ct: TypeTransfer, isKnown: true, isName: true, isLink: true},
{name: "finalize", ct: TypeFinalize, isKnown: true, isName: true, isLink: true},
{name: "revoke", ct: TypeRevoke, isKnown: true, isName: true, isLink: true},
{name: "unknown", ct: CovenantType(99), isKnown: false, isName: false, isLink: false},
}
for _, tc := range cases {
if got := tc.ct.IsKnown(); got != tc.isKnown {
t.Fatalf("%s: IsKnown() = %v, want %v", tc.name, got, tc.isKnown)
}
if got := tc.ct.IsName(); got != tc.isName {
t.Fatalf("%s: IsName() = %v, want %v", tc.name, got, tc.isName)
}
if got := tc.ct.IsLinked(); got != tc.isLink {
t.Fatalf("%s: IsLinked() = %v, want %v", tc.name, got, tc.isLink)
}
}
}