mdb: package for interacting with game's local database
This commit is contained in:
345
mdb/spark_test.go
Normal file
345
mdb/spark_test.go
Normal file
@@ -0,0 +1,345 @@
|
||||
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)
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user