public function test__getMaxQualifiedRankId()
 {
     /** === Test Data === */
     $LEGS_3 = [OiCompress::ATTR_CUSTOMER_ID => 1, OiCompress::ATTR_PV => 100, OiCompress::ATTR_TV => 1000, OiCompress::ATTR_OV_LEG_MAX => 310, OiCompress::ATTR_OV_LEG_SECOND => 210, OiCompress::ATTR_OV_LEG_SUMMARY => 110];
     $LEGS_2 = [OiCompress::ATTR_CUSTOMER_ID => 2, OiCompress::ATTR_PV => 100, OiCompress::ATTR_TV => 1000, OiCompress::ATTR_OV_LEG_MAX => 310, OiCompress::ATTR_OV_LEG_SECOND => 210, OiCompress::ATTR_OV_LEG_SUMMARY => 0];
     $LEGS_1 = [OiCompress::ATTR_CUSTOMER_ID => 3, OiCompress::ATTR_PV => 100, OiCompress::ATTR_TV => 1000, OiCompress::ATTR_OV_LEG_MAX => 310, OiCompress::ATTR_OV_LEG_SECOND => 0, OiCompress::ATTR_OV_LEG_SUMMARY => 0];
     $LEGS_0 = [OiCompress::ATTR_CUSTOMER_ID => 3, OiCompress::ATTR_PV => 100, OiCompress::ATTR_TV => 1000, OiCompress::ATTR_OV_LEG_MAX => 0, OiCompress::ATTR_OV_LEG_SECOND => 0, OiCompress::ATTR_OV_LEG_SUMMARY => 0];
     $CFG_PARAM = [Def::SCHEMA_DEFAULT => [[CfgParam::ATTR_RANK_ID => 64, CfgParam::ATTR_QUALIFY_PV => 10, CfgParam::ATTR_QUALIFY_TV => 10, CfgParam::ATTR_LEG_MAX => 300, CfgParam::ATTR_LEG_MEDIUM => 200, CfgParam::ATTR_LEG_MIN => 100], [CfgParam::ATTR_RANK_ID => 32, CfgParam::ATTR_QUALIFY_PV => 10, CfgParam::ATTR_QUALIFY_TV => 10, CfgParam::ATTR_LEG_MAX => 300, CfgParam::ATTR_LEG_MEDIUM => 200, CfgParam::ATTR_LEG_MIN => 0], [CfgParam::ATTR_RANK_ID => 16, CfgParam::ATTR_QUALIFY_PV => 10, CfgParam::ATTR_QUALIFY_TV => 10, CfgParam::ATTR_LEG_MAX => 300, CfgParam::ATTR_LEG_MEDIUM => 0, CfgParam::ATTR_LEG_MIN => 0], [CfgParam::ATTR_RANK_ID => 8, CfgParam::ATTR_QUALIFY_PV => 10, CfgParam::ATTR_QUALIFY_TV => 10, CfgParam::ATTR_LEG_MAX => 0, CfgParam::ATTR_LEG_MEDIUM => 0, CfgParam::ATTR_LEG_MIN => 0]]];
     /** === Mocks === */
     $mLogger = $this->_mockLogger();
     $mToolScheme = $this->_mockFor('\\Praxigento\\Bonus\\Hybrid\\Lib\\Tool\\IScheme');
     $mToolbox = $this->_mockToolbox(null, null, null, null, $mToolScheme);
     $mCallDownlineSnap = $this->_mockFor('\\Praxigento\\Downline\\Service\\ISnap');
     // $forcedRankId = $this->_toolScheme->getForcedQualificationRank($custId, $scheme);
     $mToolScheme->expects($this->any())->method('getForcedQualificationRank')->willReturn(null);
     /**
      * Prepare request and perform call.
      */
     /** @var  $sub Calc */
     $sub = new Calc($mLogger, $mToolbox, $mCallDownlineSnap);
     $data = $sub->_getMaxQualifiedRankId($LEGS_3, Def::SCHEMA_DEFAULT, $CFG_PARAM);
     $this->assertNotNull($data);
     $data = $sub->_getMaxQualifiedRankId($LEGS_2, Def::SCHEMA_DEFAULT, $CFG_PARAM);
     $this->assertNotNull($data);
     $data = $sub->_getMaxQualifiedRankId($LEGS_1, Def::SCHEMA_DEFAULT, $CFG_PARAM);
     $this->assertNotNull($data);
     $data = $sub->_getMaxQualifiedRankId($LEGS_0, Def::SCHEMA_DEFAULT, $CFG_PARAM);
     $this->assertNotNull($data);
 }