Module:Sandbox/KickahaOta/QueryDistances/testcases
Jump to navigation
Jump to search
This module implements the test cases for Module:Sandbox/KickahaOta/QueryDistances.
All tests passed.
Name | Expected | Actual | |
---|---|---|---|
test_ascendancy | |||
test_marauder | |||
test_targets | |||
test_witch |
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:test_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_witch()
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)
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