Module:Sandbox/KickahaOta/QueryDistances/testcases: Difference between revisions

From Path of Exile Wiki
Jump to navigation Jump to search
(Sample test cases)
 
(Put test arguments back)
 
(6 intermediate revisions by the same user not shown)
Line 4: Line 4:
local suite = ScribuntoUnit:new()
local suite = ScribuntoUnit:new()


function suite:test_ascendancy()
function suite:test_ascendancy(test_calc, test_remove)
     local results = m_cargo.query(
     local results = m_cargo.query(
         {'passive_skills'},
         {'passive_skills'},
Line 20: Line 20:
     }
     }
     local calc_results = m_calculate.calculate_distances(results, calc_args)
     local calc_results = m_calculate.calculate_distances(results, calc_args)
self:assertEquals(15, #calc_results, "Unexpected row count -- may just mean that data has changed")
return calc_results
end
end


function suite_test_witch()
function suite:test_witch(test_calc, test_remove)
     local results = m_cargo.query(
     local results = m_cargo.query(
         {'passive_skills'},
         {'passive_skills'},
Line 41: Line 43:
     }
     }
     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
self:assertEquals(335, #calc_results, "Unexpected row count -- may just mean that data has changed")
return calc_results
end
end


Line 63: Line 68:
     }
     }
     local calc_results = m_calculate.calculate_distances(results, calc_args)
     local calc_results = m_calculate.calculate_distances(results, calc_args)
self:assertEquals(391, #calc_results, "Unexpected row count -- may just mean that data has changed")
return calc_results
end
end


function suite:testtargets(test_calc, test_remove)
function suite:test_targets(test_calc, test_remove)
     local results = m_cargo.query(
     local results = m_cargo.query(
         {'passive_skills'},
         {'passive_skills'},
Line 83: Line 90:
     }
     }
     local calc_results = m_calculate.calculate_distances(results, calc_args)
     local calc_results = m_calculate.calculate_distances(results, calc_args)
    return calc_results
self:assertEquals(7, #calc_results, "Unexpected row count -- may just mean that data has changed")
return calc_results
end
end


return suite
return suite

Latest revision as of 20:44, 19 December 2021

This module implements the test cases for Module:Sandbox/KickahaOta/QueryDistances.

N2 tests failed.

Name Expected Actual
YesY test_ascendancy
N test_marauder / Unexpected row count -- may just mean that data has changed 391 430
YesY test_targets
N test_witch / Unexpected row count -- may just mean that data has changed 335 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:test_ascendancy(test_calc, test_remove)
    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)
	self:assertEquals(15, #calc_results, "Unexpected row count -- may just mean that data has changed")
	return calc_results
end

function suite:test_witch(test_calc, test_remove)
    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
	self:assertEquals(335, #calc_results, "Unexpected row count -- may just mean that data has changed")
	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)
	self:assertEquals(391, #calc_results, "Unexpected row count -- may just mean that data has changed")
	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)
	self:assertEquals(7, #calc_results, "Unexpected row count -- may just mean that data has changed")
	return calc_results
end

return suite