346 lines
9.4 KiB
Go
346 lines
9.4 KiB
Go
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)
|
|
}
|
|
}
|