update euler 54

This commit is contained in:
VicRen
2020-12-13 23:21:00 +08:00
parent 6bc2d8ea48
commit e5902a9fea
3 changed files with 0 additions and 0 deletions
+76
View File
@@ -0,0 +1,76 @@
package main
import (
"bufio"
"fmt"
"io"
"os"
"strconv"
"strings"
)
func main() {
fi, err := os.Open("./p054_poker.txt")
if err != nil {
panic(err)
}
defer fi.Close()
br := bufio.NewReader(fi)
var input []hand
count := 0
for {
a, _, e := br.ReadLine()
if e == io.EOF {
break
}
line := string(a)
cs := strings.Split(line, " ")
if len(cs) != 10 {
panic("invalid line")
}
h := hand{
player1: cards{
card(cs[0]),
card(cs[1]),
card(cs[2]),
card(cs[3]),
card(cs[4]),
},
player2: cards{
card(cs[5]),
card(cs[6]),
card(cs[7]),
card(cs[8]),
card(cs[9]),
},
}
input = append(input, h)
if h.isPlayer1Win() {
count++
}
}
fmt.Println(count)
}
type hand struct {
player1 cards
player2 cards
}
func (hand) isPlayer1Win() bool {
return false
}
type card string
func (c card) number() int {
i, _ := strconv.Atoi(string(c[0]))
return i
}
func (c card) suit() string {
return string(c[1])
}
type cards [5]card
+35
View File
@@ -0,0 +1,35 @@
package main
import "testing"
func Test_hand_isPlayer1Win(t *testing.T) {
type fields struct {
player1 [5]string
player2 [5]string
}
tests := []struct {
name string
fields fields
want bool
}{
{
"test1",
fields{
player1: [5]string{"5H", "5C", "6S", "7S", "KD"},
player2: [5]string{"2C", "3S", "8S", "8D", "TD"},
},
false,
},
}
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
ha := hand{
player1: tt.fields.player1,
player2: tt.fields.player2,
}
if got := ha.isPlayer1Win(); got != tt.want {
t.Errorf("isPlayer1Win() = %v, want %v", got, tt.want)
}
})
}
}
File diff suppressed because it is too large Load Diff