utils-test.ts 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. import {
  2. latLngDegreesToDecimal,
  3. latLngDecimalToDegrees,
  4. isObject,
  5. isSafeString,
  6. hasPoint,
  7. isNumber,
  8. isUndefined
  9. } from '../Utils'
  10. let tests1: [number, string][] = [
  11. [205.395583333332, '205°23′44″'],
  12. [0, '0°00′00″'],
  13. [-100, '-100°00′00″'],
  14. [180, '180°00′00″'],
  15. [360, '360°00′00″'],
  16. [900, '900°00′00″']
  17. ]
  18. for(let t of tests1) {
  19. test(`latLng 数值 -> 度分秒: ${t[0]} -> ${t[1]}`, () => {
  20. expect(latLngDecimalToDegrees(t[0])).toBe(t[1]);
  21. })
  22. }
  23. let tests2: [number, string][] = [
  24. [205.39555555555555, '205°23′44″'],
  25. [0, '0°00′00″'],
  26. [-100, '-100°00′00″'],
  27. [180, '180°00′00″'],
  28. [360, '360°00′00″'],
  29. [900, '900°00′00″'],
  30. [900, '900°'],
  31. [900, '900°00′']
  32. ]
  33. for(let t of tests2) {
  34. test(`latLng 度分秒 -> 数值: ${t[1]} -> ${t[0]}`, () => {
  35. expect(latLngDegreesToDecimal(t[1])).toBe(t[0]);
  36. })
  37. }
  38. let input: any[] = [undefined, true, {}, [], 1, 0, null, Object.create({}), '', '111', NaN, Infinity]
  39. let tests3: boolean[] = [false, false, true, true, false, false, false, true, false, false, false, false]
  40. let tests4: boolean[] = [true, false, false, false, false, false, false, false, false, false, false, false]
  41. let tests5: boolean[] = [false, false, false, false, false, false, false, false, false, true, false, false]
  42. let tests6: boolean[] = [false, false, false, false, true, true, false, false, false, false, true, true]
  43. for(let i=0; i<input.length; i++) {
  44. let ii = input[i];
  45. test(`isObject: ${ii} = ${tests3[i]}`, () => {
  46. expect(isObject(ii)).toBe(tests3[i]);
  47. })
  48. test(`isUndefined: ${ii} = ${tests4[i]}`, () => {
  49. expect(isUndefined(ii)).toBe(tests4[i]);
  50. })
  51. test(`isSafeString: ${ii} = ${tests5[i]}`, () => {
  52. expect(isSafeString(ii)).toBe(tests5[i]);
  53. })
  54. test(`isNumber: ${ii} = ${tests6[i]}`, () => {
  55. expect(isNumber(ii)).toBe(tests6[i]);
  56. })
  57. }
  58. let tests7: [any, boolean][] = [
  59. [{'lat': '111.11', 'lng': '222.22'}, true],
  60. [{'lat': 111.11, 'lng': 222.22}, false],
  61. [{'lat': 111.11, 'lng': '222.22'}, false],
  62. [{'lat': 111.11}, false],
  63. [{}, false]
  64. ]
  65. for(let t of tests7) {
  66. test(`hasPoint: ${t[0]} = ${t[1]}`, () => {
  67. expect(hasPoint(t[0])).toBe(t[1])
  68. })
  69. }