Mining settings in XML dumps
* Empire mining settings have been included in the empire's resource information records * Planet-specific mining settings have been included in the resource provider information records
This commit is contained in:
parent
9b346a80c2
commit
3637b6e1d1
11 changed files with 380 additions and 70 deletions
|
@ -28,7 +28,8 @@ final class EmpireResourceInformationMapper
|
||||||
*
|
*
|
||||||
* <p>
|
* <p>
|
||||||
* Create a new {@link EmpireResourceInformation} instance and set its fields using the row's
|
* Create a new {@link EmpireResourceInformation} instance and set its fields using the row's
|
||||||
* contents.
|
* contents. If a mining priority is present, set it, otherwise leave the field to its default
|
||||||
|
* <code>null</code> value.
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public EmpireResourceInformation mapRow( ResultSet rs , int rowNum )
|
public EmpireResourceInformation mapRow( ResultSet rs , int rowNum )
|
||||||
|
@ -40,6 +41,11 @@ final class EmpireResourceInformationMapper
|
||||||
empRes.setOwed( rs.getDouble( "empres_owed" ) );
|
empRes.setOwed( rs.getDouble( "empres_owed" ) );
|
||||||
empRes.setPossessed( rs.getDouble( "empres_possessed" ) );
|
empRes.setPossessed( rs.getDouble( "empres_possessed" ) );
|
||||||
|
|
||||||
|
int priority = rs.getInt( "mining_priority" );
|
||||||
|
if ( !rs.wasNull( ) ) {
|
||||||
|
empRes.setMiningPriority( priority );
|
||||||
|
}
|
||||||
|
|
||||||
return empRes;
|
return empRes;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -30,7 +30,8 @@ class ResourceRowMapper
|
||||||
* <p>
|
* <p>
|
||||||
* Generate the {@link PlanetResourceRow} instance with the correct planet identifier, resource
|
* Generate the {@link PlanetResourceRow} instance with the correct planet identifier, resource
|
||||||
* name, income and upkeep. If there is also a resource provider, attach a
|
* name, income and upkeep. If there is also a resource provider, attach a
|
||||||
* {@link ResourceProviderInformation} instance to the result.
|
* {@link ResourceProviderInformation} instance to the result, and set its mining priority if
|
||||||
|
* one exists.
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public PlanetResourceRow mapRow( ResultSet rs , int rowNum )
|
public PlanetResourceRow mapRow( ResultSet rs , int rowNum )
|
||||||
|
@ -48,6 +49,12 @@ class ResourceRowMapper
|
||||||
rpi.setCurrentQuantity( rs.getDouble( "resprov_quantity" ) );
|
rpi.setCurrentQuantity( rs.getDouble( "resprov_quantity" ) );
|
||||||
rpi.setDifficulty( rs.getDouble( "resprov_difficulty" ) );
|
rpi.setDifficulty( rs.getDouble( "resprov_difficulty" ) );
|
||||||
rpi.setRecovery( rs.getDouble( "resprov_recovery" ) );
|
rpi.setRecovery( rs.getDouble( "resprov_recovery" ) );
|
||||||
|
|
||||||
|
int miningPriority = rs.getInt( "mining_priority" );
|
||||||
|
if ( !rs.wasNull( ) ) {
|
||||||
|
rpi.setMiningPriority( miningPriority );
|
||||||
|
}
|
||||||
|
|
||||||
row.setProvider( rpi );
|
row.setProvider( rpi );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -13,7 +13,8 @@ import com.thoughtworks.xstream.annotations.XStreamAsAttribute;
|
||||||
*
|
*
|
||||||
* <p>
|
* <p>
|
||||||
* This class is used to store information about an empire's resources in debugging XML dumps. Each
|
* This class is used to store information about an empire's resources in debugging XML dumps. Each
|
||||||
* instance indicates the amount possessed or owed for a given type of resources.
|
* instance indicates the amount possessed or owed for a given type of resources, as well as the
|
||||||
|
* mining priority if it is a natural resource.
|
||||||
*
|
*
|
||||||
* @author <a href="mailto:tseeker@legacyworlds.com">E. Benoît</a>
|
* @author <a href="mailto:tseeker@legacyworlds.com">E. Benoît</a>
|
||||||
*/
|
*/
|
||||||
|
@ -36,6 +37,14 @@ public class EmpireResourceInformation
|
||||||
@XStreamAsAttribute
|
@XStreamAsAttribute
|
||||||
private Double owed;
|
private Double owed;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The mining priority for this type of resource, or <code>null</code> if it is not a natural
|
||||||
|
* resource
|
||||||
|
*/
|
||||||
|
@XStreamAlias( "mining-priority" )
|
||||||
|
@XStreamAsAttribute
|
||||||
|
private Integer miningPriority;
|
||||||
|
|
||||||
|
|
||||||
/** @return the type of resources */
|
/** @return the type of resources */
|
||||||
public String getResource( )
|
public String getResource( )
|
||||||
|
@ -100,4 +109,26 @@ public class EmpireResourceInformation
|
||||||
this.owed = owed;
|
this.owed = owed;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return the mining priority for this type of resource, or <code>null</code> if it is not a
|
||||||
|
* natural resource
|
||||||
|
*/
|
||||||
|
public Integer getMiningPriority( )
|
||||||
|
{
|
||||||
|
return this.miningPriority;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set the mining priority for this type of resource
|
||||||
|
*
|
||||||
|
* @param miningPriority
|
||||||
|
* the mining priority for this type of resource
|
||||||
|
*/
|
||||||
|
public void setMiningPriority( int miningPriority )
|
||||||
|
{
|
||||||
|
this.miningPriority = miningPriority;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -47,6 +47,11 @@ public class ResourceProviderInformation
|
||||||
@XStreamAsAttribute
|
@XStreamAsAttribute
|
||||||
private Double recovery;
|
private Double recovery;
|
||||||
|
|
||||||
|
/** Planet-specific mining priority */
|
||||||
|
@XStreamAlias( "mining-priority" )
|
||||||
|
@XStreamAsAttribute
|
||||||
|
private Integer miningPriority;
|
||||||
|
|
||||||
|
|
||||||
/** @return the resource's identifier */
|
/** @return the resource's identifier */
|
||||||
public String getResource( )
|
public String getResource( )
|
||||||
|
@ -149,4 +154,26 @@ public class ResourceProviderInformation
|
||||||
this.recovery = recovery;
|
this.recovery = recovery;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return the planet-specific mining priority, or <code>null</code> if the empire's global
|
||||||
|
* settings are in used
|
||||||
|
*/
|
||||||
|
public Integer getMiningPriority( )
|
||||||
|
{
|
||||||
|
return this.miningPriority;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set the planet-specific mining priority
|
||||||
|
*
|
||||||
|
* @param miningPriority
|
||||||
|
* the planet-specific mining priority
|
||||||
|
*/
|
||||||
|
public void setMiningPriority( int miningPriority )
|
||||||
|
{
|
||||||
|
this.miningPriority = miningPriority;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1217,12 +1217,19 @@ GRANT SELECT ON bugs.dump_research_view TO :dbuser;
|
||||||
* resource_name Text-based identifier of the resource type
|
* resource_name Text-based identifier of the resource type
|
||||||
* empres_possessed Amount of resources possessed by the empire
|
* empres_possessed Amount of resources possessed by the empire
|
||||||
* empres_owed Amount of resources owed by the empire
|
* empres_owed Amount of resources owed by the empire
|
||||||
|
* mining_priority Mining priority for this resource, or NULL if it
|
||||||
|
* is not a natural resource
|
||||||
*/
|
*/
|
||||||
DROP VIEW IF EXISTS bugs.dump_emp_resources_view CASCADE;
|
DROP VIEW IF EXISTS bugs.dump_emp_resources_view CASCADE;
|
||||||
CREATE VIEW bugs.dump_emp_resources_view
|
CREATE VIEW bugs.dump_emp_resources_view
|
||||||
AS SELECT empire_id , name AS resource_name , empres_possessed , empres_owed
|
AS SELECT empire_id , name AS resource_name ,
|
||||||
|
empres_possessed , empres_owed ,
|
||||||
|
empmset_weight AS mining_priority
|
||||||
FROM emp.resources
|
FROM emp.resources
|
||||||
INNER JOIN defs.strings ON id = resource_name_id;
|
INNER JOIN defs.strings
|
||||||
|
ON id = resource_name_id
|
||||||
|
LEFT OUTER JOIN emp.mining_settings
|
||||||
|
USING ( empire_id , resource_name_id );
|
||||||
|
|
||||||
GRANT SELECT
|
GRANT SELECT
|
||||||
ON bugs.dump_emp_resources_view
|
ON bugs.dump_emp_resources_view
|
||||||
|
@ -1271,6 +1278,10 @@ GRANT SELECT ON bugs.dump_planets_view TO :dbuser;
|
||||||
* resprov_recovery The resource provider's recovery rate, or NULL
|
* resprov_recovery The resource provider's recovery rate, or NULL
|
||||||
* if there is no resource provider of that
|
* if there is no resource provider of that
|
||||||
* type on the planet
|
* type on the planet
|
||||||
|
* mining_priority The planet-specific mining priority for the
|
||||||
|
* current resource type, or NULL if there
|
||||||
|
* are no planet-specific settings or no
|
||||||
|
* provider of this type.
|
||||||
*/
|
*/
|
||||||
DROP VIEW IF EXISTS bugs.dump_planet_resources_view CASCADE;
|
DROP VIEW IF EXISTS bugs.dump_planet_resources_view CASCADE;
|
||||||
CREATE VIEW bugs.dump_planet_resources_view
|
CREATE VIEW bugs.dump_planet_resources_view
|
||||||
|
@ -1278,7 +1289,8 @@ CREATE VIEW bugs.dump_planet_resources_view
|
||||||
name AS resource_name ,
|
name AS resource_name ,
|
||||||
pres_income , pres_upkeep ,
|
pres_income , pres_upkeep ,
|
||||||
resprov_quantity_max , resprov_quantity ,
|
resprov_quantity_max , resprov_quantity ,
|
||||||
resprov_difficulty , resprov_recovery
|
resprov_difficulty , resprov_recovery ,
|
||||||
|
emppmset_weight AS mining_priority
|
||||||
FROM emp.planets
|
FROM emp.planets
|
||||||
INNER JOIN verse.planet_resources
|
INNER JOIN verse.planet_resources
|
||||||
USING ( planet_id )
|
USING ( planet_id )
|
||||||
|
@ -1286,6 +1298,8 @@ CREATE VIEW bugs.dump_planet_resources_view
|
||||||
ON resource_name_id = id
|
ON resource_name_id = id
|
||||||
LEFT OUTER JOIN verse.resource_providers
|
LEFT OUTER JOIN verse.resource_providers
|
||||||
USING ( planet_id , resource_name_id )
|
USING ( planet_id , resource_name_id )
|
||||||
|
LEFT OUTER JOIN emp.planet_mining_settings
|
||||||
|
USING ( empire_id , planet_id , resource_name_id )
|
||||||
ORDER BY name;
|
ORDER BY name;
|
||||||
|
|
||||||
GRANT SELECT
|
GRANT SELECT
|
||||||
|
|
|
@ -3,7 +3,8 @@
|
||||||
*/
|
*/
|
||||||
BEGIN;
|
BEGIN;
|
||||||
/*
|
/*
|
||||||
* We need a resource type, an empire and the associated resource record.
|
* We need a basic resource type, a natural resource type, an empire and
|
||||||
|
* the associated resources and mining settings records.
|
||||||
*/
|
*/
|
||||||
\i utils/strings.sql
|
\i utils/strings.sql
|
||||||
\i utils/resources.sql
|
\i utils/resources.sql
|
||||||
|
@ -11,6 +12,7 @@ BEGIN;
|
||||||
\i utils/naming.sql
|
\i utils/naming.sql
|
||||||
\i utils/universe.sql
|
\i utils/universe.sql
|
||||||
SELECT _create_resources( 1 , 'resource' );
|
SELECT _create_resources( 1 , 'resource' );
|
||||||
|
SELECT _create_natural_resources( 1 , 'natRes' );
|
||||||
SELECT _create_emp_names( 1 , 'empire' );
|
SELECT _create_emp_names( 1 , 'empire' );
|
||||||
INSERT INTO emp.empires( name_id , cash )
|
INSERT INTO emp.empires( name_id , cash )
|
||||||
VALUES ( _get_emp_name( 'empire1' ) , 0 );
|
VALUES ( _get_emp_name( 'empire1' ) , 0 );
|
||||||
|
@ -18,19 +20,37 @@ BEGIN;
|
||||||
empire_id , resource_name_id , empres_possessed , empres_owed
|
empire_id , resource_name_id , empres_possessed , empres_owed
|
||||||
) VALUES (
|
) VALUES (
|
||||||
_get_emp_name( 'empire1' ) , _get_string( 'resource1' ) , 1 , 2
|
_get_emp_name( 'empire1' ) , _get_string( 'resource1' ) , 1 , 2
|
||||||
|
) , (
|
||||||
|
_get_emp_name( 'empire1' ) , _get_string( 'natRes1' ) , 3 , 4
|
||||||
|
);
|
||||||
|
INSERT INTO emp.mining_settings (
|
||||||
|
empire_id , resource_name_id , empmset_weight
|
||||||
|
) VALUES (
|
||||||
|
_get_emp_name( 'empire1' ) , _get_string( 'natRes1' ) , 0
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
||||||
/***** TESTS BEGIN HERE *****/
|
/***** TESTS BEGIN HERE *****/
|
||||||
SELECT plan( 1 );
|
SELECT plan( 2 );
|
||||||
|
|
||||||
SELECT diag_test_name( 'bugs.dump_emp_resources_view - Contents' );
|
SELECT diag_test_name( 'bugs.dump_emp_resources_view - Basic resources' );
|
||||||
SELECT set_eq( $$
|
SELECT set_eq( $$
|
||||||
SELECT empire_id , resource_name , empres_possessed , empres_owed
|
SELECT empire_id , resource_name , empres_possessed , empres_owed
|
||||||
FROM bugs.dump_emp_resources_view
|
FROM bugs.dump_emp_resources_view
|
||||||
|
WHERE mining_priority IS NULL
|
||||||
$$ , $$ VALUES (
|
$$ , $$ VALUES (
|
||||||
_get_emp_name( 'empire1' ) , 'resource1' , 1 , 2
|
_get_emp_name( 'empire1' ) , 'resource1' , 1 , 2
|
||||||
) $$ );
|
) $$ );
|
||||||
|
|
||||||
|
SELECT diag_test_name( 'bugs.dump_emp_resources_view - Natural resources' );
|
||||||
|
SELECT set_eq( $$
|
||||||
|
SELECT empire_id , resource_name , empres_possessed , empres_owed ,
|
||||||
|
mining_priority
|
||||||
|
FROM bugs.dump_emp_resources_view
|
||||||
|
WHERE mining_priority IS NOT NULL
|
||||||
|
$$ , $$ VALUES (
|
||||||
|
_get_emp_name( 'empire1' ) , 'natRes1' , 3 , 4 , 0
|
||||||
|
) $$ );
|
||||||
|
|
||||||
SELECT * FROM finish( );
|
SELECT * FROM finish( );
|
||||||
ROLLBACK;
|
ROLLBACK;
|
|
@ -3,10 +3,12 @@
|
||||||
*/
|
*/
|
||||||
BEGIN;
|
BEGIN;
|
||||||
/*
|
/*
|
||||||
* We need a couple of resources (one natural, one basic), three planets
|
* We need a couple of resources (one natural, one basic), four planets
|
||||||
* with valid planet resource records (two of the planets will have a
|
* with valid planet resource records (three of the planets will have a
|
||||||
* resource provider), two empires (owning a planet with and without
|
* resource provider and one of them will have planet-specific mining
|
||||||
* resource providers, respectively).
|
* settings), three empires (owning a planet without resource provider,
|
||||||
|
* with resource provider and with resource provider and mining settings,
|
||||||
|
* respectively).
|
||||||
*/
|
*/
|
||||||
\i utils/strings.sql
|
\i utils/strings.sql
|
||||||
\i utils/resources.sql
|
\i utils/resources.sql
|
||||||
|
@ -15,7 +17,7 @@ BEGIN;
|
||||||
\i utils/universe.sql
|
\i utils/universe.sql
|
||||||
SELECT _create_natural_resources( 1 , 'natRes' );
|
SELECT _create_natural_resources( 1 , 'natRes' );
|
||||||
SELECT _create_resources( 1 , 'basicRes' );
|
SELECT _create_resources( 1 , 'basicRes' );
|
||||||
SELECT _create_raw_planets( 3 , 'planet' );
|
SELECT _create_raw_planets( 4 , 'planet' );
|
||||||
INSERT INTO verse.planet_resources(
|
INSERT INTO verse.planet_resources(
|
||||||
planet_id , resource_name_id , pres_income , pres_upkeep
|
planet_id , resource_name_id , pres_income , pres_upkeep
|
||||||
) VALUES (
|
) VALUES (
|
||||||
|
@ -30,22 +32,37 @@ BEGIN;
|
||||||
_get_map_name( 'planet3' ) , _get_string( 'basicRes1' ) , 9 , 10
|
_get_map_name( 'planet3' ) , _get_string( 'basicRes1' ) , 9 , 10
|
||||||
) , (
|
) , (
|
||||||
_get_map_name( 'planet3' ) , _get_string( 'natRes1' ) , 11 , 12
|
_get_map_name( 'planet3' ) , _get_string( 'natRes1' ) , 11 , 12
|
||||||
|
) , (
|
||||||
|
_get_map_name( 'planet4' ) , _get_string( 'basicRes1' ) , 13 , 14
|
||||||
|
) , (
|
||||||
|
_get_map_name( 'planet4' ) , _get_string( 'natRes1' ) , 15 , 16
|
||||||
);
|
);
|
||||||
SELECT _create_resource_provider( 'planet1' , 'natRes1' );
|
SELECT _create_resource_provider( 'planet1' , 'natRes1' );
|
||||||
SELECT _create_resource_provider( 'planet3' , 'natRes1' );
|
SELECT _create_resource_provider( 'planet3' , 'natRes1' );
|
||||||
|
SELECT _create_resource_provider( 'planet4' , 'natRes1' );
|
||||||
|
|
||||||
SELECT _create_emp_names( 2 , 'empire' );
|
SELECT _create_emp_names( 3 , 'empire' );
|
||||||
SELECT emp.create_empire( _get_emp_name( 'empire1' ) ,
|
SELECT emp.create_empire( _get_emp_name( 'empire1' ) ,
|
||||||
_get_map_name( 'planet1' ) ,
|
_get_map_name( 'planet1' ) ,
|
||||||
200.0 );
|
200.0 );
|
||||||
SELECT emp.create_empire( _get_emp_name( 'empire2' ) ,
|
SELECT emp.create_empire( _get_emp_name( 'empire2' ) ,
|
||||||
_get_map_name( 'planet2' ) ,
|
_get_map_name( 'planet2' ) ,
|
||||||
200.0 );
|
200.0 );
|
||||||
|
SELECT emp.create_empire( _get_emp_name( 'empire3' ) ,
|
||||||
|
_get_map_name( 'planet4' ) ,
|
||||||
|
200.0 );
|
||||||
|
|
||||||
|
INSERT INTO emp.planet_mining_settings(
|
||||||
|
empire_id , planet_id , resource_name_id , emppmset_weight
|
||||||
|
) VALUES (
|
||||||
|
_get_emp_name( 'empire3' ) , _get_map_name( 'planet4' ) ,
|
||||||
|
_get_string( 'natRes1' ) , 2
|
||||||
|
);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/***** TESTS BEGIN HERE *****/
|
/***** TESTS BEGIN HERE *****/
|
||||||
SELECT plan( 2 );
|
SELECT plan( 3 );
|
||||||
|
|
||||||
SELECT diag_test_name( 'bugs.dump_planet_resources_view - Records without resource providers' );
|
SELECT diag_test_name( 'bugs.dump_planet_resources_view - Records without resource providers' );
|
||||||
SELECT set_eq( $$
|
SELECT set_eq( $$
|
||||||
|
@ -58,16 +75,30 @@ BEGIN;
|
||||||
_get_emp_name( 'empire2' ) , _get_map_name( 'planet2' ) , 'basicRes1' , 5 , 6
|
_get_emp_name( 'empire2' ) , _get_map_name( 'planet2' ) , 'basicRes1' , 5 , 6
|
||||||
) , (
|
) , (
|
||||||
_get_emp_name( 'empire2' ) , _get_map_name( 'planet2' ) , 'natRes1' , 7 , 8
|
_get_emp_name( 'empire2' ) , _get_map_name( 'planet2' ) , 'natRes1' , 7 , 8
|
||||||
|
) , (
|
||||||
|
_get_emp_name( 'empire3' ) , _get_map_name( 'planet4' ) , 'basicRes1' , 13 , 14
|
||||||
) $$ );
|
) $$ );
|
||||||
|
|
||||||
SELECT diag_test_name( 'bugs.dump_planet_resources_view - Records with resource providers' );
|
SELECT diag_test_name( 'bugs.dump_planet_resources_view - Records with resource providers, no settings' );
|
||||||
SELECT set_eq( $$
|
SELECT set_eq( $$
|
||||||
SELECT empire_id , planet_id , resource_name , pres_income , pres_upkeep
|
SELECT empire_id , planet_id , resource_name , pres_income , pres_upkeep
|
||||||
FROM bugs.dump_planet_resources_view
|
FROM bugs.dump_planet_resources_view
|
||||||
WHERE resprov_quantity IS NOT NULL
|
WHERE resprov_quantity IS NOT NULL
|
||||||
|
AND mining_priority IS NULL
|
||||||
$$ , $$ VALUES (
|
$$ , $$ VALUES (
|
||||||
_get_emp_name( 'empire1' ) , _get_map_name( 'planet1' ) , 'natRes1' , 3 , 4
|
_get_emp_name( 'empire1' ) , _get_map_name( 'planet1' ) , 'natRes1' , 3 , 4
|
||||||
) $$ );
|
) $$ );
|
||||||
|
|
||||||
|
SELECT diag_test_name( 'bugs.dump_planet_resources_view - Records with resource providers and settings' );
|
||||||
|
SELECT set_eq( $$
|
||||||
|
SELECT empire_id , planet_id , resource_name , pres_income ,
|
||||||
|
pres_upkeep , mining_priority
|
||||||
|
FROM bugs.dump_planet_resources_view
|
||||||
|
WHERE resprov_quantity IS NOT NULL
|
||||||
|
AND mining_priority IS NOT NULL
|
||||||
|
$$ , $$ VALUES (
|
||||||
|
_get_emp_name( 'empire3' ) , _get_map_name( 'planet4' ) , 'natRes1' , 15 , 16 , 2
|
||||||
|
) $$ );
|
||||||
|
|
||||||
SELECT * FROM finish( );
|
SELECT * FROM finish( );
|
||||||
ROLLBACK;
|
ROLLBACK;
|
|
@ -24,13 +24,22 @@ public class TestEmpireResourceInformationMapper
|
||||||
{
|
{
|
||||||
|
|
||||||
/** Resource identifier used in tests */
|
/** Resource identifier used in tests */
|
||||||
private static final String TEST_ID = "Test";
|
private static final String[] TEST_ID = {
|
||||||
|
"Test1" , "Test2"
|
||||||
|
};
|
||||||
|
|
||||||
/** "Owed" value used in tests */
|
/** "Owed" value used in tests */
|
||||||
private static final Double TEST_OWED = 1.0;
|
private static final Double[] TEST_OWED = {
|
||||||
|
1.0 , 2.0
|
||||||
|
};
|
||||||
|
|
||||||
/** "Possessed" value used in tests */
|
/** "Possessed" value used in tests */
|
||||||
private static final Double TEST_POSSESSED = 2.0;
|
private static final Double[] TEST_POSSESSED = {
|
||||||
|
3.0 , 4.0
|
||||||
|
};
|
||||||
|
|
||||||
|
/** Mining priority used in tests */
|
||||||
|
private static final Integer TEST_PRIORITY = 5;
|
||||||
|
|
||||||
/** The fake result set used in the tests */
|
/** The fake result set used in the tests */
|
||||||
private ResultSet resultSet;
|
private ResultSet resultSet;
|
||||||
|
@ -46,18 +55,23 @@ public class TestEmpireResourceInformationMapper
|
||||||
{
|
{
|
||||||
this.mapper = new EmpireResourceInformationMapper( );
|
this.mapper = new EmpireResourceInformationMapper( );
|
||||||
|
|
||||||
|
HashMap< String , Object > rows[] = new HashMap[ 2 ];
|
||||||
|
for ( int i = 0 ; i < 2 ; i++ ) {
|
||||||
HashMap< String , Object > row = new HashMap< String , Object >( );
|
HashMap< String , Object > row = new HashMap< String , Object >( );
|
||||||
row.put( "resource_name" , TEST_ID );
|
row.put( "resource_name" , TEST_ID[ i ] );
|
||||||
row.put( "empres_possessed" , TEST_POSSESSED );
|
row.put( "empres_possessed" , TEST_POSSESSED[ i ] );
|
||||||
row.put( "empres_owed" , TEST_OWED );
|
row.put( "empres_owed" , TEST_OWED[ i ] );
|
||||||
|
if ( i == 1 ) {
|
||||||
|
row.put( "mining_priority" , TEST_PRIORITY );
|
||||||
|
}
|
||||||
|
rows[ i ] = row;
|
||||||
|
}
|
||||||
|
|
||||||
this.resultSet = MockResultSet.create( new HashMap[] {
|
this.resultSet = MockResultSet.create( rows );
|
||||||
row
|
|
||||||
} );
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/** Mapping a row */
|
/** Mapping a row without mining priority */
|
||||||
@Test
|
@Test
|
||||||
public void testMapRow( )
|
public void testMapRow( )
|
||||||
throws SQLException
|
throws SQLException
|
||||||
|
@ -67,8 +81,26 @@ public class TestEmpireResourceInformationMapper
|
||||||
this.resultSet.absolute( 1 );
|
this.resultSet.absolute( 1 );
|
||||||
empRes = this.mapper.mapRow( this.resultSet , 1 );
|
empRes = this.mapper.mapRow( this.resultSet , 1 );
|
||||||
|
|
||||||
assertEquals( TEST_ID , empRes.getResource( ) );
|
assertEquals( TEST_ID[ 0 ] , empRes.getResource( ) );
|
||||||
assertEquals( TEST_POSSESSED , empRes.getPossessed( ) );
|
assertEquals( TEST_POSSESSED[ 0 ] , empRes.getPossessed( ) );
|
||||||
assertEquals( TEST_OWED , empRes.getOwed( ) );
|
assertEquals( TEST_OWED[ 0 ] , empRes.getOwed( ) );
|
||||||
|
assertNull( empRes.getMiningPriority( ) );
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/** Mapping a row with mining priority */
|
||||||
|
@Test
|
||||||
|
public void testMapRowWithPriority( )
|
||||||
|
throws SQLException
|
||||||
|
{
|
||||||
|
EmpireResourceInformation empRes;
|
||||||
|
|
||||||
|
this.resultSet.absolute( 2 );
|
||||||
|
empRes = this.mapper.mapRow( this.resultSet , 2 );
|
||||||
|
|
||||||
|
assertEquals( TEST_ID[ 1 ] , empRes.getResource( ) );
|
||||||
|
assertEquals( TEST_POSSESSED[ 1 ] , empRes.getPossessed( ) );
|
||||||
|
assertEquals( TEST_OWED[ 1 ] , empRes.getOwed( ) );
|
||||||
|
assertEquals( TEST_PRIORITY , empRes.getMiningPriority( ) );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -22,35 +22,46 @@ public class TestResourceRowMapper
|
||||||
{
|
{
|
||||||
/** Planet identifiers found in the "results" */
|
/** Planet identifiers found in the "results" */
|
||||||
private static final int[] PLANET_IDS = new int[] {
|
private static final int[] PLANET_IDS = new int[] {
|
||||||
1 , 2
|
1 , 2 , 3
|
||||||
};
|
};
|
||||||
|
|
||||||
/** Resource names found in the two "results", respectively */
|
/** Resource names found in the three "results", respectively */
|
||||||
private static final String[] RESOURCE_NAMES = new String[] {
|
private static final String[] RESOURCE_NAMES = new String[] {
|
||||||
"Test1" , "Test2"
|
"Test1" , "Test2" , "Test3"
|
||||||
};
|
};
|
||||||
|
|
||||||
/** Income values found in the two results */
|
/** Income values found in the three results */
|
||||||
private static final double[] INCOME_VALUES = new double[] {
|
private static final double[] INCOME_VALUES = new double[] {
|
||||||
3.0 , 4.0
|
4.0 , 5.0 , 6.0
|
||||||
};
|
};
|
||||||
|
|
||||||
/** Upkeep values found in the two results */
|
/** Upkeep values found in the three results */
|
||||||
private static final double[] UPKEEP_VALUES = new double[] {
|
private static final double[] UPKEEP_VALUES = new double[] {
|
||||||
5.0 , 6.0
|
7.0 , 8.0 , 9.0
|
||||||
};
|
};
|
||||||
|
|
||||||
/** Resource provider quantity for the second row */
|
/** Resource provider quantity for the second and third rows */
|
||||||
private static final double RP_QUANTITY = 7.0;
|
private static final double[] RP_QUANTITY = {
|
||||||
|
10.0 , 11.0
|
||||||
|
};
|
||||||
|
|
||||||
/** Resource provider capacity for the second row */
|
/** Resource provider capacity for the second and third rows */
|
||||||
private static final double RP_CAPACITY = 8.0;
|
private static final double[] RP_CAPACITY = {
|
||||||
|
12.0 , 13.0
|
||||||
|
};
|
||||||
|
|
||||||
/** Resource provider extraction difficulty for the second row */
|
/** Resource provider extraction difficulty for the second and third rows */
|
||||||
private static final double RP_DIFFICULTY = 9.0;
|
private static final double[] RP_DIFFICULTY = {
|
||||||
|
14.0 , 15.0
|
||||||
|
};
|
||||||
|
|
||||||
/** Resource provider recovery rate for the second row */
|
/** Resource provider recovery rate for the second and third rows */
|
||||||
private static final double RP_RECOVERY = 10.0;
|
private static final double[] RP_RECOVERY = {
|
||||||
|
16.0 , 17.0
|
||||||
|
};
|
||||||
|
|
||||||
|
/** Mining priority value used for the third row */
|
||||||
|
private static final Integer MINING_PRIORITY = 18;
|
||||||
|
|
||||||
/** The fake result set used in the tests */
|
/** The fake result set used in the tests */
|
||||||
private ResultSet resultSet;
|
private ResultSet resultSet;
|
||||||
|
@ -66,18 +77,21 @@ public class TestResourceRowMapper
|
||||||
this.mapper = new ResourceRowMapper( );
|
this.mapper = new ResourceRowMapper( );
|
||||||
|
|
||||||
@SuppressWarnings( "unchecked" )
|
@SuppressWarnings( "unchecked" )
|
||||||
HashMap< String , Object > rows[] = new HashMap[ 2 ];
|
HashMap< String , Object > rows[] = new HashMap[ 3 ];
|
||||||
for ( int i = 0 ; i < 2 ; i++ ) {
|
for ( int i = 0 ; i < 3 ; i++ ) {
|
||||||
HashMap< String , Object > row = new HashMap< String , Object >( );
|
HashMap< String , Object > row = new HashMap< String , Object >( );
|
||||||
row.put( "planet_id" , PLANET_IDS[ i ] );
|
row.put( "planet_id" , PLANET_IDS[ i ] );
|
||||||
row.put( "resource_name" , RESOURCE_NAMES[ i ] );
|
row.put( "resource_name" , RESOURCE_NAMES[ i ] );
|
||||||
row.put( "pres_income" , INCOME_VALUES[ i ] );
|
row.put( "pres_income" , INCOME_VALUES[ i ] );
|
||||||
row.put( "pres_upkeep" , UPKEEP_VALUES[ i ] );
|
row.put( "pres_upkeep" , UPKEEP_VALUES[ i ] );
|
||||||
if ( i == 1 ) {
|
if ( i > 0 ) {
|
||||||
row.put( "resprov_quantity_max" , RP_CAPACITY );
|
row.put( "resprov_quantity_max" , RP_CAPACITY[ i - 1 ] );
|
||||||
row.put( "resprov_quantity" , RP_QUANTITY );
|
row.put( "resprov_quantity" , RP_QUANTITY[ i - 1 ] );
|
||||||
row.put( "resprov_difficulty" , RP_DIFFICULTY );
|
row.put( "resprov_difficulty" , RP_DIFFICULTY[ i - 1 ] );
|
||||||
row.put( "resprov_recovery" , RP_RECOVERY );
|
row.put( "resprov_recovery" , RP_RECOVERY[ i - 1 ] );
|
||||||
|
if ( i > 1 ) {
|
||||||
|
row.put( "mining_priority" , MINING_PRIORITY );
|
||||||
|
}
|
||||||
}
|
}
|
||||||
rows[ i ] = row;
|
rows[ i ] = row;
|
||||||
}
|
}
|
||||||
|
@ -106,7 +120,7 @@ public class TestResourceRowMapper
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Mapping a row with a provider information record
|
* Mapping a row with a provider information record but no mining priority
|
||||||
*/
|
*/
|
||||||
@Test
|
@Test
|
||||||
public void testMapWithProvider( )
|
public void testMapWithProvider( )
|
||||||
|
@ -121,9 +135,34 @@ public class TestResourceRowMapper
|
||||||
assertEquals( INCOME_VALUES[ 1 ] , row.getDelta( ).getIncome( ) , 0 );
|
assertEquals( INCOME_VALUES[ 1 ] , row.getDelta( ).getIncome( ) , 0 );
|
||||||
assertEquals( UPKEEP_VALUES[ 1 ] , row.getDelta( ).getUpkeep( ) , 0 );
|
assertEquals( UPKEEP_VALUES[ 1 ] , row.getDelta( ).getUpkeep( ) , 0 );
|
||||||
assertNotNull( row.getProvider( ) );
|
assertNotNull( row.getProvider( ) );
|
||||||
assertEquals( RP_CAPACITY , row.getProvider( ).getMaximalQuantity( ) , 0 );
|
assertEquals( RP_CAPACITY[ 0 ] , row.getProvider( ).getMaximalQuantity( ) , 0 );
|
||||||
assertEquals( RP_QUANTITY , row.getProvider( ).getCurrentQuantity( ) , 0 );
|
assertEquals( RP_QUANTITY[ 0 ] , row.getProvider( ).getCurrentQuantity( ) , 0 );
|
||||||
assertEquals( RP_DIFFICULTY , row.getProvider( ).getDifficulty( ) , 0 );
|
assertEquals( RP_DIFFICULTY[ 0 ] , row.getProvider( ).getDifficulty( ) , 0 );
|
||||||
assertEquals( RP_RECOVERY , row.getProvider( ).getRecovery( ) , 0 );
|
assertEquals( RP_RECOVERY[ 0 ] , row.getProvider( ).getRecovery( ) , 0 );
|
||||||
|
assertNull( row.getProvider( ).getMiningPriority( ) );
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Mapping a row with a provider information record and a mining priority
|
||||||
|
*/
|
||||||
|
@Test
|
||||||
|
public void testMapWithPriority( )
|
||||||
|
throws SQLException
|
||||||
|
{
|
||||||
|
this.resultSet.absolute( 3 );
|
||||||
|
|
||||||
|
PlanetResourceRow row = this.mapper.mapRow( this.resultSet , 0 );
|
||||||
|
assertNotNull( row );
|
||||||
|
assertEquals( PLANET_IDS[ 2 ] , row.getPlanetId( ) );
|
||||||
|
assertEquals( RESOURCE_NAMES[ 2 ] , row.getDelta( ).getResource( ) );
|
||||||
|
assertEquals( INCOME_VALUES[ 2 ] , row.getDelta( ).getIncome( ) , 0 );
|
||||||
|
assertEquals( UPKEEP_VALUES[ 2 ] , row.getDelta( ).getUpkeep( ) , 0 );
|
||||||
|
assertNotNull( row.getProvider( ) );
|
||||||
|
assertEquals( RP_CAPACITY[ 1 ] , row.getProvider( ).getMaximalQuantity( ) , 0 );
|
||||||
|
assertEquals( RP_QUANTITY[ 1 ] , row.getProvider( ).getCurrentQuantity( ) , 0 );
|
||||||
|
assertEquals( RP_DIFFICULTY[ 1 ] , row.getProvider( ).getDifficulty( ) , 0 );
|
||||||
|
assertEquals( RP_RECOVERY[ 1 ] , row.getProvider( ).getRecovery( ) , 0 );
|
||||||
|
assertEquals( MINING_PRIORITY , row.getProvider( ).getMiningPriority( ) );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -27,6 +27,9 @@ public class TestEmpireResourceInformation
|
||||||
/** "Possessed" value used in tests */
|
/** "Possessed" value used in tests */
|
||||||
private static final Double TEST_POSSESSED = 2.0;
|
private static final Double TEST_POSSESSED = 2.0;
|
||||||
|
|
||||||
|
/** Mining priority value used in tests */
|
||||||
|
private static final Integer TEST_PRIORITY = 3;
|
||||||
|
|
||||||
/** Empire resource information instance used in tests */
|
/** Empire resource information instance used in tests */
|
||||||
private EmpireResourceInformation empRes;
|
private EmpireResourceInformation empRes;
|
||||||
|
|
||||||
|
@ -46,6 +49,7 @@ public class TestEmpireResourceInformation
|
||||||
assertNull( this.empRes.getResource( ) );
|
assertNull( this.empRes.getResource( ) );
|
||||||
assertNull( this.empRes.getOwed( ) );
|
assertNull( this.empRes.getOwed( ) );
|
||||||
assertNull( this.empRes.getPossessed( ) );
|
assertNull( this.empRes.getPossessed( ) );
|
||||||
|
assertNull( this.empRes.getMiningPriority( ) );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -90,7 +94,16 @@ public class TestEmpireResourceInformation
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/** Serialising the instance to XML */
|
/** Setting and reading the mining priority */
|
||||||
|
@Test
|
||||||
|
public void testMiningPriority( )
|
||||||
|
{
|
||||||
|
this.empRes.setMiningPriority( TEST_PRIORITY );
|
||||||
|
assertEquals( TEST_PRIORITY , this.empRes.getMiningPriority( ) );
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/** Serialising the instance to XML - no mining priority */
|
||||||
@Test
|
@Test
|
||||||
public void testXMLSerialisation( )
|
public void testXMLSerialisation( )
|
||||||
{
|
{
|
||||||
|
@ -105,10 +118,31 @@ public class TestEmpireResourceInformation
|
||||||
assertTrue( serialised.contains( " id=\"" + TEST_ID + "\"" ) );
|
assertTrue( serialised.contains( " id=\"" + TEST_ID + "\"" ) );
|
||||||
assertTrue( serialised.contains( " owed=\"" + TEST_OWED + "\"" ) );
|
assertTrue( serialised.contains( " owed=\"" + TEST_OWED + "\"" ) );
|
||||||
assertTrue( serialised.contains( " possessed=\"" + TEST_POSSESSED + "\"" ) );
|
assertTrue( serialised.contains( " possessed=\"" + TEST_POSSESSED + "\"" ) );
|
||||||
|
assertFalse( serialised.contains( "mining-priority=\"" ) );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/** Deserialising an instance from XML */
|
/** Serialising the instance to XML - including mining priority */
|
||||||
|
@Test
|
||||||
|
public void testXMLSerialisationWithPriority( )
|
||||||
|
{
|
||||||
|
this.empRes.setResource( TEST_ID );
|
||||||
|
this.empRes.setOwed( TEST_OWED );
|
||||||
|
this.empRes.setPossessed( TEST_POSSESSED );
|
||||||
|
this.empRes.setMiningPriority( TEST_PRIORITY );
|
||||||
|
|
||||||
|
String serialised = this.createXStreamInstance( ).toXML( this.empRes );
|
||||||
|
assertNotNull( serialised );
|
||||||
|
assertTrue( serialised.startsWith( "<resource " ) );
|
||||||
|
assertTrue( serialised.endsWith( "/>" ) );
|
||||||
|
assertTrue( serialised.contains( " id=\"" + TEST_ID + "\"" ) );
|
||||||
|
assertTrue( serialised.contains( " owed=\"" + TEST_OWED + "\"" ) );
|
||||||
|
assertTrue( serialised.contains( " possessed=\"" + TEST_POSSESSED + "\"" ) );
|
||||||
|
assertTrue( serialised.contains( " mining-priority=\"" + TEST_PRIORITY + "\"" ) );
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/** Deserialising an instance from XML - no mining priority */
|
||||||
@Test
|
@Test
|
||||||
public void testXMLDeserialisation( )
|
public void testXMLDeserialisation( )
|
||||||
{
|
{
|
||||||
|
@ -123,6 +157,26 @@ public class TestEmpireResourceInformation
|
||||||
assertEquals( TEST_ID , this.empRes.getResource( ) );
|
assertEquals( TEST_ID , this.empRes.getResource( ) );
|
||||||
assertEquals( TEST_POSSESSED , this.empRes.getPossessed( ) );
|
assertEquals( TEST_POSSESSED , this.empRes.getPossessed( ) );
|
||||||
assertEquals( TEST_OWED , this.empRes.getOwed( ) );
|
assertEquals( TEST_OWED , this.empRes.getOwed( ) );
|
||||||
|
assertNull( this.empRes.getMiningPriority( ) );
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/** Deserialising an instance from XML - including mining priority */
|
||||||
|
@Test
|
||||||
|
public void testXMLDeserialisationWithPriority( )
|
||||||
|
{
|
||||||
|
String xml = "<resource id=\"" + TEST_ID + "\" owed=\"" + TEST_OWED.toString( ) + "\" possessed=\""
|
||||||
|
+ TEST_POSSESSED.toString( ) + "\" mining-priority=\"" + TEST_PRIORITY.toString( ) + "\" />";
|
||||||
|
Object deserialised = this.createXStreamInstance( ).fromXML( xml );
|
||||||
|
|
||||||
|
assertNotNull( deserialised );
|
||||||
|
assertEquals( EmpireResourceInformation.class , deserialised.getClass( ) );
|
||||||
|
this.empRes = (EmpireResourceInformation) deserialised;
|
||||||
|
|
||||||
|
assertEquals( TEST_ID , this.empRes.getResource( ) );
|
||||||
|
assertEquals( TEST_POSSESSED , this.empRes.getPossessed( ) );
|
||||||
|
assertEquals( TEST_OWED , this.empRes.getOwed( ) );
|
||||||
|
assertEquals( TEST_PRIORITY , this.empRes.getMiningPriority( ) );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -2,6 +2,7 @@ package com.deepclone.lw.beans.bt.es.data;
|
||||||
|
|
||||||
|
|
||||||
import static org.junit.Assert.assertEquals;
|
import static org.junit.Assert.assertEquals;
|
||||||
|
import static org.junit.Assert.assertFalse;
|
||||||
import static org.junit.Assert.assertNotNull;
|
import static org.junit.Assert.assertNotNull;
|
||||||
import static org.junit.Assert.assertNull;
|
import static org.junit.Assert.assertNull;
|
||||||
import static org.junit.Assert.assertTrue;
|
import static org.junit.Assert.assertTrue;
|
||||||
|
@ -27,6 +28,9 @@ public class TestResourceProviderInformation
|
||||||
/** A real number used in tests */
|
/** A real number used in tests */
|
||||||
private static final Double TEST_DOUBLE = 4.2;
|
private static final Double TEST_DOUBLE = 4.2;
|
||||||
|
|
||||||
|
/** Mining priority value used in tests */
|
||||||
|
private static final Integer TEST_PRIORITY = 3;
|
||||||
|
|
||||||
/** A resource provider information record */
|
/** A resource provider information record */
|
||||||
private ResourceProviderInformation rpi;
|
private ResourceProviderInformation rpi;
|
||||||
|
|
||||||
|
@ -49,6 +53,7 @@ public class TestResourceProviderInformation
|
||||||
assertNull( this.rpi.getMaximalQuantity( ) );
|
assertNull( this.rpi.getMaximalQuantity( ) );
|
||||||
assertNull( this.rpi.getDifficulty( ) );
|
assertNull( this.rpi.getDifficulty( ) );
|
||||||
assertNull( this.rpi.getRecovery( ) );
|
assertNull( this.rpi.getRecovery( ) );
|
||||||
|
assertNull( this.rpi.getMiningPriority( ) );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -124,7 +129,18 @@ public class TestResourceProviderInformation
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Serialising the instance to XML
|
* Setting and reading the mining priority
|
||||||
|
*/
|
||||||
|
@Test
|
||||||
|
public void testMiningPriority( )
|
||||||
|
{
|
||||||
|
this.rpi.setMiningPriority( TEST_PRIORITY );
|
||||||
|
assertEquals( TEST_PRIORITY , this.rpi.getMiningPriority( ) );
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Serialising the instance to XML, without mining priority
|
||||||
*/
|
*/
|
||||||
@Test
|
@Test
|
||||||
public void testXMLSerialisation( )
|
public void testXMLSerialisation( )
|
||||||
|
@ -145,11 +161,39 @@ public class TestResourceProviderInformation
|
||||||
assertTrue( serialised.contains( " max=\"0.2\"" ) );
|
assertTrue( serialised.contains( " max=\"0.2\"" ) );
|
||||||
assertTrue( serialised.contains( " difficulty=\"0.3\"" ) );
|
assertTrue( serialised.contains( " difficulty=\"0.3\"" ) );
|
||||||
assertTrue( serialised.contains( " recovery=\"0.4\"" ) );
|
assertTrue( serialised.contains( " recovery=\"0.4\"" ) );
|
||||||
|
assertFalse( serialised.contains( "mining-priority=" ) );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Deserialising an instance that contains data
|
* Serialising the instance to XML, with a mining priority
|
||||||
|
*/
|
||||||
|
@Test
|
||||||
|
public void testXMLSerialisationWithPriority( )
|
||||||
|
{
|
||||||
|
this.rpi.setResource( TEST_STRING );
|
||||||
|
this.rpi.setCurrentQuantity( 0.1 );
|
||||||
|
this.rpi.setMaximalQuantity( 0.2 );
|
||||||
|
this.rpi.setDifficulty( 0.3 );
|
||||||
|
this.rpi.setRecovery( 0.4 );
|
||||||
|
this.rpi.setMiningPriority( TEST_PRIORITY );
|
||||||
|
|
||||||
|
XStream xstream = this.createXStreamInstance( );
|
||||||
|
String serialised = xstream.toXML( this.rpi );
|
||||||
|
assertNotNull( serialised );
|
||||||
|
assertTrue( serialised.startsWith( "<resource-provider " ) );
|
||||||
|
assertTrue( serialised.endsWith( "/>" ) );
|
||||||
|
assertTrue( serialised.contains( " resource=\"" + TEST_STRING + "\"" ) );
|
||||||
|
assertTrue( serialised.contains( " current=\"0.1\"" ) );
|
||||||
|
assertTrue( serialised.contains( " max=\"0.2\"" ) );
|
||||||
|
assertTrue( serialised.contains( " difficulty=\"0.3\"" ) );
|
||||||
|
assertTrue( serialised.contains( " recovery=\"0.4\"" ) );
|
||||||
|
assertTrue( serialised.contains( " mining-priority=\"" + TEST_PRIORITY.toString( ) + "\"" ) );
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Deserialising an instance - no mining priority
|
||||||
*/
|
*/
|
||||||
@Test
|
@Test
|
||||||
public void testXMLDeserialisation( )
|
public void testXMLDeserialisation( )
|
||||||
|
@ -167,16 +211,19 @@ public class TestResourceProviderInformation
|
||||||
assertEquals( (Double) 0.2 , this.rpi.getMaximalQuantity( ) );
|
assertEquals( (Double) 0.2 , this.rpi.getMaximalQuantity( ) );
|
||||||
assertEquals( (Double) 0.3 , this.rpi.getDifficulty( ) );
|
assertEquals( (Double) 0.3 , this.rpi.getDifficulty( ) );
|
||||||
assertEquals( (Double) 0.4 , this.rpi.getRecovery( ) );
|
assertEquals( (Double) 0.4 , this.rpi.getRecovery( ) );
|
||||||
|
assertNull( this.rpi.getMiningPriority( ) );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Deserialising an instance that contains no data
|
* Deserialising an instance with mining priority
|
||||||
*/
|
*/
|
||||||
@Test
|
@Test
|
||||||
public void testXMLDeserialisationNoData( )
|
public void testXMLDeserialisationWithPriority( )
|
||||||
{
|
{
|
||||||
String xml = "<resource-provider />";
|
String xml = "<resource-provider resource=\"" + TEST_STRING
|
||||||
|
+ "\" current=\"0.1\" max=\"0.2\" difficulty=\"0.3\" recovery=\"0.4\" mining-priority=\""
|
||||||
|
+ TEST_PRIORITY.toString( ) + "\" />";
|
||||||
XStream xstream = this.createXStreamInstance( );
|
XStream xstream = this.createXStreamInstance( );
|
||||||
Object deserialised = xstream.fromXML( xml );
|
Object deserialised = xstream.fromXML( xml );
|
||||||
|
|
||||||
|
@ -184,11 +231,13 @@ public class TestResourceProviderInformation
|
||||||
assertEquals( ResourceProviderInformation.class , deserialised.getClass( ) );
|
assertEquals( ResourceProviderInformation.class , deserialised.getClass( ) );
|
||||||
this.rpi = (ResourceProviderInformation) deserialised;
|
this.rpi = (ResourceProviderInformation) deserialised;
|
||||||
|
|
||||||
assertNull( this.rpi.getResource( ) );
|
assertEquals( TEST_STRING , this.rpi.getResource( ) );
|
||||||
assertNull( this.rpi.getCurrentQuantity( ) );
|
assertEquals( (Double) 0.1 , this.rpi.getCurrentQuantity( ) );
|
||||||
assertNull( this.rpi.getMaximalQuantity( ) );
|
assertEquals( (Double) 0.2 , this.rpi.getMaximalQuantity( ) );
|
||||||
assertNull( this.rpi.getDifficulty( ) );
|
assertEquals( (Double) 0.3 , this.rpi.getDifficulty( ) );
|
||||||
assertNull( this.rpi.getRecovery( ) );
|
assertEquals( (Double) 0.4 , this.rpi.getRecovery( ) );
|
||||||
|
assertEquals( TEST_PRIORITY , this.rpi.getMiningPriority( ) );
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
Reference in a new issue