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)
|
||||
lineNumber := 0
|
||||
|
||||
dummyItems := []data.Item{
|
||||
{
|
||||
ID: 373,
|
||||
Name: "mageplate",
|
||||
Quality: item.QualityUnique,
|
||||
},
|
||||
{
|
||||
ID: 0,
|
||||
Name: "handaxe",
|
||||
Quality: item.QualityUnique,
|
||||
},
|
||||
dummyItem := data.Item{
|
||||
ID: 516,
|
||||
Name: "healingpotion",
|
||||
Quality: item.QualityNormal,
|
||||
}
|
||||
|
||||
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
|
||||
for _, it := range dummyItems {
|
||||
_, err = rule.Evaluate(it)
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("error testing rule on [%s:%d]: %w", filePath, lineNumber, err)
|
||||
}
|
||||
_, err = rule.Evaluate(dummyItem)
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("error testing rule on [%s:%d]: %w", filePath, lineNumber, err)
|
||||
}
|
||||
|
||||
rules = append(rules, rule)
|
||||
}
|
||||
|
||||
|
||||
@@ -180,6 +180,25 @@ func TestRule_Evaluate(t *testing.T) {
|
||||
},
|
||||
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 {
|
||||
t.Run(tt.name, func(t *testing.T) {
|
||||
|
||||
Reference in New Issue
Block a user