Module:Sandbox/KickahaOta/QueryDistances/testcases: Difference between revisions
Jump to navigation
Jump to search
KickahaOta (talk | contribs) (Tweaks) |
KickahaOta (talk | contribs) (Test) |
||
Line 4: | Line 4: | ||
local suite = ScribuntoUnit:new() | local suite = ScribuntoUnit:new() | ||
function suite | function suite.ascendancy() | ||
local results = m_cargo.query( | local results = m_cargo.query( | ||
{'passive_skills'}, | {'passive_skills'}, | ||
Line 23: | Line 23: | ||
end | end | ||
function suite:test_witch() | function suite:test_ascendancy() | ||
local calc_results = ascendancy() | |||
self:assertEquals(15, #calc_results, "Unexpected row count -- may just mean that data has changed") | |||
end | |||
function suite:test_witch(manual) | |||
local results = m_cargo.query( | local results = m_cargo.query( | ||
{'passive_skills'}, | {'passive_skills'}, | ||
Line 42: | Line 47: | ||
} | } | ||
local calc_results = m_calculate.calculate_distances(results, calc_args) | local calc_results = m_calculate.calculate_distances(results, calc_args) | ||
-- Failure may just mean that the passive skill tree has changed | |||
if not manual then self:assertEquals(15, #calc_results) end | |||
return calc_results | return calc_results | ||
end | end |
Revision as of 20:32, 19 December 2021
This module implements the test cases for Module:Sandbox/KickahaOta/QueryDistances.
2 tests failed.
Name | Expected | Actual | |
---|---|---|---|
test_ascendancy | Lua error -- Module:Sandbox/KickahaOta/QueryDistances/testcases:26: attempt to call global 'ascendancy' (a nil value) | ||
test_marauder | |||
test_targets | |||
test_witch | 15 | 342 |
local m_calculate = require('Module:Sandbox/KickahaOta/QueryDistances') -- the module to be tested
local m_cargo = require('Module:Cargo')
local ScribuntoUnit = require('Module:ScribuntoUnit')
local suite = ScribuntoUnit:new()
function suite.ascendancy()
local results = m_cargo.query(
{'passive_skills'},
{'passive_skills.name', 'passive_skills.id', 'passive_skills.connections', 'passive_skills.ascendancy_class', 'CONCAT("")=distance'},
{where='passive_skills.ascendancy_class="Berserker"', order_by='passive_skills.id'}
)
local calc_args = {
id_field = "passive_skills.id",
connection_ids_field="passive_skills.connections",
connection_ids_delimiter=",",
origin_row_id="AscendancyBerserkerStart",
distance_field="distance",
test = test_calc or false,
test_remove = test_remove or false,
}
local calc_results = m_calculate.calculate_distances(results, calc_args)
return calc_results
end
function suite:test_ascendancy()
local calc_results = ascendancy()
self:assertEquals(15, #calc_results, "Unexpected row count -- may just mean that data has changed")
end
function suite:test_witch(manual)
local results = m_cargo.query(
{'passive_skills'},
{'passive_skills.name', 'passive_skills.id', 'passive_skills.connections', 'passive_skills.ascendancy_class', 'CONCAT("")=distance'},
{where='id NOT LIKE "%jewel_slot%" AND connections HOLDS LIKE "%" AND (ascendancy_class="" OR ascendancy_class IS NULL)', order_by='passive_skills.id'}
)
local calc_args = {
id_field = "passive_skills.id",
connection_ids_field="passive_skills.connections",
connection_ids_delimiter=",",
origin_row_id="witch595",
distance_field="distance",
test = test_calc or false,
test_remove = test_remove or false,
max_distance = 10,
remove_nil_distances=true,
remove_origin=true,
}
local calc_results = m_calculate.calculate_distances(results, calc_args)
-- Failure may just mean that the passive skill tree has changed
if not manual then self:assertEquals(15, #calc_results) end
return calc_results
end
function suite:test_marauder(test_calc, test_remove)
local results = m_cargo.query(
{'passive_skills'},
{'passive_skills.name', 'passive_skills.id', 'passive_skills.connections', 'passive_skills.ascendancy_class', 'passive_skills.is_notable', 'CONCAT("")=distance'},
{where='id NOT LIKE "%jewel_slot%" AND connections HOLDS LIKE "%" AND (ascendancy_class="" OR ascendancy_class IS NULL)', order_by='passive_skills.id'}
)
local calc_args = {
id_field = "passive_skills.id",
connection_ids_field="passive_skills.connections",
connection_ids_delimiter=",",
origin_row_id="marauder594",
distance_field="distance",
test = test_calc or false,
test_remove = test_remove or false,
max_distance = 30,
field_required_values = {
["passive_skills.is_notable"] = 1,
}
}
local calc_results = m_calculate.calculate_distances(results, calc_args)
return calc_results
end
function suite:test_targets(test_calc, test_remove)
local results = m_cargo.query(
{'passive_skills'},
{'passive_skills.name', 'passive_skills.id', 'passive_skills.connections', 'passive_skills.ascendancy_class', 'passive_skills.is_notable', 'CONCAT("")=distance'},
{where='id NOT LIKE "%jewel_slot%" AND connections HOLDS LIKE "%" AND (ascendancy_class="" OR ascendancy_class IS NULL)', order_by='passive_skills.id'}
)
local calc_args = {
id_field = "passive_skills.id",
connection_ids_field="passive_skills.connections",
connection_ids_delimiter=",",
origin_row_id="melee_damage687",
distance_field="distance",
test = test_calc or false,
test_remove = test_remove or false,
max_distance = 30,
target_ids = { "marauder594", "witch595", "ranger596", "duelist597", "templar598", "six704", "seven1490" },
}
local calc_results = m_calculate.calculate_distances(results, calc_args)
return calc_results
end
return suite