AmountTraitTest.php 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. <?php
  2. namespace HaoLi\LaravelAmount\Tests;
  3. use PHPUnit\Framework\TestCase;
  4. use HaoLi\LaravelAmount\Traits\AmountTrait;
  5. final class AmountTraitTest extends TestCase
  6. {
  7. use AmountTrait;
  8. protected $amountFields = ['test1', 'test2', 'test3'];
  9. protected $amountTimes;
  10. public function testArrayGetAmountTimes()
  11. {
  12. $this->amountTimes = [
  13. 'test1' => 1000,
  14. 'test2' => 10000,
  15. ];
  16. $this->assertEquals(1000, $this->getAmountTimes('test1'));
  17. $this->assertEquals(10000, $this->getAmountTimes('test2'));
  18. $this->assertEquals(100, $this->getAmountTimes('test3'));
  19. }
  20. public function testNumericGetAmountTimes()
  21. {
  22. $this->amountTimes = 1000;
  23. $this->assertEquals(1000, $this->getAmountTimes('test1'));
  24. $this->assertEquals(1000, $this->getAmountTimes('test2'));
  25. $this->assertEquals(1000, $this->getAmountTimes('test3'));
  26. $this->amountTimes = '1000';
  27. $this->assertEquals(1000, $this->getAmountTimes('test1'));
  28. $this->assertEquals(1000, $this->getAmountTimes('test2'));
  29. $this->assertEquals(1000, $this->getAmountTimes('test3'));
  30. }
  31. public function testOtherGetAmountTimes()
  32. {
  33. $this->amountTimes = 'a';
  34. $this->assertEquals(100, $this->getAmountTimes('test1'));
  35. $this->assertEquals(100, $this->getAmountTimes('test2'));
  36. $this->assertEquals(100, $this->getAmountTimes('test3'));
  37. $this->amountTimes = null;
  38. $this->assertEquals(100, $this->getAmountTimes('test1'));
  39. $this->assertEquals(100, $this->getAmountTimes('test2'));
  40. $this->assertEquals(100, $this->getAmountTimes('test3'));
  41. }
  42. }