44 lines
1.3 KiB
MySQL
44 lines
1.3 KiB
MySQL
|
/*
|
||
|
* Test sys.gu_pmc_weights_view
|
||
|
*/
|
||
|
BEGIN;
|
||
|
/* Create a table which will server as an alternate source for
|
||
|
* emp.mining_settings_view ; the table is not temporary (PostgreSQL
|
||
|
* won't allow replacing the view otherwise), but will be dropped
|
||
|
* on rollback anyway.
|
||
|
*/
|
||
|
CREATE TABLE fake_mining_settings(
|
||
|
planet_id INT ,
|
||
|
resource_name_id INT ,
|
||
|
mset_weight INT ,
|
||
|
mset_specific BOOLEAN
|
||
|
);
|
||
|
|
||
|
CREATE OR REPLACE VIEW emp.mining_settings_view
|
||
|
AS SELECT * FROM fake_mining_settings;
|
||
|
|
||
|
/* Insert fake records for each possible mining setting */
|
||
|
INSERT INTO fake_mining_settings VALUES
|
||
|
( 1 , 0 , 0 , FALSE ) ,
|
||
|
( 1 , 1 , 1 , FALSE ) ,
|
||
|
( 1 , 2 , 2 , FALSE ) ,
|
||
|
( 1 , 3 , 3 , FALSE ) ,
|
||
|
( 1 , 4 , 4 , FALSE );
|
||
|
|
||
|
/***** TESTS BEGIN HERE *****/
|
||
|
SELECT plan( 2 );
|
||
|
|
||
|
SELECT diag_test_name( 'sys.gu_pmc_weights_view - Rows present' );
|
||
|
SELECT isnt( COUNT(*)::INT , 0 )
|
||
|
FROM sys.gu_pmc_weights_view;
|
||
|
|
||
|
SELECT diag_test_name( 'sys.gu_pmc_weights_view - weight = game.resources.weightBase ^ setting' );
|
||
|
SELECT sys.uoc_constant( 'game.resources.weightBase' , '(test)' , 'Resources' , 10.0 );
|
||
|
SELECT is_empty( $$
|
||
|
SELECT * FROM sys.gu_pmc_weights_view
|
||
|
WHERE pmc_weight IS NULL
|
||
|
OR pmc_weight <> POW( 10 , resource_name_id )
|
||
|
$$ );
|
||
|
|
||
|
SELECT * FROM finish( );
|
||
|
ROLLBACK;
|