-
Notifications
You must be signed in to change notification settings - Fork 2.3k
Expand file tree
/
Copy pathTestTinctureImport_spec.lua
More file actions
72 lines (63 loc) · 2.6 KB
/
TestTinctureImport_spec.lua
File metadata and controls
72 lines (63 loc) · 2.6 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
describe("TestTinctureImport", function()
local function newImportedTincture(baseName, quality, implicitLines, explicitLines)
local item = new("Item")
item.baseName = baseName
item.base = data.itemBases[baseName]
item.type = "Tincture"
item.name = baseName
item.rarity = "MAGIC"
item.quality = quality
item.implicitModLines = { }
item.explicitModLines = { }
item.enchantModLines = { }
item.scourgeModLines = { }
item.classRequirementModLines = { }
item.crucibleModLines = { }
for _, line in ipairs(implicitLines or { }) do
table.insert(item.implicitModLines, { line = line })
end
for _, line in ipairs(explicitLines or { }) do
table.insert(item.explicitModLines, { line = line })
end
return item
end
it("normalises Rosethorn import lines back to base values", function()
local item = newImportedTincture("Rosethorn Tincture", 20, {
"216% increased Critical Strike Chance with Melee Weapons",
}, {
"20% increased effect",
"36% increased Melee Weapon Attack Speed",
})
item:NormaliseImportedTinctureModLines()
item:BuildAndParseRaw()
assert.are.equal("150% increased Critical Strike Chance with Melee Weapons", item.implicitModLines[1].line)
assert.are.equal("20% increased effect", item.explicitModLines[1].line)
assert.are.equal("25% increased Melee Weapon Attack Speed", item.explicitModLines[2].line)
end)
it("preserves non-scaled Mana Burn lines while normalising effect-scaled tincture lines", function()
local item = newImportedTincture("Prismatic Tincture", 20, {
"162% increased Elemental Damage with Melee Weapons",
}, {
"35% increased effect",
"37% increased Mana Burn rate",
})
item:NormaliseImportedTinctureModLines()
item:BuildAndParseRaw()
assert.are.equal("100% increased Elemental Damage with Melee Weapons", item.implicitModLines[1].line)
assert.are.equal("35% increased effect", item.explicitModLines[1].line)
assert.are.equal("37% increased Mana Burn rate", item.explicitModLines[2].line)
end)
it("can recover the base local effect roll when the imported effect line is already quality-scaled", function()
local item = newImportedTincture("Prismatic Tincture", 20, {
"162% increased Elemental Damage with Melee Weapons",
}, {
"42% increased effect",
"37% increased Mana Burn rate",
})
item:NormaliseImportedTinctureModLines()
item:BuildAndParseRaw()
assert.are.equal("100% increased Elemental Damage with Melee Weapons", item.implicitModLines[1].line)
assert.are.equal("35% increased effect", item.explicitModLines[1].line)
assert.are.equal("37% increased Mana Burn rate", item.explicitModLines[2].line)
end)
end)