Ejemplo n.º 1
0
 /**
  * @test
  * @group BcMath
  * @group calculatesRoundedValue
  * @group round
  * @group assertDecimalEquals
  */
 public function calculatesRoundedValue()
 {
     $data = array();
     $data[] = array('0.5556', '0.555550', 4);
     $data[] = array('-0.5556', '-0.555550', 4);
     $data[] = array('0.2926', '0.292550', 4);
     $data[] = array('-0.2926', '-0.292550', 4);
     $data[] = array('0.0402', '0.04015000', 4);
     $data[] = array('-0.0402', '-0.04015000', 4);
     $data[] = array('0.0041', '0.00405000', 4);
     $data[] = array('-0.0041', '-0.00405000', 4);
     $data[] = array('0.0000', '0.00000001', 4);
     $data[] = array('-0.0000', '-0.00000001', 4);
     $data[] = array('0.0000', '0.00004999', 4);
     $data[] = array('-0.0000', '-0.00004999', 4);
     $data[] = array('0.0001', '0.00005', 4);
     $data[] = array('-0.0001', '-0.00005', 4);
     $data[] = array('0.0001', '0.000050', 4);
     $data[] = array('-0.0001', '-0.000050', 4);
     $data[] = array('0.9999', '0.9999', 4);
     $data[] = array('-0.9999', '-0.9999', 4);
     $data[] = array('1', '0.99995', 4);
     $data[] = array('-1', '-0.99995', 4);
     $data[] = array('1', '0.999950', 4);
     $data[] = array('-1', '-0.999950', 4);
     $data[] = array('999999999999999.9999', '999999999999999.999949', 4);
     $data[] = array('-999999999999999.9999', '-999999999999999.999949', 4);
     $data[] = array('1000000000000000', '999999999999999.999950', 4);
     $data[] = array('-1000000000000000', '-999999999999999.999950', 4);
     $data[] = array('1000000000000000', '1000000000000000.000049', 4);
     $data[] = array('-1000000000000000', '-1000000000000000.000049', 4);
     $data[] = array('1000000000000000.0001', '1000000000000000.000050', 4);
     $data[] = array('-1000000000000000.0001', '-1000000000000000.000050', 4);
     foreach ($data as $d) {
         list($expectedRound, $value, $precision) = $d;
         $this->assertDecimalEquals($expectedRound, Hashmark_BcMath::round($value, $precision));
     }
 }