25 lines
586 B
Go
25 lines
586 B
Go
package operation
|
|
|
|
import (
|
|
"encoding/json"
|
|
"local/sandbox/cards/src/entity"
|
|
"testing"
|
|
)
|
|
|
|
func TestSuit(t *testing.T) {
|
|
var s Suit
|
|
if err := json.Unmarshal([]byte(`"heart"`), &s); err != nil {
|
|
t.Fatal(err)
|
|
} else if s != Heart {
|
|
t.Fatal(Heart, s)
|
|
} else if b, err := json.Marshal(s); err != nil {
|
|
t.Fatal(err)
|
|
} else if string(b) != `"heart"` {
|
|
t.Fatal(`"heart"`, string(b))
|
|
} else if card := (entity.Card{Suit: int(Heart)}); !s.Is(card) {
|
|
t.Fatal(true, s.Is(card))
|
|
} else if card := (entity.Card{Suit: int(Diamond)}); s.Is(card) {
|
|
t.Fatal(false, s.Is(card))
|
|
}
|
|
}
|