| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186 |
- <?php
- App::uses('NumberLib', 'Tools.Utility');
- App::uses('MyCakeTestCase', 'Tools.TestSuite');
- class NumberLibTest extends MyCakeTestCase {
- public $NumberLib = null;
- public function setUp() {
- //$this->NumberLib = new NumberLib();
- }
- public function testMoney() {
- $is = NumberLib::money(22.11);
- $expected = '22,11 €';
- $this->assertSame($expected, $is);
- $is = NumberLib::money(-22.11);
- $expected = '-22,11 €';
- $this->assertSame($expected, $is);
- }
- public function testPrice() {
- $is = NumberLib::price(22.11);
- $expected = '22,11 €';
- $this->assertSame($expected, $is);
- $is = NumberLib::price(-22.11);
- $expected = '0,00 €';
- $this->assertSame($expected, $is);
- }
- public function testCurrency() {
- $is = NumberLib::currency(22.11);
- $expected = '22,11 €';
- $this->assertSame($expected, $is);
- $is = NumberLib::currency(-22.11);
- $expected = '-22,11 €';
- $this->assertSame($expected, $is);
- $is = NumberLib::currency(-22.11, 'EUR', array('signed'=>true));
- $expected = '-22,11 €';
- $this->assertSame($expected, $is);
- $is = NumberLib::currency(22.11, 'EUR', array('signed'=>true));
- $expected = '+22,11 €';
- $this->assertSame($expected, $is);
- }
- /**
- * 2012-04-06 ms
- */
- public function testToPercentage() {
- $is = NumberLib::toPercentage(22.11, 2, '.');
- $expected = '22.11%';
- $this->assertSame($expected, $is);
- $is = NumberLib::toPercentage(22.11, 2, ',');
- $expected = '22,11%';
- $this->assertSame($expected, $is);
- $is = NumberLib::toPercentage(22.11, 0, ',');
- $expected = '22%';
- $this->assertSame($expected, $is);
- }
- /**
- *2011-04-14 lb
- */
- public function testRoundTo() {
- //increment = 10
- $values = array(
- '22' => 20,
- '15' => 20,
- '3.4' => 0,
- '6' => 10,
- '-3.12' => 0,
- '-10' => -10
- );
- foreach ($values as $was => $expected) {
- $is = NumberLib::roundTo($was, 10);
- //echo returns($expected); echo returns($is); echo BR; ob_flush();
- $this->assertSame($expected, $is, null, $was);
- }
- //increment = 0.1
- $values2 = array(
- '22' => 22.0,
- '15.234' => 15.2,
- '3.4' => 3.4,
- '6.131' => 6.1,
- '-3.17' => -3.2,
- '-10.99' => -11.0
- );
- foreach ($values2 as $was => $expected) {
- $is = NumberLib::roundTo($was, 0.1);
- $this->assertSame($expected, $is, null, $was);
- }
- }
- /**
- *2011-04-14 lb
- */
- public function testRoundUpTo() {
- //increment = 10
- $values = array(
- '22.765' => 30.0,
- '15.22' => 20.0,
- '3.4' => 10.0,
- '6' => 10.0,
- '-3.12' => -0.0,
- '-10' => -10.0
- );
- foreach ($values as $was => $expected) {
- $is = NumberLib::roundUpTo($was, 10);
- $this->assertSame($expected, $is, null, $was);
- }
- //increment = 5
- $values = array(
- '22' => 25.0,
- '15.234' => 20.0,
- '3.4' => 5.0,
- '6.131' => 10.0,
- '-3.17' => -0.0,
- '-10.99' => -10.0
- );
- foreach ($values as $was => $expected) {
- $is = NumberLib::roundUpTo($was, 5);
- $this->assertSame($expected, $is, null, $was);
- }
- }
- /**
- *2011-04-14 lb
- */
- public function testRoundDownTo() {
- //increment = 10
- $values = array(
- '22.765' => 20.0,
- '15.22' => 10.0,
- '3.4' => 0.0,
- '6' => 0.0,
- '-3.12' => -10.0,
- '-10' => -10.0
- );
- foreach ($values as $was => $expected) {
- $is = NumberLib::roundDownTo($was, 10);
- $this->assertSame($expected, $is, null, $was);
- }
- //increment = 3
- $values = array(
- '22' => 21.0,
- '15.234' => 15.0,
- '3.4' => 3.0,
- '6.131' => 6.0,
- '-3.17' => -6.0,
- '-10.99' => -12.0
- );
- foreach ($values as $was => $expected) {
- $is = NumberLib::roundDownTo($was, 3);
- $this->assertSame($expected, $is, null, $was);
- }
- }
- /**
- *2011-04-15 lb
- */
- public function testGetDecimalPlaces() {
- $values = array(
- '100' => -2,
- '0.0001' => 4,
- '10' => -1,
- '0.1' => 1,
- '1' => 0,
- '0.001' => 3
- );
- foreach ($values as $was => $expected) {
- $is = NumberLib::getDecimalPlaces($was, 10);
- $this->assertSame($expected, $is); //, null, $was
- }
- }
- }
|