added extra test case and revert multiple dummy items
This commit is contained in:
@@ -47,17 +47,10 @@ func ParseNIPFile(filePath string) (Rules, error) {
|
|||||||
rules := make([]Rule, 0)
|
rules := make([]Rule, 0)
|
||||||
lineNumber := 0
|
lineNumber := 0
|
||||||
|
|
||||||
dummyItems := []data.Item{
|
dummyItem := data.Item{
|
||||||
{
|
ID: 516,
|
||||||
ID: 373,
|
Name: "healingpotion",
|
||||||
Name: "mageplate",
|
Quality: item.QualityNormal,
|
||||||
Quality: item.QualityUnique,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
ID: 0,
|
|
||||||
Name: "handaxe",
|
|
||||||
Quality: item.QualityUnique,
|
|
||||||
},
|
|
||||||
}
|
}
|
||||||
|
|
||||||
for fileScanner.Scan() {
|
for fileScanner.Scan() {
|
||||||
@@ -71,13 +64,10 @@ func ParseNIPFile(filePath string) (Rules, error) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// We evaluate all the rules at startup to ensure no format errors, if there is a format error we will throw it now instead of during runtime
|
// We evaluate all the rules at startup to ensure no format errors, if there is a format error we will throw it now instead of during runtime
|
||||||
for _, it := range dummyItems {
|
_, err = rule.Evaluate(dummyItem)
|
||||||
_, err = rule.Evaluate(it)
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, fmt.Errorf("error testing rule on [%s:%d]: %w", filePath, lineNumber, err)
|
return nil, fmt.Errorf("error testing rule on [%s:%d]: %w", filePath, lineNumber, err)
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
rules = append(rules, rule)
|
rules = append(rules, rule)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -180,6 +180,25 @@ func TestRule_Evaluate(t *testing.T) {
|
|||||||
},
|
},
|
||||||
wantErr: true,
|
wantErr: true,
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
name: "enhanceddamage should work for charms and not damage items",
|
||||||
|
fields: fields{
|
||||||
|
RawLine: "[name] == grandcharm && [quality] == magic # [enhanceddamage] >= 15 #",
|
||||||
|
Enabled: true,
|
||||||
|
},
|
||||||
|
args: args{
|
||||||
|
item: data.Item{
|
||||||
|
Identified: true,
|
||||||
|
ID: 605,
|
||||||
|
Name: "grandcharm",
|
||||||
|
Quality: item.QualityMagic,
|
||||||
|
Stats: []stat.Data{
|
||||||
|
{ID: stat.EnhancedDamage, Value: 15},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
want: RuleResultFullMatch,
|
||||||
|
},
|
||||||
}
|
}
|
||||||
for _, tt := range tests {
|
for _, tt := range tests {
|
||||||
t.Run(tt.name, func(t *testing.T) {
|
t.Run(tt.name, func(t *testing.T) {
|
||||||
|
|||||||
Reference in New Issue
Block a user