exponential.js 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. // Node
  2. if (typeof module !== 'undefined' && module.exports) {
  3. var numeral = require('../../numeral');
  4. var expect = require('chai').expect;
  5. }
  6. describe('Exponential', function() {
  7. after(function() {
  8. numeral.reset();
  9. });
  10. it('should format to exponential notation', function() {
  11. var tests = [
  12. [0,'0e+0','0e+0'],
  13. [null,'0e+0','0e+0'],
  14. [1,'0e+0','1e+0'],
  15. [77.1234,'0.0e+0','7.7e+1'],
  16. [0.000000771234,'0.0e-0','7.7e-7'],
  17. [-0.000000771234,'0.00e-0','-7.71e-7'],
  18. [77.1234,'0.000e+0','7.712e+1'],
  19. [-1000830298,'0.0[000]e+0','-1.0008e+9']
  20. ],
  21. i;
  22. for (i = 0; i < tests.length; i++) {
  23. expect(numeral(tests[i][0]).format(tests[i][1])).to.equal(tests[i][2]);
  24. }
  25. });
  26. it('should unformat to exponential notation', function() {
  27. var tests = [
  28. ['0e+0', 0],
  29. ['1e+0', 1],
  30. ['7.712e+1', 77.12],
  31. ['7.7e-7', 0.00000077],
  32. ['-7.71e-6', -0.00000771],
  33. ['-1.0008e+9', -1000800000]
  34. ],
  35. i;
  36. for (i = 0; i < tests.length; i++) {
  37. expect(numeral(tests[i][0]).value()).to.equal(tests[i][1]);
  38. }
  39. });
  40. });