56 lines
1.6 KiB
MySQL
56 lines
1.6 KiB
MySQL
|
/*
|
||
|
* Tests for emp.planet_resources_view
|
||
|
*/
|
||
|
BEGIN;
|
||
|
/*
|
||
|
* Create two empires, one with 2 planets, the other without. Add 2 planet
|
||
|
* resources records.
|
||
|
*
|
||
|
* Disable all foreign keys to avoid a lot of work.
|
||
|
*/
|
||
|
|
||
|
ALTER TABLE emp.planets
|
||
|
DROP CONSTRAINT fk_eplanets_empire ,
|
||
|
DROP CONSTRAINT fk_eplanets_planet;
|
||
|
ALTER TABLE verse.planet_resources
|
||
|
DROP CONSTRAINT fk_pres_planet ,
|
||
|
DROP CONSTRAINT fk_pres_resource;
|
||
|
|
||
|
INSERT INTO verse.planet_resources (
|
||
|
planet_id , resource_name_id , pres_income , pres_upkeep
|
||
|
) VALUES
|
||
|
( 1 , 1 , 1 , 2 ) , ( 1 , 2 , 3 , 4 ) ,
|
||
|
( 2 , 1 , 3 , 4 ) , ( 2 , 2 , 5 , 6 ) ,
|
||
|
( 3 , 1 , 0.1 / 720 , 0.4 / 720 ) ,
|
||
|
( 3 , 2 , 0.9 / 720, 0.9 / 720 );
|
||
|
INSERT INTO emp.planets( empire_id , planet_id )
|
||
|
VALUES ( 1 , 1 ) , ( 1 , 2 ) , ( 2 , 3 );
|
||
|
|
||
|
|
||
|
/***** TESTS BEGIN HERE *****/
|
||
|
SELECT plan( 3 );
|
||
|
|
||
|
SELECT diag_test_name( 'emp.planet_resources_view - Sums' );
|
||
|
SELECT set_eq(
|
||
|
$$ SELECT * FROM emp.planet_resources_view WHERE empire_id = 1 $$ ,
|
||
|
$$ VALUES ( 1 , 1 , 4 * 720 , 6 * 720 ) , ( 1 , 2 , 8 * 720 , 10 * 720 ) $$
|
||
|
);
|
||
|
|
||
|
SELECT diag_test_name( 'emp.planet_resources_view - Incomes are rounded down' );
|
||
|
SELECT set_eq(
|
||
|
$$ SELECT resource_name_id , planets_income
|
||
|
FROM emp.planet_resources_view
|
||
|
WHERE empire_id = 2 $$ ,
|
||
|
$$ VALUES ( 1 , 0 ) , ( 2 , 0 ) $$
|
||
|
);
|
||
|
|
||
|
SELECT diag_test_name( 'emp.planet_resources_view - Upkeeps are rounded up' );
|
||
|
SELECT set_eq(
|
||
|
$$ SELECT resource_name_id , planets_upkeep
|
||
|
FROM emp.planet_resources_view
|
||
|
WHERE empire_id = 2 $$ ,
|
||
|
$$ VALUES ( 1 , 1 ) , ( 2 , 1 ) $$
|
||
|
);
|
||
|
|
||
|
SELECT * FROM finish( );
|
||
|
ROLLBACK;
|