package main
import (
"fmt"
"strings"
"testing"
)
func TestBasicGraph(t *testing.T) {
test := []string{
"COM)B",
"B)C",
"C)D",
"D)E",
"E)F",
"B)G",
"G)H",
"D)I",
"E)J",
"J)K",
"K)L",
}
var g Graph
for _, a := range test {
o := strings.Split(a, ")")
g.Add(o[0], o[1])
}
fmt.Println(g)
got := CountOrbits(g, "COM", 0)
if got != 42 {
t.Errorf("Got %d, expected %d", got, 42)
}
}
func TestTransfer(t *testing.T) {
test := []string{
"COM)B",
"B)C",
"C)D",
"D)E",
"E)F",
"B)G",
"G)H",
"D)I",
"E)J",
"J)K",
"K)L",
"K)YOU",
"I)SAN",
}
var g Graph
for _, a := range test {
o := strings.Split(a, ")")
g.Add(o[0], o[1])
}
fmt.Println(g)
got := CalcTransfers(g, "YOU", "SAN")
if got != 4 {
t.Errorf("Got %d, expected %d", got, 4)
}
}