@ -1,4 +1,6 @@
//Setup some enum's
/////////////////////////////////////////////////////////////////
////////BEGIN THIS CODE LIVES IN TAMPERMONKEY.JS = THIS IS A COPY
const Presidence = Object . freeze ( {
General : "general" ,
Row : "row" ,
@ -25,6 +27,105 @@ const Capsource = Object.freeze({
General : "general"
} )
const CapTrigger = Object . freeze ( {
None : "None" ,
General : "General" ,
Row : "Row"
} )
function getTrueCap ( isGeneralCapEnabled , isRowCapIsEnabled , presidenceValue , generalCapValue , rowCapValue ) {
//Our response object
function trueCap ( trigger , value ) {
let response = { } ;
response . trigger = trigger ;
response . value = value ;
return response ;
}
trueCap . trigger = CapTrigger . None ; //Used to identify which cap the trueCap value was derived from.
trueCap . value = null ; //The actual calculated true cap
//Do some error handling to start off
if ( isGeneralCapEnabled == true && generalCapValue == null ) {
if ( verboseLevel >= 1 ) {
console . warn ( "GeneralCap is enabled but the GeneralCapValue is not set - Acting as if GeneralCap was not enabled." ) ;
}
isGeneralCapEnabled = false ;
}
if ( isRowCapIsEnabled == true && rowCapValue == null ) {
if ( verboseLevel >= 1 ) {
console . warn ( "RowCap is enabled but the RowCapValue is not set - Acting as if RowCap was not enabled." ) ;
}
isRowCapIsEnabled = false ;
}
//Now our actual logic begins
if ( isGeneralCapEnabled == false && isRowCapIsEnabled == false ) {
return trueCap ( CapTrigger . None , null ) ; //No cap available to return
}
if ( isRowCapIsEnabled == true && rowCapValue == null ) {
//console.warn("RowCap is enabled but the RowCapValue is not set");
return trueCap ( CapTrigger . None , null ) ; //No cap available to return
}
if ( isGeneralCapEnabled == true ) {
switch ( presidenceValue ) {
case Presidence . General :
//General wins
return trueCap ( CapTrigger . General , generalCapValue ) ;
case Presidence . Row :
if ( isRowCapIsEnabled == true ) {
//Row wins
return trueCap ( CapTrigger . Row , rowCapValue ) ;
}
return trueCap ( CapTrigger . General , generalCapValue ) ;
case Presidence . Highest :
if ( isRowCapIsEnabled == true ) {
//Figure out which is higher
if ( rowCapValue > generalCapValue ) {
//Row wins
return trueCap ( CapTrigger . Row , rowCapValue ) ;
}
}
return trueCap ( CapTrigger . General , generalCapValue ) ; ;
case Presidence . Lowest :
if ( isRowCapIsEnabled == true ) {
if ( rowCapValue < generalCapValue ) {
//Row wins
return trueCap ( CapTrigger . Row , rowCapValue ) ;
}
}
return trueCap ( CapTrigger . General , generalCapValue ) ; ;
default :
return trueCap ( CapTrigger . General , generalCapValue ) ; ;
}
return trueCap ( CapTrigger . General , generalCapValue ) ; ;
}
//If we made it here then generalCap is not enabled but the row cap may still be enabled
if ( isRowCapIsEnabled == true ) {
return trueCap ( CapTrigger . Row , rowCapValue ) ;
}
//We should never get here
return trueCap ( CapTrigger . None , null ) ;
}
////////END THIS CODE LIVES IN TAMPERMONKEY.JS = THIS IS A COPY
///////////////////////////////////////////////////////////////
//Setup some enum's
const TestResult = Object . freeze ( {
Pass : "Pass" ,
Fail : "Fail"
@ -1138,89 +1239,24 @@ function getExpectedOutcomes_where_only_a_GeneralCap_can_be_triggered(){
return expectedOutcomes ;
}
function getTrueCap ( isGeneralCapEnabled , isRowCapIsEnabled , presidenceValue , generalCapValue , rowCapValue ) {
//Do some error handling to start off
if ( isGeneralCapEnabled == true && generalCapValue == null ) {
if ( verboseLevel >= 1 ) {
console . warn ( "GeneralCap is enabled but the GeneralCapValue is not set - Acting as if GeneralCap was not enabled." ) ;
}
isGeneralCapEnabled = false ;
}
if ( isRowCapIsEnabled == true && rowCapValue == null ) {
if ( verboseLevel >= 1 ) {
console . warn ( "RowCap is enabled but the RowCapValue is not set - Acting as if RowCap was not enabled." ) ;
}
isRowCapIsEnabled = false ;
}
//Now our actual logic begins
if ( isGeneralCapEnabled == false && isRowCapIsEnabled == false ) {
return null ; //No cap available to return
}
if ( isRowCapIsEnabled == true && rowCapValue == null ) {
//console.warn("RowCap is enabled but the RowCapValue is not set");
return null ;
}
if ( isGeneralCapEnabled == true ) {
switch ( presidenceValue ) {
case Presidence . General :
//General wins
return generalCapValue ;
case Presidence . Row :
if ( isRowCapIsEnabled == true ) {
//Row wins
return rowCapValue ;
}
return generalCapValue ;
case Presidence . Highest :
if ( isRowCapIsEnabled == true ) {
//Figure out which is higher
if ( rowCapValue > generalCapValue ) {
//Row wins
return rowCapValue ;
}
}
return generalCapValue ;
function getTrueCapAsTestResult ( isGeneralCapEnabled , isRowCapIsEnabled , presidenceValue , generalCapValue , rowCapValue ) {
//This is a helper method to help make testing results a bit easier.
const trueCap = getTrueCap ( isGeneralCapEnabled , isRowCapIsEnabled , presidenceValue , generalCapValue , rowCapValue )
return [ trueCap . trigger , trueCap . value ] ;
}
case Presidence . Lowest :
if ( isRowCapIsEnabled == true ) {
if ( rowCapValue < generalCapValue ) {
//Row wins
return rowCapValue ;
function assertEqual ( given , expected ) {
if ( typeof ( given ) === "object" ) {
if ( Array . isArray ( given ) ) {
given += "" ;
}
}
return generalCapValue ;
default :
return generalCapValue ;
}
return generalCapValue ;
if ( typeof ( expected ) === "object" ) {
if ( Array . isArray ( expected ) ) {
expected += "" ;
}
//If we made it here then generalCap is not enabled but the row cap may still be enabled
if ( isRowCapIsEnabled == true ) {
return rowCapValue ;
}
//We should never get here
return null ;
}
//Setup our scenarios and expected values
const useCases = getUseCases_where_only_a_GeneralCap_can_be_triggered ( ) ;
const expectedOutcomes = getExpectedOutcomes_where_only_a_GeneralCap_can_be_triggered ( ) ;
const verboseLevel = 0 ;
//const testResults = executeTests(useCases, expectedOutcomes, verboseLevel);
function assertEqual ( given , expected ) {
let areEqual = ( given == expected ) ;
let retVal = { } ;
retVal . details = given + "==" + expected ;
@ -1239,138 +1275,210 @@ function print(name, test){
function test_GetTrueCaps_ReturnsExpectedValues ( ) {
//#General Presidence
//Neither caps enabled
print ( "a1" , assertEqual ( getTrueCap ( GeneralCapNotEnabled , RowCapNotEnabled , Presidence . General , null , null ) , null ) ) ;
print ( "a2" , assertEqual ( getTrueCap ( GeneralCapNotEnabled , RowCapNotEnabled , Presidence . General , null , 400 ) , null ) ) ;
print ( "a3" , assertEqual ( getTrueCap ( GeneralCapNotEnabled , RowCapNotEnabled , Presidence . General , 300 , null ) , null ) ) ;
print ( "a4" , assertEqual ( getTrueCap ( GeneralCapNotEnabled , RowCapNotEnabled , Presidence . General , 300 , 200 ) , null ) ) ;
print ( "a5" , assertEqual ( getTrueCap ( GeneralCapNotEnabled , RowCapNotEnabled , Presidence . General , 300 , 300 ) , null ) ) ;
print ( "a6" , assertEqual ( getTrueCap ( GeneralCapNotEnabled , RowCapNotEnabled , Presidence . General , 300 , 400 ) , null ) ) ;
print ( "a1" , assertEqual ( getTrueCap ( GeneralCapNotEnabled , RowCapNotEnabled , Presidence . General , null , null ) . value , null ) ) ;
print ( "a2" , assertEqual ( getTrueCap ( GeneralCapNotEnabled , RowCapNotEnabled , Presidence . General , null , 400 ) . value , null ) ) ;
print ( "a3" , assertEqual ( getTrueCap ( GeneralCapNotEnabled , RowCapNotEnabled , Presidence . General , 300 , null ) . value , null ) ) ;
print ( "a4" , assertEqual ( getTrueCap ( GeneralCapNotEnabled , RowCapNotEnabled , Presidence . General , 300 , 200 ) . value , null ) ) ;
print ( "a5" , assertEqual ( getTrueCap ( GeneralCapNotEnabled , RowCapNotEnabled , Presidence . General , 300 , 300 ) . value , null ) ) ;
print ( "a6" , assertEqual ( getTrueCap ( GeneralCapNotEnabled , RowCapNotEnabled , Presidence . General , 300 , 400 ) . value , null ) ) ;
//Only General cap enabled *****
print ( "b1" , assertEqual ( getTrueCap ( GeneralCapIsEnabled , RowCapNotEnabled , Presidence . General , null , null ) , null ) ) ; //Invalid situation -> a1
print ( "b2" , assertEqual ( getTrueCap ( GeneralCapIsEnabled , RowCapNotEnabled , Presidence . General , null , 400 ) , null ) ) ; //Invalid situation -> a2
print ( "b3" , assertEqual ( getTrueCap ( GeneralCapIsEnabled , RowCapNotEnabled , Presidence . General , 300 , null ) , 300 ) ) ;
print ( "b4" , assertEqual ( getTrueCap ( GeneralCapIsEnabled , RowCapNotEnabled , Presidence . General , 300 , 200 ) , 300 ) ) ;
print ( "b5" , assertEqual ( getTrueCap ( GeneralCapIsEnabled , RowCapNotEnabled , Presidence . General , 300 , 300 ) , 300 ) ) ;
print ( "b6" , assertEqual ( getTrueCap ( GeneralCapIsEnabled , RowCapNotEnabled , Presidence . General , 300 , 400 ) , 300 ) ) ;
print ( "b1" , assertEqual ( getTrueCap ( GeneralCapIsEnabled , RowCapNotEnabled , Presidence . General , null , null ) . value , null ) ) ; //Invalid situation -> a1
print ( "b2" , assertEqual ( getTrueCap ( GeneralCapIsEnabled , RowCapNotEnabled , Presidence . General , null , 400 ) . value , null ) ) ; //Invalid situation -> a2
print ( "b3" , assertEqual ( getTrueCap ( GeneralCapIsEnabled , RowCapNotEnabled , Presidence . General , 300 , null ) . value , 300 ) ) ;
print ( "b4" , assertEqual ( getTrueCap ( GeneralCapIsEnabled , RowCapNotEnabled , Presidence . General , 300 , 200 ) . value , 300 ) ) ;
print ( "b5" , assertEqual ( getTrueCap ( GeneralCapIsEnabled , RowCapNotEnabled , Presidence . General , 300 , 300 ) . value , 300 ) ) ;
print ( "b6" , assertEqual ( getTrueCap ( GeneralCapIsEnabled , RowCapNotEnabled , Presidence . General , 300 , 400 ) . value , 300 ) ) ;
//Both Caps are enabled ***** ***** ^^^^^
print ( "c1" , assertEqual ( getTrueCap ( GeneralCapIsEnabled , RowCapIsEnabled , Presidence . General , null , null ) , null ) ) ; //Invalid situation -> a1
print ( "c2" , assertEqual ( getTrueCap ( GeneralCapIsEnabled , RowCapIsEnabled , Presidence . General , null , 400 ) , 400 ) ) ; //Invalid situation -> d2
print ( "c3" , assertEqual ( getTrueCap ( GeneralCapIsEnabled , RowCapIsEnabled , Presidence . General , 300 , null ) , 300 ) ) ; //Invalid situation -> b3
print ( "c4" , assertEqual ( getTrueCap ( GeneralCapIsEnabled , RowCapIsEnabled , Presidence . General , 300 , 200 ) , 300 ) ) ;
print ( "c5" , assertEqual ( getTrueCap ( GeneralCapIsEnabled , RowCapIsEnabled , Presidence . General , 300 , 300 ) , 300 ) ) ;
print ( "c6" , assertEqual ( getTrueCap ( GeneralCapIsEnabled , RowCapIsEnabled , Presidence . General , 300 , 400 ) , 300 ) ) ;
print ( "c1" , assertEqual ( getTrueCap ( GeneralCapIsEnabled , RowCapIsEnabled , Presidence . General , null , null ) . value , null ) ) ; //Invalid situation -> a1
print ( "c2" , assertEqual ( getTrueCap ( GeneralCapIsEnabled , RowCapIsEnabled , Presidence . General , null , 400 ) . value , 400 ) ) ; //Invalid situation -> d2
print ( "c3" , assertEqual ( getTrueCap ( GeneralCapIsEnabled , RowCapIsEnabled , Presidence . General , 300 , null ) . value , 300 ) ) ; //Invalid situation -> b3
print ( "c4" , assertEqual ( getTrueCap ( GeneralCapIsEnabled , RowCapIsEnabled , Presidence . General , 300 , 200 ) . value , 300 ) ) ;
print ( "c5" , assertEqual ( getTrueCap ( GeneralCapIsEnabled , RowCapIsEnabled , Presidence . General , 300 , 300 ) . value , 300 ) ) ;
print ( "c6" , assertEqual ( getTrueCap ( GeneralCapIsEnabled , RowCapIsEnabled , Presidence . General , 300 , 400 ) . value , 300 ) ) ;
//Only Row Cap enabled *****
print ( "d1" , assertEqual ( getTrueCap ( GeneralCapNotEnabled , RowCapIsEnabled , Presidence . General , null , null ) , null ) ) ; //Invalid situation -> a1
print ( "d2" , assertEqual ( getTrueCap ( GeneralCapNotEnabled , RowCapIsEnabled , Presidence . General , null , 400 ) , 400 ) ) ;
print ( "d3" , assertEqual ( getTrueCap ( GeneralCapNotEnabled , RowCapIsEnabled , Presidence . General , 300 , null ) , null ) ) ; //Invalid situation -> a3
print ( "d4" , assertEqual ( getTrueCap ( GeneralCapNotEnabled , RowCapIsEnabled , Presidence . General , 300 , 200 ) , 200 ) ) ;
print ( "d5" , assertEqual ( getTrueCap ( GeneralCapNotEnabled , RowCapIsEnabled , Presidence . General , 300 , 300 ) , 300 ) ) ;
print ( "d6" , assertEqual ( getTrueCap ( GeneralCapNotEnabled , RowCapIsEnabled , Presidence . General , 300 , 400 ) , 400 ) ) ;
print ( "d1" , assertEqual ( getTrueCap ( GeneralCapNotEnabled , RowCapIsEnabled , Presidence . General , null , null ) . value , null ) ) ; //Invalid situation -> a1
print ( "d2" , assertEqual ( getTrueCap ( GeneralCapNotEnabled , RowCapIsEnabled , Presidence . General , null , 400 ) . value , 400 ) ) ;
print ( "d3" , assertEqual ( getTrueCap ( GeneralCapNotEnabled , RowCapIsEnabled , Presidence . General , 300 , null ) . value , null ) ) ; //Invalid situation -> a3
print ( "d4" , assertEqual ( getTrueCap ( GeneralCapNotEnabled , RowCapIsEnabled , Presidence . General , 300 , 200 ) . value , 200 ) ) ;
print ( "d5" , assertEqual ( getTrueCap ( GeneralCapNotEnabled , RowCapIsEnabled , Presidence . General , 300 , 300 ) . value , 300 ) ) ;
print ( "d6" , assertEqual ( getTrueCap ( GeneralCapNotEnabled , RowCapIsEnabled , Presidence . General , 300 , 400 ) . value , 400 ) ) ;
//#Row Presidence
//Neither caps enabled
print ( "a1.1" , assertEqual ( getTrueCap ( GeneralCapNotEnabled , RowCapNotEnabled , Presidence . Row , null , null ) , null ) ) ;
print ( "a2.1" , assertEqual ( getTrueCap ( GeneralCapNotEnabled , RowCapNotEnabled , Presidence . Row , null , 400 ) , null ) ) ;
print ( "a3.1" , assertEqual ( getTrueCap ( GeneralCapNotEnabled , RowCapNotEnabled , Presidence . Row , 300 , null ) , null ) ) ;
print ( "a4.1" , assertEqual ( getTrueCap ( GeneralCapNotEnabled , RowCapNotEnabled , Presidence . Row , 300 , 200 ) , null ) ) ;
print ( "a5.1" , assertEqual ( getTrueCap ( GeneralCapNotEnabled , RowCapNotEnabled , Presidence . Row , 300 , 300 ) , null ) ) ;
print ( "a6.1" , assertEqual ( getTrueCap ( GeneralCapNotEnabled , RowCapNotEnabled , Presidence . Row , 300 , 400 ) , null ) ) ;
print ( "a1.1" , assertEqual ( getTrueCap ( GeneralCapNotEnabled , RowCapNotEnabled , Presidence . Row , null , null ) . value , null ) ) ;
print ( "a2.1" , assertEqual ( getTrueCap ( GeneralCapNotEnabled , RowCapNotEnabled , Presidence . Row , null , 400 ) . value , null ) ) ;
print ( "a3.1" , assertEqual ( getTrueCap ( GeneralCapNotEnabled , RowCapNotEnabled , Presidence . Row , 300 , null ) . value , null ) ) ;
print ( "a4.1" , assertEqual ( getTrueCap ( GeneralCapNotEnabled , RowCapNotEnabled , Presidence . Row , 300 , 200 ) . value , null ) ) ;
print ( "a5.1" , assertEqual ( getTrueCap ( GeneralCapNotEnabled , RowCapNotEnabled , Presidence . Row , 300 , 300 ) . value , null ) ) ;
print ( "a6.1" , assertEqual ( getTrueCap ( GeneralCapNotEnabled , RowCapNotEnabled , Presidence . Row , 300 , 400 ) . value , null ) ) ;
//Only General cap enabled *****
print ( "b1.1" , assertEqual ( getTrueCap ( GeneralCapIsEnabled , RowCapNotEnabled , Presidence . Row , null , null ) , null ) ) ; //Invalid situation -> a1.1
print ( "b2.1" , assertEqual ( getTrueCap ( GeneralCapIsEnabled , RowCapNotEnabled , Presidence . Row , null , 400 ) , null ) ) ; //Invalid situation -> a2.1
print ( "b3.1" , assertEqual ( getTrueCap ( GeneralCapIsEnabled , RowCapNotEnabled , Presidence . Row , 300 , null ) , 300 ) ) ;
print ( "b4.1" , assertEqual ( getTrueCap ( GeneralCapIsEnabled , RowCapNotEnabled , Presidence . Row , 300 , 200 ) , 300 ) ) ;
print ( "b5.1" , assertEqual ( getTrueCap ( GeneralCapIsEnabled , RowCapNotEnabled , Presidence . Row , 300 , 300 ) , 300 ) ) ;
print ( "b6.1" , assertEqual ( getTrueCap ( GeneralCapIsEnabled , RowCapNotEnabled , Presidence . Row , 300 , 400 ) , 300 ) ) ;
print ( "b1.1" , assertEqual ( getTrueCap ( GeneralCapIsEnabled , RowCapNotEnabled , Presidence . Row , null , null ) . value , null ) ) ; //Invalid situation -> a1.1
print ( "b2.1" , assertEqual ( getTrueCap ( GeneralCapIsEnabled , RowCapNotEnabled , Presidence . Row , null , 400 ) . value , null ) ) ; //Invalid situation -> a2.1
print ( "b3.1" , assertEqual ( getTrueCap ( GeneralCapIsEnabled , RowCapNotEnabled , Presidence . Row , 300 , null ) . value , 300 ) ) ;
print ( "b4.1" , assertEqual ( getTrueCap ( GeneralCapIsEnabled , RowCapNotEnabled , Presidence . Row , 300 , 200 ) . value , 300 ) ) ;
print ( "b5.1" , assertEqual ( getTrueCap ( GeneralCapIsEnabled , RowCapNotEnabled , Presidence . Row , 300 , 300 ) . value , 300 ) ) ;
print ( "b6.1" , assertEqual ( getTrueCap ( GeneralCapIsEnabled , RowCapNotEnabled , Presidence . Row , 300 , 400 ) . value , 300 ) ) ;
//Both Caps are enabled ***** ***** ^^^^^
print ( "e1" , assertEqual ( getTrueCap ( GeneralCapIsEnabled , RowCapIsEnabled , Presidence . Row , null , null ) , null ) ) ; //Invalid situation -> a1.1
print ( "e2" , assertEqual ( getTrueCap ( GeneralCapIsEnabled , RowCapIsEnabled , Presidence . Row , null , 400 ) , 400 ) ) ; //Invalid situation -> d2.1
print ( "e3" , assertEqual ( getTrueCap ( GeneralCapIsEnabled , RowCapIsEnabled , Presidence . Row , 300 , null ) , 300 ) ) ; //Invalid situation -> b3.1
print ( "e4" , assertEqual ( getTrueCap ( GeneralCapIsEnabled , RowCapIsEnabled , Presidence . Row , 300 , 200 ) , 200 ) ) ;
print ( "e5" , assertEqual ( getTrueCap ( GeneralCapIsEnabled , RowCapIsEnabled , Presidence . Row , 300 , 300 ) , 300 ) ) ;
print ( "e6" , assertEqual ( getTrueCap ( GeneralCapIsEnabled , RowCapIsEnabled , Presidence . Row , 300 , 400 ) , 400 ) ) ;
print ( "e1" , assertEqual ( getTrueCap ( GeneralCapIsEnabled , RowCapIsEnabled , Presidence . Row , null , null ) . value , null ) ) ; //Invalid situation -> a1.1
print ( "e2" , assertEqual ( getTrueCap ( GeneralCapIsEnabled , RowCapIsEnabled , Presidence . Row , null , 400 ) . value , 400 ) ) ; //Invalid situation -> d2.1
print ( "e3" , assertEqual ( getTrueCap ( GeneralCapIsEnabled , RowCapIsEnabled , Presidence . Row , 300 , null ) . value , 300 ) ) ; //Invalid situation -> b3.1
print ( "e4" , assertEqual ( getTrueCap ( GeneralCapIsEnabled , RowCapIsEnabled , Presidence . Row , 300 , 200 ) . value , 200 ) ) ;
print ( "e5" , assertEqual ( getTrueCap ( GeneralCapIsEnabled , RowCapIsEnabled , Presidence . Row , 300 , 300 ) . value , 300 ) ) ;
print ( "e6" , assertEqual ( getTrueCap ( GeneralCapIsEnabled , RowCapIsEnabled , Presidence . Row , 300 , 400 ) . value , 400 ) ) ;
//Only Row Cap enabled *****
print ( "d1.1" , assertEqual ( getTrueCap ( GeneralCapNotEnabled , RowCapIsEnabled , Presidence . Row , null , null ) , null ) ) ; //Invalid situation -> a1.1
print ( "d2.1" , assertEqual ( getTrueCap ( GeneralCapNotEnabled , RowCapIsEnabled , Presidence . Row , null , 400 ) , 400 ) ) ;
print ( "d3.1" , assertEqual ( getTrueCap ( GeneralCapNotEnabled , RowCapIsEnabled , Presidence . Row , 300 , null ) , null ) ) ; //Invalid situation -> a3.1
print ( "d4.1" , assertEqual ( getTrueCap ( GeneralCapNotEnabled , RowCapIsEnabled , Presidence . Row , 300 , 200 ) , 200 ) ) ;
print ( "d5.1" , assertEqual ( getTrueCap ( GeneralCapNotEnabled , RowCapIsEnabled , Presidence . Row , 300 , 300 ) , 300 ) ) ;
print ( "d6.1" , assertEqual ( getTrueCap ( GeneralCapNotEnabled , RowCapIsEnabled , Presidence . Row , 300 , 400 ) , 400 ) ) ;
print ( "d1.1" , assertEqual ( getTrueCap ( GeneralCapNotEnabled , RowCapIsEnabled , Presidence . Row , null , null ) . value , null ) ) ; //Invalid situation -> a1.1
print ( "d2.1" , assertEqual ( getTrueCap ( GeneralCapNotEnabled , RowCapIsEnabled , Presidence . Row , null , 400 ) . value , 400 ) ) ;
print ( "d3.1" , assertEqual ( getTrueCap ( GeneralCapNotEnabled , RowCapIsEnabled , Presidence . Row , 300 , null ) . value , null ) ) ; //Invalid situation -> a3.1
print ( "d4.1" , assertEqual ( getTrueCap ( GeneralCapNotEnabled , RowCapIsEnabled , Presidence . Row , 300 , 200 ) . value , 200 ) ) ;
print ( "d5.1" , assertEqual ( getTrueCap ( GeneralCapNotEnabled , RowCapIsEnabled , Presidence . Row , 300 , 300 ) . value , 300 ) ) ;
print ( "d6.1" , assertEqual ( getTrueCap ( GeneralCapNotEnabled , RowCapIsEnabled , Presidence . Row , 300 , 400 ) . value , 400 ) ) ;
//#Highest Presidence
//Neither caps enabled
print ( "a1.2" , assertEqual ( getTrueCap ( GeneralCapNotEnabled , RowCapNotEnabled , Presidence . Highest , null , null ) , null ) ) ;
print ( "a2.2" , assertEqual ( getTrueCap ( GeneralCapNotEnabled , RowCapNotEnabled , Presidence . Highest , null , 400 ) , null ) ) ;
print ( "a3.2" , assertEqual ( getTrueCap ( GeneralCapNotEnabled , RowCapNotEnabled , Presidence . Highest , 300 , null ) , null ) ) ;
print ( "a4.2" , assertEqual ( getTrueCap ( GeneralCapNotEnabled , RowCapNotEnabled , Presidence . Highest , 300 , 200 ) , null ) ) ;
print ( "a5.2" , assertEqual ( getTrueCap ( GeneralCapNotEnabled , RowCapNotEnabled , Presidence . Highest , 300 , 300 ) , null ) ) ;
print ( "a6.2" , assertEqual ( getTrueCap ( GeneralCapNotEnabled , RowCapNotEnabled , Presidence . Highest , 300 , 400 ) , null ) ) ;
print ( "a1.2" , assertEqual ( getTrueCap ( GeneralCapNotEnabled , RowCapNotEnabled , Presidence . Highest , null , null ) . value , null ) ) ;
print ( "a2.2" , assertEqual ( getTrueCap ( GeneralCapNotEnabled , RowCapNotEnabled , Presidence . Highest , null , 400 ) . value , null ) ) ;
print ( "a3.2" , assertEqual ( getTrueCap ( GeneralCapNotEnabled , RowCapNotEnabled , Presidence . Highest , 300 , null ) . value , null ) ) ;
print ( "a4.2" , assertEqual ( getTrueCap ( GeneralCapNotEnabled , RowCapNotEnabled , Presidence . Highest , 300 , 200 ) . value , null ) ) ;
print ( "a5.2" , assertEqual ( getTrueCap ( GeneralCapNotEnabled , RowCapNotEnabled , Presidence . Highest , 300 , 300 ) . value , null ) ) ;
print ( "a6.2" , assertEqual ( getTrueCap ( GeneralCapNotEnabled , RowCapNotEnabled , Presidence . Highest , 300 , 400 ) . value , null ) ) ;
//Only General cap enabled *****
print ( "b1.2" , assertEqual ( getTrueCap ( GeneralCapIsEnabled , RowCapNotEnabled , Presidence . Highest , null , null ) , null ) ) ; //Invalid situation -> a1.2
print ( "b2.2" , assertEqual ( getTrueCap ( GeneralCapIsEnabled , RowCapNotEnabled , Presidence . Highest , null , 400 ) , null ) ) ; //Invalid situation -> a2.2
print ( "b3.2" , assertEqual ( getTrueCap ( GeneralCapIsEnabled , RowCapNotEnabled , Presidence . Highest , 300 , null ) , 300 ) ) ;
print ( "b4.2" , assertEqual ( getTrueCap ( GeneralCapIsEnabled , RowCapNotEnabled , Presidence . Highest , 300 , 200 ) , 300 ) ) ;
print ( "b5.2" , assertEqual ( getTrueCap ( GeneralCapIsEnabled , RowCapNotEnabled , Presidence . Highest , 300 , 300 ) , 300 ) ) ;
print ( "b6.2" , assertEqual ( getTrueCap ( GeneralCapIsEnabled , RowCapNotEnabled , Presidence . Highest , 300 , 400 ) , 300 ) ) ;
print ( "b1.2" , assertEqual ( getTrueCap ( GeneralCapIsEnabled , RowCapNotEnabled , Presidence . Highest , null , null ) . value , null ) ) ; //Invalid situation -> a1.2
print ( "b2.2" , assertEqual ( getTrueCap ( GeneralCapIsEnabled , RowCapNotEnabled , Presidence . Highest , null , 400 ) . value , null ) ) ; //Invalid situation -> a2.2
print ( "b3.2" , assertEqual ( getTrueCap ( GeneralCapIsEnabled , RowCapNotEnabled , Presidence . Highest , 300 , null ) . value , 300 ) ) ;
print ( "b4.2" , assertEqual ( getTrueCap ( GeneralCapIsEnabled , RowCapNotEnabled , Presidence . Highest , 300 , 200 ) . value , 300 ) ) ;
print ( "b5.2" , assertEqual ( getTrueCap ( GeneralCapIsEnabled , RowCapNotEnabled , Presidence . Highest , 300 , 300 ) . value , 300 ) ) ;
print ( "b6.2" , assertEqual ( getTrueCap ( GeneralCapIsEnabled , RowCapNotEnabled , Presidence . Highest , 300 , 400 ) . value , 300 ) ) ;
//Both Caps are enabled ***** ***** ^^^^^
print ( "f1" , assertEqual ( getTrueCap ( GeneralCapIsEnabled , RowCapIsEnabled , Presidence . Highest , null , null ) , null ) ) ; //Invalid situation -> a1.2
print ( "f2" , assertEqual ( getTrueCap ( GeneralCapIsEnabled , RowCapIsEnabled , Presidence . Highest , null , 400 ) , 400 ) ) ; //Invalid situation -> d2.2
print ( "f3" , assertEqual ( getTrueCap ( GeneralCapIsEnabled , RowCapIsEnabled , Presidence . Highest , 300 , null ) , 300 ) ) ; //Invalid situation -> b3.2
print ( "f4" , assertEqual ( getTrueCap ( GeneralCapIsEnabled , RowCapIsEnabled , Presidence . Highest , 300 , 200 ) , 300 ) ) ;
print ( "f5" , assertEqual ( getTrueCap ( GeneralCapIsEnabled , RowCapIsEnabled , Presidence . Highest , 300 , 300 ) , 300 ) ) ;
print ( "f6" , assertEqual ( getTrueCap ( GeneralCapIsEnabled , RowCapIsEnabled , Presidence . Highest , 300 , 400 ) , 400 ) ) ;
print ( "f1" , assertEqual ( getTrueCap ( GeneralCapIsEnabled , RowCapIsEnabled , Presidence . Highest , null , null ) . value , null ) ) ; //Invalid situation -> a1.2
print ( "f2" , assertEqual ( getTrueCap ( GeneralCapIsEnabled , RowCapIsEnabled , Presidence . Highest , null , 400 ) . value , 400 ) ) ; //Invalid situation -> d2.2
print ( "f3" , assertEqual ( getTrueCap ( GeneralCapIsEnabled , RowCapIsEnabled , Presidence . Highest , 300 , null ) . value , 300 ) ) ; //Invalid situation -> b3.2
print ( "f4" , assertEqual ( getTrueCap ( GeneralCapIsEnabled , RowCapIsEnabled , Presidence . Highest , 300 , 200 ) . value , 300 ) ) ;
print ( "f5" , assertEqual ( getTrueCap ( GeneralCapIsEnabled , RowCapIsEnabled , Presidence . Highest , 300 , 300 ) . value , 300 ) ) ;
print ( "f6" , assertEqual ( getTrueCap ( GeneralCapIsEnabled , RowCapIsEnabled , Presidence . Highest , 300 , 400 ) . value , 400 ) ) ;
//Only Row Cap enabled *****
print ( "d1.2" , assertEqual ( getTrueCap ( GeneralCapNotEnabled , RowCapIsEnabled , Presidence . Highest , null , null ) , null ) ) ; //Invalid situation -> a1.2
print ( "d2.2" , assertEqual ( getTrueCap ( GeneralCapNotEnabled , RowCapIsEnabled , Presidence . Highest , null , 400 ) , 400 ) ) ;
print ( "d3.2" , assertEqual ( getTrueCap ( GeneralCapNotEnabled , RowCapIsEnabled , Presidence . Highest , 300 , null ) , null ) ) ; //Invalid situation => a3.2
print ( "d4.2" , assertEqual ( getTrueCap ( GeneralCapNotEnabled , RowCapIsEnabled , Presidence . Highest , 300 , 200 ) , 200 ) ) ;
print ( "d5.2" , assertEqual ( getTrueCap ( GeneralCapNotEnabled , RowCapIsEnabled , Presidence . Highest , 300 , 300 ) , 300 ) ) ;
print ( "d6.2" , assertEqual ( getTrueCap ( GeneralCapNotEnabled , RowCapIsEnabled , Presidence . Highest , 300 , 400 ) , 400 ) ) ;
print ( "d1.2" , assertEqual ( getTrueCap ( GeneralCapNotEnabled , RowCapIsEnabled , Presidence . Highest , null , null ) . value , null ) ) ; //Invalid situation -> a1.2
print ( "d2.2" , assertEqual ( getTrueCap ( GeneralCapNotEnabled , RowCapIsEnabled , Presidence . Highest , null , 400 ) . value , 400 ) ) ;
print ( "d3.2" , assertEqual ( getTrueCap ( GeneralCapNotEnabled , RowCapIsEnabled , Presidence . Highest , 300 , null ) . value , null ) ) ; //Invalid situation => a3.2
print ( "d4.2" , assertEqual ( getTrueCap ( GeneralCapNotEnabled , RowCapIsEnabled , Presidence . Highest , 300 , 200 ) . value , 200 ) ) ;
print ( "d5.2" , assertEqual ( getTrueCap ( GeneralCapNotEnabled , RowCapIsEnabled , Presidence . Highest , 300 , 300 ) . value , 300 ) ) ;
print ( "d6.2" , assertEqual ( getTrueCap ( GeneralCapNotEnabled , RowCapIsEnabled , Presidence . Highest , 300 , 400 ) . value , 400 ) ) ;
//#Lowest Presidence
//Neither caps enabled
print ( "a1.3" , assertEqual ( getTrueCap ( GeneralCapNotEnabled , RowCapNotEnabled , Presidence . Lowest , null , null ) , null ) ) ;
print ( "a2.3" , assertEqual ( getTrueCap ( GeneralCapNotEnabled , RowCapNotEnabled , Presidence . Lowest , null , 400 ) , null ) ) ;
print ( "a3.3" , assertEqual ( getTrueCap ( GeneralCapNotEnabled , RowCapNotEnabled , Presidence . Lowest , 300 , null ) , null ) ) ;
print ( "a4.3" , assertEqual ( getTrueCap ( GeneralCapNotEnabled , RowCapNotEnabled , Presidence . Lowest , 300 , 200 ) , null ) ) ;
print ( "a5.3" , assertEqual ( getTrueCap ( GeneralCapNotEnabled , RowCapNotEnabled , Presidence . Lowest , 300 , 300 ) , null ) ) ;
print ( "a6.3" , assertEqual ( getTrueCap ( GeneralCapNotEnabled , RowCapNotEnabled , Presidence . Lowest , 300 , 400 ) , null ) ) ;
print ( "a1.3" , assertEqual ( getTrueCap ( GeneralCapNotEnabled , RowCapNotEnabled , Presidence . Lowest , null , null ) . value , null ) ) ;
print ( "a2.3" , assertEqual ( getTrueCap ( GeneralCapNotEnabled , RowCapNotEnabled , Presidence . Lowest , null , 400 ) . value , null ) ) ;
print ( "a3.3" , assertEqual ( getTrueCap ( GeneralCapNotEnabled , RowCapNotEnabled , Presidence . Lowest , 300 , null ) . value , null ) ) ;
print ( "a4.3" , assertEqual ( getTrueCap ( GeneralCapNotEnabled , RowCapNotEnabled , Presidence . Lowest , 300 , 200 ) . value , null ) ) ;
print ( "a5.3" , assertEqual ( getTrueCap ( GeneralCapNotEnabled , RowCapNotEnabled , Presidence . Lowest , 300 , 300 ) . value , null ) ) ;
print ( "a6.3" , assertEqual ( getTrueCap ( GeneralCapNotEnabled , RowCapNotEnabled , Presidence . Lowest , 300 , 400 ) . value , null ) ) ;
//Only General cap enabled *****
print ( "b1.3" , assertEqual ( getTrueCap ( GeneralCapIsEnabled , RowCapNotEnabled , Presidence . Lowest , null , null ) . value , null ) ) ; //Invalid situation -> a1.3
print ( "b2.3" , assertEqual ( getTrueCap ( GeneralCapIsEnabled , RowCapNotEnabled , Presidence . Lowest , null , 400 ) . value , null ) ) ; //Invalid situation -> a2.3
print ( "b3.3" , assertEqual ( getTrueCap ( GeneralCapIsEnabled , RowCapNotEnabled , Presidence . Lowest , 300 , null ) . value , 300 ) ) ;
print ( "b4.3" , assertEqual ( getTrueCap ( GeneralCapIsEnabled , RowCapNotEnabled , Presidence . Lowest , 300 , 200 ) . value , 300 ) ) ;
print ( "b5.3" , assertEqual ( getTrueCap ( GeneralCapIsEnabled , RowCapNotEnabled , Presidence . Lowest , 300 , 300 ) . value , 300 ) ) ;
print ( "b6.3" , assertEqual ( getTrueCap ( GeneralCapIsEnabled , RowCapNotEnabled , Presidence . Lowest , 300 , 400 ) . value , 300 ) ) ;
//Both Caps are enabled ***** ***** ^^^^^
print ( "g1" , assertEqual ( getTrueCap ( GeneralCapIsEnabled , RowCapIsEnabled , Presidence . Lowest , null , null ) . value , null ) ) ; //Invalid situation -> a1.3
print ( "g2" , assertEqual ( getTrueCap ( GeneralCapIsEnabled , RowCapIsEnabled , Presidence . Lowest , null , 400 ) . value , 400 ) ) ; //Invalid situation -> d2.3
print ( "g3" , assertEqual ( getTrueCap ( GeneralCapIsEnabled , RowCapIsEnabled , Presidence . Lowest , 300 , null ) . value , 300 ) ) ; //Invalid situation -> b3.3
print ( "g4" , assertEqual ( getTrueCap ( GeneralCapIsEnabled , RowCapIsEnabled , Presidence . Lowest , 300 , 200 ) . value , 200 ) ) ;
print ( "g5" , assertEqual ( getTrueCap ( GeneralCapIsEnabled , RowCapIsEnabled , Presidence . Lowest , 300 , 300 ) . value , 300 ) ) ;
print ( "g6" , assertEqual ( getTrueCap ( GeneralCapIsEnabled , RowCapIsEnabled , Presidence . Lowest , 300 , 400 ) . value , 300 ) ) ;
//Only Row Cap enabled *****
print ( "d1.3" , assertEqual ( getTrueCap ( GeneralCapNotEnabled , RowCapIsEnabled , Presidence . Lowest , null , null ) . value , null ) ) ; //Invalid situation -> a1.3
print ( "d2.3" , assertEqual ( getTrueCap ( GeneralCapNotEnabled , RowCapIsEnabled , Presidence . Lowest , null , 400 ) . value , 400 ) ) ;
print ( "d3.3" , assertEqual ( getTrueCap ( GeneralCapNotEnabled , RowCapIsEnabled , Presidence . Lowest , 300 , null ) . value , null ) ) ; //Invalid situation -> a3.3
print ( "d4.3" , assertEqual ( getTrueCap ( GeneralCapNotEnabled , RowCapIsEnabled , Presidence . Lowest , 300 , 200 ) . value , 200 ) ) ;
print ( "d5.3" , assertEqual ( getTrueCap ( GeneralCapNotEnabled , RowCapIsEnabled , Presidence . Lowest , 300 , 300 ) . value , 300 ) ) ;
print ( "d6.3" , assertEqual ( getTrueCap ( GeneralCapNotEnabled , RowCapIsEnabled , Presidence . Lowest , 300 , 400 ) . value , 400 ) ) ;
console . log ( "" ) ;
///////
//#INCLUDE CAPTRIGGER IN THE TESTS
//#General Presidence
//Neither caps enabled
print ( "a1" , assertEqual ( getTrueCapAsTestResult ( GeneralCapNotEnabled , RowCapNotEnabled , Presidence . General , null , null ) , [ CapTrigger . None , null ] ) ) ;
print ( "a2" , assertEqual ( getTrueCapAsTestResult ( GeneralCapNotEnabled , RowCapNotEnabled , Presidence . General , null , 400 ) , [ CapTrigger . None , null ] ) ) ;
print ( "a3" , assertEqual ( getTrueCapAsTestResult ( GeneralCapNotEnabled , RowCapNotEnabled , Presidence . General , 300 , null ) , [ CapTrigger . None , null ] ) ) ;
print ( "a4" , assertEqual ( getTrueCapAsTestResult ( GeneralCapNotEnabled , RowCapNotEnabled , Presidence . General , 300 , 200 ) , [ CapTrigger . None , null ] ) ) ;
print ( "a5" , assertEqual ( getTrueCapAsTestResult ( GeneralCapNotEnabled , RowCapNotEnabled , Presidence . General , 300 , 300 ) , [ CapTrigger . None , null ] ) ) ;
print ( "a6" , assertEqual ( getTrueCapAsTestResult ( GeneralCapNotEnabled , RowCapNotEnabled , Presidence . General , 300 , 400 ) , [ CapTrigger . None , null ] ) ) ;
//Only General cap enabled *****
print ( "b1.3" , assertEqual ( getTrueCap ( GeneralCapIsEnabled , RowCapNotEnabled , Presidence . Lowest , null , null ) , null ) ) ; //Invalid situation -> a1.3
print ( "b2.3" , assertEqual ( getTrueCap ( GeneralCapIsEnabled , RowCapNotEnabled , Presidence . Lowest , null , 400 ) , null ) ) ; //Invalid situation -> a2.3
print ( "b3.3" , assertEqual ( getTrueCap ( GeneralCapIsEnabled , RowCapNotEnabled , Presidence . Lowest , 300 , null ) , 300 ) ) ;
print ( "b4.3" , assertEqual ( getTrueCap ( GeneralCapIsEnabled , RowCapNotEnabled , Presidence . Lowest , 300 , 200 ) , 300 ) ) ;
print ( "b5.3" , assertEqual ( getTrueCap ( GeneralCapIsEnabled , RowCapNotEnabled , Presidence . Lowest , 300 , 300 ) , 300 ) ) ;
print ( "b6.3" , assertEqual ( getTrueCap ( GeneralCapIsEnabled , RowCapNotEnabled , Presidence . Lowest , 300 , 400 ) , 300 ) ) ;
print ( "b1" , assertEqual ( getTrueCapAsTestResult ( GeneralCapIsEnabled , RowCapNotEnabled , Presidence . General , null , null ) , [ CapTrigger . None , null ] ) ) ; //Invalid situation -> a1
print ( "b2" , assertEqual ( getTrueCapAsTestResult ( GeneralCapIsEnabled , RowCapNotEnabled , Presidence . General , null , 400 ) , [ CapTrigger . None , null ] ) ) ; //Invalid situation -> a2
print ( "b3" , assertEqual ( getTrueCapAsTestResult ( GeneralCapIsEnabled , RowCapNotEnabled , Presidence . General , 300 , null ) , [ CapTrigger . General , 300 ] ) ) ;
print ( "b4" , assertEqual ( getTrueCapAsTestResult ( GeneralCapIsEnabled , RowCapNotEnabled , Presidence . General , 300 , 200 ) , [ CapTrigger . General , 300 ] ) ) ;
print ( "b5" , assertEqual ( getTrueCapAsTestResult ( GeneralCapIsEnabled , RowCapNotEnabled , Presidence . General , 300 , 300 ) , [ CapTrigger . General , 300 ] ) ) ;
print ( "b6" , assertEqual ( getTrueCapAsTestResult ( GeneralCapIsEnabled , RowCapNotEnabled , Presidence . General , 300 , 400 ) , [ CapTrigger . General , 300 ] ) ) ;
//Both Caps are enabled ***** ***** ^^^^^
print ( "g1" , assertEqual ( getTrueCap ( GeneralCapIsEnabled , RowCapIsEnabled , Presidence . Lowest , null , null ) , null ) ) ; //Invalid situation -> a1.3
print ( "g2" , assertEqual ( getTrueCap ( GeneralCapIsEnabled , RowCapIsEnabled , Presidence . Lowest , null , 400 ) , 400 ) ) ; //Invalid situation -> d2.3
print ( "g3" , assertEqual ( getTrueCap ( GeneralCapIsEnabled , RowCapIsEnabled , Presidence . Lowest , 300 , null ) , 300 ) ) ; //Invalid situation -> b3.3
print ( "g4" , assertEqual ( getTrueCap ( GeneralCapIsEnabled , RowCapIsEnabled , Presidence . Lowest , 300 , 200 ) , 200 ) ) ;
print ( "g5" , assertEqual ( getTrueCap ( GeneralCapIsEnabled , RowCapIsEnabled , Presidence . Lowest , 300 , 300 ) , 300 ) ) ;
print ( "g6" , assertEqual ( getTrueCap ( GeneralCapIsEnabled , RowCapIsEnabled , Presidence . Lowest , 300 , 400 ) , 300 ) ) ;
print ( "c 1" , assertEqual ( getTrueCapAsTestResult ( GeneralCapIsEnabled , RowCapIsEnabled , Presidence . General , null , null ) , [ CapTrigger . None , null ] ) ) ; //Invalid situation -> a1
print ( "c 2" , assertEqual ( getTrueCapAsTestResult ( GeneralCapIsEnabled , RowCapIsEnabled , Presidence . General , null , 400 ) , [ CapTrigger . Row , 400 ] ) ) ; //Invalid situation -> d2
print ( "c 3" , assertEqual ( getTrueCapAsTestResult ( GeneralCapIsEnabled , RowCapIsEnabled , Presidence . General , 300 , null ) , [ CapTrigger . General , 300 ] ) ) ; //Invalid situation -> b3
print ( "c 4" , assertEqual ( getTrueCapAsTestResult ( GeneralCapIsEnabled , RowCapIsEnabled , Presidence . General , 300 , 200 ) , [ CapTrigger . General , 300 ] ) ) ;
print ( "c 5" , assertEqual ( getTrueCapAsTestResult ( GeneralCapIsEnabled , RowCapIsEnabled , Presidence . General , 300 , 300 ) , [ CapTrigger . General , 300 ] ) ) ;
print ( "c 6" , assertEqual ( getTrueCapAsTestResult ( GeneralCapIsEnabled , RowCapIsEnabled , Presidence . General , 300 , 400 ) , [ CapTrigger . General , 300 ] ) ) ;
//Only Row Cap enabled *****
print ( "d1.3" , assertEqual ( getTrueCap ( GeneralCapNotEnabled , RowCapIsEnabled , Presidence . Lowest , null , null ) , null ) ) ; //Invalid situation -> a1.3
print ( "d2.3" , assertEqual ( getTrueCap ( GeneralCapNotEnabled , RowCapIsEnabled , Presidence . Lowest , null , 400 ) , 400 ) ) ;
print ( "d3.3" , assertEqual ( getTrueCap ( GeneralCapNotEnabled , RowCapIsEnabled , Presidence . Lowest , 300 , null ) , null ) ) ; //Invalid situation -> a3.3
print ( "d4.3" , assertEqual ( getTrueCap ( GeneralCapNotEnabled , RowCapIsEnabled , Presidence . Lowest , 300 , 200 ) , 200 ) ) ;
print ( "d5.3" , assertEqual ( getTrueCap ( GeneralCapNotEnabled , RowCapIsEnabled , Presidence . Lowest , 300 , 300 ) , 300 ) ) ;
print ( "d6.3" , assertEqual ( getTrueCap ( GeneralCapNotEnabled , RowCapIsEnabled , Presidence . Lowest , 300 , 400 ) , 400 ) ) ;
print ( "d1" , assertEqual ( getTrueCapAsTestResult ( GeneralCapNotEnabled , RowCapIsEnabled , Presidence . General , null , null ) , [ CapTrigger . None , null ] ) ) ; //Invalid situation -> a1
print ( "d2" , assertEqual ( getTrueCapAsTestResult ( GeneralCapNotEnabled , RowCapIsEnabled , Presidence . General , null , 400 ) , [ CapTrigger . Row , 400 ] ) ) ;
print ( "d3" , assertEqual ( getTrueCapAsTestResult ( GeneralCapNotEnabled , RowCapIsEnabled , Presidence . General , 300 , null ) , [ CapTrigger . None , null ] ) ) ; //Invalid situation -> a3
print ( "d4" , assertEqual ( getTrueCapAsTestResult ( GeneralCapNotEnabled , RowCapIsEnabled , Presidence . General , 300 , 200 ) , [ CapTrigger . Row , 200 ] ) ) ;
print ( "d5" , assertEqual ( getTrueCapAsTestResult ( GeneralCapNotEnabled , RowCapIsEnabled , Presidence . General , 300 , 300 ) , [ CapTrigger . Row , 300 ] ) ) ;
print ( "d6" , assertEqual ( getTrueCapAsTestResult ( GeneralCapNotEnabled , RowCapIsEnabled , Presidence . General , 300 , 400 ) , [ CapTrigger . Row , 400 ] ) ) ;
//#Row Presidence
//Both Caps are enabled ***** ***** ^^^^^
print ( "e1" , assertEqual ( getTrueCapAsTestResult ( GeneralCapIsEnabled , RowCapIsEnabled , Presidence . Row , null , null ) , [ CapTrigger . None , null ] ) ) ; //Invalid situation -> a1.1
print ( "e2" , assertEqual ( getTrueCapAsTestResult ( GeneralCapIsEnabled , RowCapIsEnabled , Presidence . Row , null , 400 ) , [ CapTrigger . Row , 400 ] ) ) ; //Invalid situation -> d2.1
print ( "e3" , assertEqual ( getTrueCapAsTestResult ( GeneralCapIsEnabled , RowCapIsEnabled , Presidence . Row , 300 , null ) , [ CapTrigger . General , 300 ] ) ) ; //Invalid situation -> b3.1
print ( "e4" , assertEqual ( getTrueCapAsTestResult ( GeneralCapIsEnabled , RowCapIsEnabled , Presidence . Row , 300 , 200 ) , [ CapTrigger . Row , 200 ] ) ) ;
print ( "e5" , assertEqual ( getTrueCapAsTestResult ( GeneralCapIsEnabled , RowCapIsEnabled , Presidence . Row , 300 , 300 ) , [ CapTrigger . Row , 300 ] ) ) ;
print ( "e6" , assertEqual ( getTrueCapAsTestResult ( GeneralCapIsEnabled , RowCapIsEnabled , Presidence . Row , 300 , 400 ) , [ CapTrigger . Row , 400 ] ) ) ;
//#Highest Presidence
//Both Caps are enabled ***** ***** ^^^^^
print ( "f1" , assertEqual ( getTrueCapAsTestResult ( GeneralCapIsEnabled , RowCapIsEnabled , Presidence . Highest , null , null ) , [ CapTrigger . None , null ] ) ) ; //Invalid situation -> a1.2
print ( "f2" , assertEqual ( getTrueCapAsTestResult ( GeneralCapIsEnabled , RowCapIsEnabled , Presidence . Highest , null , 400 ) , [ CapTrigger . Row , 400 ] ) ) ; //Invalid situation -> d2.2
print ( "f3" , assertEqual ( getTrueCapAsTestResult ( GeneralCapIsEnabled , RowCapIsEnabled , Presidence . Highest , 300 , null ) , [ CapTrigger . General , 300 ] ) ) ; //Invalid situation -> b3.2
print ( "f4" , assertEqual ( getTrueCapAsTestResult ( GeneralCapIsEnabled , RowCapIsEnabled , Presidence . Highest , 300 , 200 ) , [ CapTrigger . General , 300 ] ) ) ;
print ( "f5" , assertEqual ( getTrueCapAsTestResult ( GeneralCapIsEnabled , RowCapIsEnabled , Presidence . Highest , 300 , 300 ) , [ CapTrigger . General , 300 ] ) ) ;
print ( "f6" , assertEqual ( getTrueCapAsTestResult ( GeneralCapIsEnabled , RowCapIsEnabled , Presidence . Highest , 300 , 400 ) , [ CapTrigger . Row , 400 ] ) ) ;
//#Lowest Presidence
//Both Caps are enabled ***** ***** ^^^^^
print ( "g1" , assertEqual ( getTrueCapAsTestResult ( GeneralCapIsEnabled , RowCapIsEnabled , Presidence . Lowest , null , null ) , [ CapTrigger . None , null ] ) ) ; //Invalid situation -> a1.3
print ( "g2" , assertEqual ( getTrueCapAsTestResult ( GeneralCapIsEnabled , RowCapIsEnabled , Presidence . Lowest , null , 400 ) , [ CapTrigger . Row , 400 ] ) ) ; //Invalid situation -> d2.3
print ( "g3" , assertEqual ( getTrueCapAsTestResult ( GeneralCapIsEnabled , RowCapIsEnabled , Presidence . Lowest , 300 , null ) , [ CapTrigger . General , 300 ] ) ) ; //Invalid situation -> b3.3
print ( "g4" , assertEqual ( getTrueCapAsTestResult ( GeneralCapIsEnabled , RowCapIsEnabled , Presidence . Lowest , 300 , 200 ) , [ CapTrigger . Row , 200 ] ) ) ;
print ( "g5" , assertEqual ( getTrueCapAsTestResult ( GeneralCapIsEnabled , RowCapIsEnabled , Presidence . Lowest , 300 , 300 ) , [ CapTrigger . General , 300 ] ) ) ;
print ( "g6" , assertEqual ( getTrueCapAsTestResult ( GeneralCapIsEnabled , RowCapIsEnabled , Presidence . Lowest , 300 , 400 ) , [ CapTrigger . General , 300 ] ) ) ;
}
test_GetTrueCaps_ReturnsExpectedValue ( ) ;
//Setup our scenarios and expected values
const useCases = getUseCases_where_only_a_GeneralCap_can_be_triggered ( ) ;
const expectedOutcomes = getExpectedOutcomes_where_only_a_GeneralCap_can_be_triggered ( ) ;
const verboseLevel = 0 ;
//const testResults = executeTests(useCases, expectedOutcomes, verboseLevel);
test_GetTrueCaps_ReturnsExpectedValues ( ) ;
/ *
@ -1379,9 +1487,8 @@ test_GetTrueCaps_ReturnsExpectedValue();
[ ] Define all expectedOutcomes ( write code to write the code ? )
[ ] Define all useCases ( write code to write the code ? )
[ x ] test_GetTrueCaps_ReturnsExpectedValue passes all tests
[ ] Code function getBid ( tieBid , trueCap , myBid , adjustedBid )
Returns [ capWasTriggered , adjustedBid ]
[ x ] Code function getTrueCaps ( getTrueCap ( isGeneralCapEnabled , isRowCapIsEnabled , presidenceValue , generalCapValue , rowCapValue ) Returns { trigger . value }
[ ] Code function getBid ( tieBid , trueCap , myBid , adjustedBid ) Returns [ capWasTriggered , adjustedBid ]
* /