silverstripe-framework/tests/php/ORM/DBPercentageTest.php

51 lines
1.3 KiB
PHP

<?php
namespace SilverStripe\ORM\Tests;
use SilverStripe\ORM\FieldType\DBPercentage;
use SilverStripe\Dev\SapphireTest;
class DBPercentageTest extends SapphireTest
{
public function testNice()
{
/* Test the default Nice() output of Percentage */
$cases = [
'0.01' => '1.00%',
'0.10' => '10.00%',
'1' => '100.00%',
'1.5' => '150.00%',
'1.5000' => '150.00%',
'1.05' => '105.00%',
'1.0500' => '105.00%',
'0.95' => '95.00%'
];
foreach ($cases as $original => $expected) {
$percentage = new DBPercentage('Probability');
$percentage->setValue($original);
$this->assertEquals($expected, $percentage->Nice());
}
}
public function testCustomPrecision()
{
/* Set a precision that's different from the default with Nice() output */
$cases = [
'0.01' => '1%',
'0.1' => '10%',
'1' => '100%',
'1.5' => '150%',
'1.05' => '105%',
'1.0500' => '105%'
];
foreach ($cases as $original => $expected) {
$percentage = new DBPercentage('Probability', 2);
$percentage->setValue($original);
$this->assertEquals($expected, $percentage->Nice());
}
}
}