shapes-test.ts 13 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. import {getShapes} from '../index';
  2. let amap = require('../index');
  3. import * as AirspaceInfo from '../index';
  4. import * as vars from "./vars";
  5. import Global from '../Common'
  6. let getDefaultStyle = amap.__get__('getDefaultStyle');
  7. let defaultStyle = getDefaultStyle();
  8. let {imageName, ...circleStyle} = defaultStyle;
  9. let {radius_of_flying, ... circleServerWithoutRadius } = vars.circleServer
  10. let {radius, ... circleLocalWithoutRadius } = vars.circleLocal
  11. let tests = [
  12. {
  13. 'name': '圆形空域 服务器端格式',
  14. 'input': vars.circleServer,
  15. 'output': {"circles": [{"coordinate": {"latitude": 123.4, "longitude": 40.3}, "fillColor": "#58A8F511", "lineWidth": 3, "radius": 123, "strokeColor": "#58A8F5"}], "lines": [], "markers": [], "polygons": [], "regionPoints": [{"lat": 56.59889383442472, "lng": 40.299999999999955}, {"lat": 56.59999998380605, "lng": 40.29799054627267}, {"lat": 56.60110616557528, "lng": 40.299999999999955}, {"lat": 56.59999998380605, "lng": 40.30200945372724}]}
  16. },{
  17. 'name': '圆形空域 服务器端格式 无半径',
  18. 'input': <AirspaceInfo.AirspaceInfoCircleServer>circleServerWithoutRadius,
  19. 'output': {"circles": [], "lines": [], "markers": [{"coordinate": {"latitude": 123.4, "longitude": 40.3}, "imageName": "BA_oval"}], "polygons": [], "regionPoints": []}
  20. },{
  21. 'name': '圆形空域 本地格式',
  22. 'input': vars.circleLocal,
  23. 'output': {"circles": [{"coordinate": {"latitude": 123.4, "longitude": 40.3}, "fillColor": "#58A8F511", "lineWidth": 3, "radius": 123, "strokeColor": "#58A8F5"}], "lines": [], "markers": [], "polygons": [], "regionPoints": [{"lat": 56.59889383442472, "lng": 40.299999999999955}, {"lat": 56.59999998380605, "lng": 40.29799054627267}, {"lat": 56.60110616557528, "lng": 40.299999999999955}, {"lat": 56.59999998380605, "lng": 40.30200945372724}]}
  24. },{
  25. 'name': '圆形空域 本地格式 无半径',
  26. 'input': <AirspaceInfo.AirspaceInfoCircleLocal>circleLocalWithoutRadius,
  27. 'output': {"circles": [], "lines": [], "markers": [{"coordinate": {"latitude": 123.4, "longitude": 40.3}, "imageName": "BA_oval"}], "polygons": [], "regionPoints": []}
  28. },{
  29. 'name': '多边形空域 服务器端格式',
  30. 'input': vars.polygonServer,
  31. 'output': {"circles": [], "lines": [], "markers": [{"coordinate": {"latitude": 123.4, "longitude": 40.3}, "imageName": "BA_oval"}], "polygons": [{"coordinates": [{"latitude": 123.4, "longitude": 40.3}], "fillColor": "#58A8F511", "lineWidth": 3, "strokeColor": "#58A8F5"}], "regionPoints": [{"latitude": 123.4, "longitude": 40.3}]}
  32. },{
  33. 'name': '多边形空域 本地格式',
  34. 'input': vars.polygonServer,
  35. 'output': {"circles": [], "lines": [], "markers": [{"coordinate": {"latitude": 123.4, "longitude": 40.3}, "imageName": "BA_oval"}], "polygons": [{"coordinates": [{"latitude": 123.4, "longitude": 40.3}], "fillColor": "#58A8F511", "lineWidth": 3, "strokeColor": "#58A8F5"}], "regionPoints": [{"latitude": 123.4, "longitude": 40.3}]}
  36. },
  37. {
  38. 'name': '线型空域 服务器端格式',
  39. 'input': vars.lineServer1,
  40. 'output': {"circles": [], "lines": [{"coordinates": [{"latitude": 123.4, "longitude": 40.3}, {"latitude": 123.4, "longitude": 40.3}], "lineWidth": 3, "strokeColor": "#58A8F5"}, {"coordinates": [{"lat": 123.4, "lng": 40.3, "point_code": "UAV22", "point_id": 123, "point_name": "test point"}], "lineWidth": 3, "strokeColor": "#58A8F5"}, {"coordinates": [{"latitude": 123.4, "longitude": 40.3}, {"latitude": 123.4, "longitude": 40.3}], "lineWidth": 3, "strokeColor": "#58A8F5"}], "markers": [{"coordinate": {"latitude": 123.4, "longitude": 40.3}, "imageName": "BA_oval"}, {"coordinate": {"latitude": 123.4, "longitude": 40.3}, "imageName": "BA_oval"}, {"coordinate": {"latitude": 123.4, "longitude": 40.3}, "imageName": "BA_oval"}, {"coordinate": {"latitude": 123.4, "longitude": 40.3}, "imageName": "BA_oval"}], "polygons": [{"coordinates": [{"lat": 56.59999999984587, "lng": 40.30019604426616}, {"lat": 56.599966651181425, "lng": 40.300186449012244}, {"lat": 56.59993656694188, "lng": 40.30015860287665}, {"lat": 56.59991269197125, "lng": 40.300115231662176}, {"lat": 56.59989736330446, "lng": 40.3000605808453}, {"lat": 56.5998920814073, "lng": 40.299999999999955}, {"lat": 56.59989736330446, "lng": 40.299939419154725}, {"lat": 56.59991269197125, "lng": 40.29988476833785}, {"lat": 56.59993656694188, "lng": 40.29984139712337}, {"lat": 56.599966651181425, "lng": 40.29981355098778}, {"lat": 56.59999999984587, "lng": 40.299803955733864}, {"lat": 56.59999999984587, "lng": 40.299803955733864}, {"lat": 56.600033348539746, "lng": 40.299813550658655}, {"lat": 56.60006343285637, "lng": 40.29984139659075}, {"lat": 56.60008730792226, "lng": 40.299884767805224}, {"lat": 56.60010263666612, "lng": 40.29993941882549}, {"lat": 56.60010791859273, "lng": 40.299999999999955}, {"lat": 56.60010263666612, "lng": 40.30006058117442}, {"lat": 56.60008730792226, "lng": 40.300115232194685}, {"lat": 56.60006343285637, "lng": 40.30015860340927}, {"lat": 56.600033348539746, "lng": 40.30018644934137}, {"lat": 56.59999999984587, "lng": 40.30019604426616}], "fillColor": "#58A8F511", "lineWidth": 1, "strokeColor": "#58A8F5"}, {"coordinates": [{"lat": 56.59999999984587, "lng": 40.30019604426616}, {"lat": 56.599966651181425, "lng": 40.300186449012244}, {"lat": 56.59993656694188, "lng": 40.30015860287665}, {"lat": 56.59991269197125, "lng": 40.300115231662176}, {"lat": 56.59989736330446, "lng": 40.3000605808453}, {"lat": 56.5998920814073, "lng": 40.299999999999955}, {"lat": 56.59989736330446, "lng": 40.299939419154725}, {"lat": 56.59991269197125, "lng": 40.29988476833785}, {"lat": 56.59993656694188, "lng": 40.29984139712337}, {"lat": 56.599966651181425, "lng": 40.29981355098778}, {"lat": 56.59999999984587, "lng": 40.299803955733864}, {"lat": 56.59999999984587, "lng": 40.299803955733864}, {"lat": 56.600033348539746, "lng": 40.299813550658655}, {"lat": 56.60006343285637, "lng": 40.29984139659075}, {"lat": 56.60008730792226, "lng": 40.299884767805224}, {"lat": 56.60010263666612, "lng": 40.29993941882549}, {"lat": 56.60010791859273, "lng": 40.299999999999955}, {"lat": 56.60010263666612, "lng": 40.30006058117442}, {"lat": 56.60008730792226, "lng": 40.300115232194685}, {"lat": 56.60006343285637, "lng": 40.30015860340927}, {"lat": 56.600033348539746, "lng": 40.30018644934137}, {"lat": 56.59999999984587, "lng": 40.30019604426616}], "fillColor": "#58A8F511", "lineWidth": 1, "strokeColor": "#58A8F5"}], "regionPoints": [{"latitude": 123.4, "longitude": 40.3}, {"latitude": 123.4, "longitude": 40.3}, {"lat": 123.4, "lng": 40.3, "point_code": "UAV22", "point_id": 123, "point_name": "test point"}, {"latitude": 123.4, "longitude": 40.3}, {"latitude": 123.4, "longitude": 40.3}]}
  41. },{
  42. 'name': '线型空域 本地格式',
  43. 'input': vars.lineLocal1,
  44. 'output': {"circles": [], "lines": [{"coordinates": [{"latitude": 123.4, "longitude": 40.3}, {"latitude": 123.4, "longitude": 40.3}], "lineWidth": 3, "strokeColor": "#58A8F5"}, {"coordinates": [{"lat": 123.4, "lng": 40.3, "point_code": "UAV22", "point_id": 123, "point_name": "test point"}], "lineWidth": 3, "strokeColor": "#58A8F5"}, {"coordinates": [{"latitude": 123.4, "longitude": 40.3}, {"latitude": 123.4, "longitude": 40.3}], "lineWidth": 3, "strokeColor": "#58A8F5"}], "markers": [{"coordinate": {"latitude": 123.4, "longitude": 40.3}, "imageName": "BA_oval"}, {"coordinate": {"latitude": 123.4, "longitude": 40.3}, "imageName": "BA_oval"}, {"coordinate": {"latitude": 123.4, "longitude": 40.3}, "imageName": "BA_oval"}, {"coordinate": {"latitude": 123.4, "longitude": 40.3}, "imageName": "BA_oval"}], "polygons": [{"coordinates": [{"lat": 56.59999999984587, "lng": 40.30019604426616}, {"lat": 56.599966651181425, "lng": 40.300186449012244}, {"lat": 56.59993656694188, "lng": 40.30015860287665}, {"lat": 56.59991269197125, "lng": 40.300115231662176}, {"lat": 56.59989736330446, "lng": 40.3000605808453}, {"lat": 56.5998920814073, "lng": 40.299999999999955}, {"lat": 56.59989736330446, "lng": 40.299939419154725}, {"lat": 56.59991269197125, "lng": 40.29988476833785}, {"lat": 56.59993656694188, "lng": 40.29984139712337}, {"lat": 56.599966651181425, "lng": 40.29981355098778}, {"lat": 56.59999999984587, "lng": 40.299803955733864}, {"lat": 56.59999999984587, "lng": 40.299803955733864}, {"lat": 56.600033348539746, "lng": 40.299813550658655}, {"lat": 56.60006343285637, "lng": 40.29984139659075}, {"lat": 56.60008730792226, "lng": 40.299884767805224}, {"lat": 56.60010263666612, "lng": 40.29993941882549}, {"lat": 56.60010791859273, "lng": 40.299999999999955}, {"lat": 56.60010263666612, "lng": 40.30006058117442}, {"lat": 56.60008730792226, "lng": 40.300115232194685}, {"lat": 56.60006343285637, "lng": 40.30015860340927}, {"lat": 56.600033348539746, "lng": 40.30018644934137}, {"lat": 56.59999999984587, "lng": 40.30019604426616}], "fillColor": "#58A8F511", "lineWidth": 1, "strokeColor": "#58A8F5"}, {"coordinates": [{"lat": 56.59999999984587, "lng": 40.30019604426616}, {"lat": 56.599966651181425, "lng": 40.300186449012244}, {"lat": 56.59993656694188, "lng": 40.30015860287665}, {"lat": 56.59991269197125, "lng": 40.300115231662176}, {"lat": 56.59989736330446, "lng": 40.3000605808453}, {"lat": 56.5998920814073, "lng": 40.299999999999955}, {"lat": 56.59989736330446, "lng": 40.299939419154725}, {"lat": 56.59991269197125, "lng": 40.29988476833785}, {"lat": 56.59993656694188, "lng": 40.29984139712337}, {"lat": 56.599966651181425, "lng": 40.29981355098778}, {"lat": 56.59999999984587, "lng": 40.299803955733864}, {"lat": 56.59999999984587, "lng": 40.299803955733864}, {"lat": 56.600033348539746, "lng": 40.299813550658655}, {"lat": 56.60006343285637, "lng": 40.29984139659075}, {"lat": 56.60008730792226, "lng": 40.299884767805224}, {"lat": 56.60010263666612, "lng": 40.29993941882549}, {"lat": 56.60010791859273, "lng": 40.299999999999955}, {"lat": 56.60010263666612, "lng": 40.30006058117442}, {"lat": 56.60008730792226, "lng": 40.300115232194685}, {"lat": 56.60006343285637, "lng": 40.30015860340927}, {"lat": 56.600033348539746, "lng": 40.30018644934137}, {"lat": 56.59999999984587, "lng": 40.30019604426616}], "fillColor": "#58A8F511", "lineWidth": 1, "strokeColor": "#58A8F5"}], "regionPoints": [{"latitude": 123.4, "longitude": 40.3}, {"latitude": 123.4, "longitude": 40.3}, {"lat": 123.4, "lng": 40.3, "point_code": "UAV22", "point_id": 123, "point_name": "test point"}, {"latitude": 123.4, "longitude": 40.3}, {"latitude": 123.4, "longitude": 40.3}]}
  45. },{
  46. 'name': '线型空域 不带宽度 服务器端格式',
  47. 'input': vars.lineServer2,
  48. 'output': {"circles": [], "lines": [{"coordinates": [{"latitude": 123.4, "longitude": 40.3}, {"latitude": 123.4, "longitude": 40.3}], "lineWidth": 3, "strokeColor": "#58A8F5"}, {"coordinates": [{"lat": 123.4, "lng": 40.3, "point_code": "UAV22", "point_id": 123, "point_name": "test point"}], "lineWidth": 3, "strokeColor": "#58A8F5"}, {"coordinates": [{"latitude": 123.4, "longitude": 40.3}, {"latitude": 123.4, "longitude": 40.3}], "lineWidth": 3, "strokeColor": "#58A8F5"}], "markers": [{"coordinate": {"latitude": 123.4, "longitude": 40.3}, "imageName": "BA_oval"}, {"coordinate": {"latitude": 123.4, "longitude": 40.3}, "imageName": "BA_oval"}, {"coordinate": {"latitude": 123.4, "longitude": 40.3}, "imageName": "BA_oval"}, {"coordinate": {"latitude": 123.4, "longitude": 40.3}, "imageName": "BA_oval"}], "polygons": [], "regionPoints": [{"latitude": 123.4, "longitude": 40.3}, {"latitude": 123.4, "longitude": 40.3}, {"lat": 123.4, "lng": 40.3, "point_code": "UAV22", "point_id": 123, "point_name": "test point"}, {"latitude": 123.4, "longitude": 40.3}, {"latitude": 123.4, "longitude": 40.3}]}
  49. },{
  50. 'name': '线型空域 不带宽度 本地格式',
  51. 'input': vars.lineLocal2,
  52. 'output': {"circles": [], "lines": [{"coordinates": [{"latitude": 123.4, "longitude": 40.3}, {"latitude": 123.4, "longitude": 40.3}], "lineWidth": 3, "strokeColor": "#58A8F5"}, {"coordinates": [{"lat": 123.4, "lng": 40.3, "point_code": "UAV22", "point_id": 123, "point_name": "test point"}], "lineWidth": 3, "strokeColor": "#58A8F5"}, {"coordinates": [{"latitude": 123.4, "longitude": 40.3}, {"latitude": 123.4, "longitude": 40.3}], "lineWidth": 3, "strokeColor": "#58A8F5"}], "markers": [{"coordinate": {"latitude": 123.4, "longitude": 40.3}, "imageName": "BA_oval"}, {"coordinate": {"latitude": 123.4, "longitude": 40.3}, "imageName": "BA_oval"}, {"coordinate": {"latitude": 123.4, "longitude": 40.3}, "imageName": "BA_oval"}, {"coordinate": {"latitude": 123.4, "longitude": 40.3}, "imageName": "BA_oval"}], "polygons": [], "regionPoints": [{"latitude": 123.4, "longitude": 40.3}, {"latitude": 123.4, "longitude": 40.3}, {"lat": 123.4, "lng": 40.3, "point_code": "UAV22", "point_id": 123, "point_name": "test point"}, {"latitude": 123.4, "longitude": 40.3}, {"latitude": 123.4, "longitude": 40.3}]}
  53. }
  54. ]
  55. for(let t of tests) {
  56. test(t.name, () => {
  57. expect(getShapes([t.input])).toEqual(t.output)
  58. });
  59. }