add small and useless test
This commit is contained in:
45
pkg/itemfilter/itemfilter_test.go
Normal file
45
pkg/itemfilter/itemfilter_test.go
Normal file
@@ -0,0 +1,45 @@
|
||||
package itemfilter
|
||||
|
||||
import (
|
||||
"testing"
|
||||
|
||||
"github.com/hectorgimenez/d2go/pkg/data"
|
||||
"github.com/hectorgimenez/d2go/pkg/data/item"
|
||||
"github.com/hectorgimenez/d2go/pkg/nip"
|
||||
"github.com/stretchr/testify/require"
|
||||
)
|
||||
|
||||
func TestEvaluate(t *testing.T) {
|
||||
type args struct {
|
||||
i data.Item
|
||||
nipRule string // not the best test but too lazy to write rules manually
|
||||
}
|
||||
tests := []struct {
|
||||
name string
|
||||
args args
|
||||
want bool
|
||||
}{
|
||||
{
|
||||
name: "",
|
||||
args: args{
|
||||
i: data.Item{
|
||||
Name: item.Name("lightplatedboots"),
|
||||
Quality: item.QualityUnique,
|
||||
Ethereal: false,
|
||||
},
|
||||
nipRule: "[name] == lightplatedboots && [quality] == unique && [flag] != ethereal # [enhanceddefense] == 60 // goblin toe",
|
||||
},
|
||||
want: true,
|
||||
},
|
||||
}
|
||||
for _, tt := range tests {
|
||||
t.Run(tt.name, func(t *testing.T) {
|
||||
rule, err := nip.ParseLine(tt.args.nipRule)
|
||||
require.NoError(t, err)
|
||||
|
||||
if got := Evaluate(tt.args.i, []nip.Rule{rule}); got != tt.want {
|
||||
t.Errorf("Evaluate() = %v, want %v", got, tt.want)
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
@@ -43,7 +43,7 @@ func ParseNIPFile(filePath string) ([]Rule, error) {
|
||||
|
||||
rules := make([]Rule, 0)
|
||||
for fileScanner.Scan() {
|
||||
rule, err := parseLine(fileScanner.Text())
|
||||
rule, err := ParseLine(fileScanner.Text())
|
||||
if errors.Is(err, errEmptyLine) {
|
||||
continue
|
||||
}
|
||||
|
||||
@@ -14,7 +14,7 @@ var (
|
||||
propertyNameRegex = regexp.MustCompile(`\[(.*)\]`)
|
||||
)
|
||||
|
||||
func parseLine(line string) (Rule, error) {
|
||||
func ParseLine(line string) (Rule, error) {
|
||||
line = lineCleanup(line)
|
||||
if line == "" {
|
||||
return Rule{}, errEmptyLine
|
||||
|
||||
@@ -10,7 +10,7 @@ import (
|
||||
const nipLine = "[type] == boots && [quality] == rare # [frw] >= 10 && [fireresist] >= 10 && ([lightresist]+[coldresist] >= 10 && [dexterity] >= 1 && [fireresist]+[poisonresist] >= 10) // this is a comment"
|
||||
|
||||
func Test_parseLine(t *testing.T) {
|
||||
rules, err := parseLine(nipLine)
|
||||
rules, err := ParseLine(nipLine)
|
||||
require.NoError(t, err)
|
||||
|
||||
expected := Rule{
|
||||
|
||||
Reference in New Issue
Block a user