package mdb_test import ( _ "embed" "testing" "github.com/google/go-cmp/cmp" "git.sunturtle.xyz/zephyr/horse" "git.sunturtle.xyz/zephyr/horse/mdb" ) //go:embed testdata/spark.sql var sparkSQL string func TestSparks(t *testing.T) { db := testdb(t.Context(), "file:TestSparks?mode=memory&cache=shared", sparkSQL) got, err := mdb.Sparks(t.Context(), db) if err != nil { t.Error(err) } want := []horse.Spark{ { ID: 101, Name: "Speed", Description: "A Spark that increases Speed.", Group: 1, Rarity: 1, Type: 1, Effects: [][]horse.SparkEffect{ {{Target: 1, Value1: 1}}, {{Target: 1, Value1: 4}}, {{Target: 1, Value1: 7}}, {{Target: 1, Value1: 10}}, {{Target: 1, Value1: 13}}, {{Target: 1, Value1: 16}}, {{Target: 1, Value1: 19}}, {{Target: 1, Value1: 22}}, {{Target: 1, Value1: 25}}, {{Target: 1, Value1: 28}}, }, }, { ID: 102, Name: "Speed", Description: "A Spark that increases Speed.", Group: 1, Rarity: 2, Type: 1, Effects: [][]horse.SparkEffect{ {{Target: 1, Value1: 1}}, {{Target: 1, Value1: 4}}, {{Target: 1, Value1: 7}}, {{Target: 1, Value1: 10}}, {{Target: 1, Value1: 13}}, {{Target: 1, Value1: 16}}, {{Target: 1, Value1: 19}}, {{Target: 1, Value1: 22}}, {{Target: 1, Value1: 25}}, {{Target: 1, Value1: 28}}, }, }, { ID: 103, Name: "Speed", Description: "A Spark that increases Speed.", Group: 1, Rarity: 3, Type: 1, Effects: [][]horse.SparkEffect{ {{Target: 1, Value1: 1}}, {{Target: 1, Value1: 4}}, {{Target: 1, Value1: 7}}, {{Target: 1, Value1: 10}}, {{Target: 1, Value1: 13}}, {{Target: 1, Value1: 16}}, {{Target: 1, Value1: 19}}, {{Target: 1, Value1: 22}}, {{Target: 1, Value1: 25}}, {{Target: 1, Value1: 28}}, }, }, { ID: 201, Name: "Stamina", Description: "A Spark that increases Stamina.", Group: 2, Rarity: 1, Type: 1, Effects: [][]horse.SparkEffect{ {{Target: 2, Value1: 1}}, {{Target: 2, Value1: 4}}, {{Target: 2, Value1: 7}}, {{Target: 2, Value1: 10}}, {{Target: 2, Value1: 13}}, {{Target: 2, Value1: 16}}, {{Target: 2, Value1: 19}}, {{Target: 2, Value1: 22}}, {{Target: 2, Value1: 25}}, {{Target: 2, Value1: 28}}, }, }, { ID: 202, Name: "Stamina", Description: "A Spark that increases Stamina.", Group: 2, Rarity: 2, Type: 1, Effects: [][]horse.SparkEffect{ {{Target: 2, Value1: 1}}, {{Target: 2, Value1: 4}}, {{Target: 2, Value1: 7}}, {{Target: 2, Value1: 10}}, {{Target: 2, Value1: 13}}, {{Target: 2, Value1: 16}}, {{Target: 2, Value1: 19}}, {{Target: 2, Value1: 22}}, {{Target: 2, Value1: 25}}, {{Target: 2, Value1: 28}}, }, }, { ID: 203, Name: "Stamina", Description: "A Spark that increases Stamina.", Group: 2, Rarity: 3, Type: 1, Effects: [][]horse.SparkEffect{ {{Target: 2, Value1: 1}}, {{Target: 2, Value1: 4}}, {{Target: 2, Value1: 7}}, {{Target: 2, Value1: 10}}, {{Target: 2, Value1: 13}}, {{Target: 2, Value1: 16}}, {{Target: 2, Value1: 19}}, {{Target: 2, Value1: 22}}, {{Target: 2, Value1: 25}}, {{Target: 2, Value1: 28}}, }, }, { ID: 1101, Name: "Turf", Description: "A Spark that increases Turf Aptitude.", Group: 11, Rarity: 1, Type: 2, Effects: [][]horse.SparkEffect{ {{Target: 11, Value1: 1}}, {{Target: 11, Value1: 2}}, }, }, { ID: 1102, Name: "Turf", Description: "A Spark that increases Turf Aptitude.", Group: 11, Rarity: 2, Type: 2, Effects: [][]horse.SparkEffect{ {{Target: 11, Value1: 1}}, {{Target: 11, Value1: 2}}, }, }, { ID: 1103, Name: "Turf", Description: "A Spark that increases Turf Aptitude.", Group: 11, Rarity: 3, Type: 2, Effects: [][]horse.SparkEffect{ {{Target: 11, Value1: 1}}, {{Target: 11, Value1: 2}}, }, }, { ID: 1000101, Name: "February S.", Description: `A Spark that increases Power and gives a skill hint for "Winter Runner ○".`, Group: 10001, Rarity: 1, Type: 5, Effects: [][]horse.SparkEffect{ {{Target: 3, Value1: 3}, {Target: 41, Value1: 200202, Value2: 1}}, {{Target: 3, Value1: 6}, {Target: 41, Value1: 200202, Value2: 1}}, {{Target: 3, Value1: 9}, {Target: 41, Value1: 200202, Value2: 1}}, }, }, { ID: 1000102, Name: "February S.", Description: `A Spark that increases Power and gives a skill hint for "Winter Runner ○".`, Group: 10001, Rarity: 2, Type: 5, Effects: [][]horse.SparkEffect{ {{Target: 3, Value1: 3}, {Target: 41, Value1: 200202, Value2: 1}}, {{Target: 3, Value1: 6}, {Target: 41, Value1: 200202, Value2: 1}}, {{Target: 3, Value1: 9}, {Target: 41, Value1: 200202, Value2: 1}}, }, }, { ID: 1000103, Name: "February S.", Description: `A Spark that increases Power and gives a skill hint for "Winter Runner ○".`, Group: 10001, Rarity: 3, Type: 5, Effects: [][]horse.SparkEffect{ {{Target: 3, Value1: 3}, {Target: 41, Value1: 200202, Value2: 1}}, {{Target: 3, Value1: 6}, {Target: 41, Value1: 200202, Value2: 1}}, {{Target: 3, Value1: 9}, {Target: 41, Value1: 200202, Value2: 1}}, }, }, { ID: 2000101, Name: "Right-Handed ○", Description: `A Spark that gives a skill hint for "Right-Handed ○".`, Group: 20001, Rarity: 1, Type: 4, Effects: [][]horse.SparkEffect{ {{Target: 41, Value1: 200012, Value2: 1}}, {{Target: 41, Value1: 200012, Value2: 2}}, {{Target: 41, Value1: 200012, Value2: 3}}, {{Target: 41, Value1: 200012, Value2: 4}}, {{Target: 41, Value1: 200012, Value2: 5}}, }, }, { ID: 2000102, Name: "Right-Handed ○", Description: `A Spark that gives a skill hint for "Right-Handed ○".`, Group: 20001, Rarity: 2, Type: 4, Effects: [][]horse.SparkEffect{ {{Target: 41, Value1: 200012, Value2: 1}}, {{Target: 41, Value1: 200012, Value2: 2}}, {{Target: 41, Value1: 200012, Value2: 3}}, {{Target: 41, Value1: 200012, Value2: 4}}, {{Target: 41, Value1: 200012, Value2: 5}}, }, }, { ID: 2000103, Name: "Right-Handed ○", Description: `A Spark that gives a skill hint for "Right-Handed ○".`, Group: 20001, Rarity: 3, Type: 4, Effects: [][]horse.SparkEffect{ {{Target: 41, Value1: 200012, Value2: 1}}, {{Target: 41, Value1: 200012, Value2: 2}}, {{Target: 41, Value1: 200012, Value2: 3}}, {{Target: 41, Value1: 200012, Value2: 4}}, {{Target: 41, Value1: 200012, Value2: 5}}, }, }, { ID: 3000101, Name: "URA Finale", Description: `A Spark that increases Speed and Stamina.`, Group: 30001, Rarity: 1, Type: 6, Effects: [][]horse.SparkEffect{ {{Target: 1, Value1: 10}, {Target: 2, Value1: 10}}, {{Target: 1, Value1: 20}, {Target: 2, Value1: 20}}, {{Target: 1, Value1: 30}, {Target: 2, Value1: 30}}, }, }, { ID: 3000102, Name: "URA Finale", Description: `A Spark that increases Speed and Stamina.`, Group: 30001, Rarity: 2, Type: 6, Effects: [][]horse.SparkEffect{ {{Target: 1, Value1: 10}, {Target: 2, Value1: 10}}, {{Target: 1, Value1: 20}, {Target: 2, Value1: 20}}, {{Target: 1, Value1: 30}, {Target: 2, Value1: 30}}, }, }, { ID: 3000103, Name: "URA Finale", Description: `A Spark that increases Speed and Stamina.`, Group: 30001, Rarity: 3, Type: 6, Effects: [][]horse.SparkEffect{ {{Target: 1, Value1: 10}, {Target: 2, Value1: 10}}, {{Target: 1, Value1: 20}, {Target: 2, Value1: 20}}, {{Target: 1, Value1: 30}, {Target: 2, Value1: 30}}, }, }, { ID: 10010101, Name: "Shooting Star", Description: `A Spark that gives a skill hint for "Shooting Star".`, Group: 100101, Rarity: 1, Type: 3, Effects: [][]horse.SparkEffect{ {{Target: 41, Value1: 900011, Value2: 1}}, {{Target: 41, Value1: 900011, Value2: 2}}, {{Target: 41, Value1: 900011, Value2: 3}}, }, }, { ID: 10010102, Name: "Shooting Star", Description: `A Spark that gives a skill hint for "Shooting Star".`, Group: 100101, Rarity: 2, Type: 3, Effects: [][]horse.SparkEffect{ {{Target: 41, Value1: 900011, Value2: 1}}, {{Target: 41, Value1: 900011, Value2: 2}}, {{Target: 41, Value1: 900011, Value2: 3}}, }, }, { ID: 10010103, Name: "Shooting Star", Description: `A Spark that gives a skill hint for "Shooting Star".`, Group: 100101, Rarity: 3, Type: 3, Effects: [][]horse.SparkEffect{ {{Target: 41, Value1: 900011, Value2: 1}}, {{Target: 41, Value1: 900011, Value2: 2}}, {{Target: 41, Value1: 900011, Value2: 3}}, }, }, } if diff := cmp.Diff(want, got); diff != "" { t.Errorf("wrong sparks (+got/-want):\n%s", diff) } }