Переглянути джерело

Add tests for new co-ordinate conversion module.
Removed To/From geohash tests

j433866 6 роки тому
батько
коміт
439654ed7f

+ 1 - 2
test/index.mjs

@@ -44,7 +44,6 @@ import "./tests/operations/DateTime";
 import "./tests/operations/ExtractEmailAddresses";
 import "./tests/operations/Fork";
 import "./tests/operations/FromDecimal";
-import "./tests/operations/FromGeohash";
 import "./tests/operations/Hash";
 import "./tests/operations/HaversineDistance";
 import "./tests/operations/Hexdump";
@@ -74,10 +73,10 @@ import "./tests/operations/SetIntersection";
 import "./tests/operations/SetUnion";
 import "./tests/operations/StrUtils";
 import "./tests/operations/SymmetricDifference";
-import "./tests/operations/ToGeohash.mjs";
 import "./tests/operations/TranslateDateTimeFormat";
 import "./tests/operations/Magic";
 import "./tests/operations/ParseTLV";
+import "./tests/operations/ConvertCoordinateFormat";
 
 let allTestsPassing = true;
 const testStatusCounts = {

+ 211 - 0
test/tests/operations/ConvertCoordinateFormat.mjs

@@ -0,0 +1,211 @@
+/**
+ * Convert co-ordinate format tests
+ *
+ * @author j433866
+ *
+ * @copyright Crown Copyright 2019
+ * @license Apache-2.0
+ */
+
+/**
+ * TEST CO-ORDINATES
+ * DD: 51.504°,-0.126°,
+ * DDM: 51° 30.24',-0° 7.56',
+ * DMS: 51° 30' 14.4",-0° 7' 33.6",
+ * Geohash: gcpvj0h0x,
+ * MGRS: 30U XC 99455 09790,
+ * OSNG: TQ 30163 80005,
+ * UTM: 30N 699456 5709791,
+ */
+
+import TestRegister from "../../TestRegister";
+
+TestRegister.addTests([
+    {
+        name: "Co-ordinates: From Decimal Degrees to Degrees Minutes Seconds",
+        input: "51.504°,-0.126°,",
+        expectedOutput: "51° 30' 14.4\",-0° 7' 33.6\",",
+        recipeConfig: [
+            {
+                op: "Convert co-ordinate format",
+                args: ["Decimal Degrees", "Comma", "Degrees Minutes Seconds", "Comma", "None", 1]
+            },
+        ],
+    },
+    {
+        name: "Co-ordinates: From Degrees Minutes Seconds to Decimal Degrees",
+        input: "51° 30' 14.4\",-0° 7' 33.6\",",
+        expectedOutput: "51.504°,-0.126°,",
+        recipeConfig: [
+            {
+                op: "Convert co-ordinate format",
+                args: ["Degrees Minutes Seconds", "Comma", "Decimal Degrees", "Comma", "None", 3]
+            },
+        ],
+    },
+    {
+        name: "Co-ordinates: From Decimal Degrees to Degrees Decimal Minutes",
+        input: "51.504°,-0.126°,",
+        expectedOutput: "51° 30.24',-0° 7.56',",
+        recipeConfig: [
+            {
+                op: "Convert co-ordinate format",
+                args: ["Decimal Degrees", "Comma", "Degrees Decimal Minutes", "Comma", "None", 2]
+            }
+        ]
+    },
+    {
+        name: "Co-ordinates: From Degrees Decimal Minutes to Decimal Degrees",
+        input: "51° 30.24',-0° 7.56',",
+        expectedOutput: "51.504°,-0.126°,",
+        recipeConfig: [
+            {
+                op: "Convert co-ordinate format",
+                args: ["Degrees Decimal Minutes", "Comma", "Decimal Degrees", "Comma", "None", 3]
+            }
+        ]
+    },
+    {
+        name: "Co-ordinates: From Decimal Degrees to Decimal Degrees",
+        input: "51.504°,-0.126°,",
+        expectedOutput: "51.504°,-0.126°,",
+        recipeConfig: [
+            {
+                op: "Convert co-ordinate format",
+                args: ["Decimal Degrees", "Comma", "Decimal Degrees", "Comma", "None", 3]
+            }
+        ]
+    },
+    {
+        name: "Co-ordinates: From Decimal Degrees to Geohash",
+        input: "51.504°,-0.126°,",
+        expectedOutput: "gcpvj0h0x,",
+        recipeConfig: [
+            {
+                op: "Convert co-ordinate format",
+                args: ["Decimal Degrees", "Comma", "Geohash", "Comma", "None", 9]
+            },
+        ],
+    },
+    {
+        name: "Co-ordinates: From Geohash to Decimal Degrees",
+        input: "gcpvj0h0x,",
+        expectedOutput: "51.504°,-0.126°,",
+        recipeConfig: [
+            {
+                op: "Convert co-ordinate format",
+                args: ["Geohash", "Comma", "Decimal Degrees", "Comma", "None", 3]
+            },
+        ],
+    },
+    {
+        name: "Co-ordinates: From Decimal Degrees to MGRS",
+        input: "51.504°,-0.126°,",
+        expectedOutput: "30U XC 99455 09790,",
+        recipeConfig: [
+            {
+                op: "Convert co-ordinate format",
+                args: ["Decimal Degrees", "Comma", "Military Grid Reference System", "Comma", "None", 10]
+            },
+        ],
+    },
+    {
+        name: "Co-ordinates: From MGRS to Decimal Degrees",
+        input: "30U XC 99455 09790,",
+        expectedOutput: "51.504°,-0.126°,",
+        recipeConfig: [
+            {
+                op: "Convert co-ordinate format",
+                args: ["Military Grid Reference System", "Comma", "Decimal Degrees", "Comma", "None", 3]
+            }
+        ]
+    },
+    {
+        name: "Co-ordinates: From Decimal Degrees to OSNG",
+        input: "51.504°,-0.126°,",
+        expectedOutput: "TQ 30163 80005,",
+        recipeConfig: [
+            {
+                op: "Convert co-ordinate format",
+                args: ["Decimal Degrees", "Comma", "Ordnance Survey National Grid", "Comma", "None", 10]
+            },
+        ],
+    },
+    {
+        name: "Co-ordinates: From OSNG to Decimal Degrees",
+        input: "TQ 30163 80005,",
+        expectedOutput: "51.504°,-0.126°,",
+        recipeConfig: [
+            {
+                op: "Convert co-ordinate format",
+                args: ["Ordnance Survey National Grid", "Comma", "Decimal Degrees", "Comma", "None", 3]
+            },
+        ],
+    },
+    {
+        name: "Co-ordinates: From Decimal Degrees to UTM",
+        input: "51.504°,-0.126°,",
+        expectedOutput: "30 N 699456 5709791,",
+        recipeConfig: [
+            {
+                op: "Convert co-ordinate format",
+                args: ["Decimal Degrees", "Comma", "Universal Transverse Mercator", "Comma", "None", 0]
+            },
+        ],
+    },
+    {
+        name: "Co-ordinates: From UTM to Decimal Degrees",
+        input: "30 N 699456 5709791,",
+        expectedOutput: "51.504°,-0.126°,",
+        recipeConfig: [
+            {
+                op: "Convert co-ordinate format",
+                args: ["Universal Transverse Mercator", "Comma", "Decimal Degrees", "Comma", "None", 3]
+            },
+        ],
+    },
+    {
+        name: "Co-ordinates: Directions in input, not output",
+        input: "N51.504°,W0.126°,",
+        expectedOutput: "51.504°,-0.126°,",
+        recipeConfig: [
+            {
+                op: "Convert co-ordinate format",
+                args: ["Decimal Degrees", "Comma", "Decimal Degrees", "Comma", "None", 3]
+            },
+        ],
+    },
+    {
+        name: "Co-ordinates: Directions in input and output",
+        input: "N51.504°,W0.126°,",
+        expectedOutput: "N 51.504°,W 0.126°,",
+        recipeConfig: [
+            {
+                op: "Convert co-ordinate format",
+                args: ["Decimal Degrees", "Comma", "Decimal Degrees", "Comma", "Before", 3]
+            },
+        ],
+    },
+    {
+        name: "Co-ordinates: Directions not in input, in output",
+        input: "51.504°,-0.126°,",
+        expectedOutput: "N 51.504°,W 0.126°,",
+        recipeConfig: [
+            {
+                op: "Convert co-ordinate format",
+                args: ["Decimal Degrees", "Comma", "Decimal Degrees", "Comma", "Before", 3]
+            },
+        ],
+    },
+    {
+        name: "Co-ordinates: Directions not in input, in converted output",
+        input: "51.504°,-0.126°,",
+        expectedOutput: "N 51° 30' 14.4\",W 0° 7' 33.6\",",
+        recipeConfig: [
+            {
+                op: "Convert co-ordinate format",
+                args: ["Decimal Degrees", "Comma", "Degrees Minutes Seconds", "Comma", "Before", 3]
+            },
+        ],
+    }
+]);

+ 0 - 55
test/tests/operations/FromGeohash.mjs

@@ -1,55 +0,0 @@
-/**
- * To Geohash tests
- *
- * @author gchq77703
- * @copyright Crown Copyright 2018
- * @license Apache-2.0
- */
-import TestRegister from "../../TestRegister";
-
-TestRegister.addTests([
-    {
-        name: "From Geohash",
-        input: "ww8p1r4t8",
-        expectedOutput: "37.83238649368286,112.55838632583618",
-        recipeConfig: [
-            {
-                op: "From Geohash",
-                args: [],
-            },
-        ],
-    },
-    {
-        name: "From Geohash",
-        input: "ww8p1r",
-        expectedOutput: "37.83416748046875,112.5604248046875",
-        recipeConfig: [
-            {
-                op: "From Geohash",
-                args: [],
-            },
-        ],
-    },
-    {
-        name: "From Geohash",
-        input: "ww8",
-        expectedOutput: "37.265625,113.203125",
-        recipeConfig: [
-            {
-                op: "From Geohash",
-                args: [],
-            },
-        ],
-    },
-    {
-        name: "From Geohash",
-        input: "w",
-        expectedOutput: "22.5,112.5",
-        recipeConfig: [
-            {
-                op: "From Geohash",
-                args: [],
-            },
-        ],
-    },
-]);

+ 0 - 55
test/tests/operations/ToGeohash.mjs

@@ -1,55 +0,0 @@
-/**
- * To Geohash tests
- *
- * @author gchq77703
- * @copyright Crown Copyright 2018
- * @license Apache-2.0
- */
-import TestRegister from "../../TestRegister";
-
-TestRegister.addTests([
-    {
-        name: "To Geohash",
-        input: "37.8324,112.5584",
-        expectedOutput: "ww8p1r4t8",
-        recipeConfig: [
-            {
-                op: "To Geohash",
-                args: [9],
-            },
-        ],
-    },
-    {
-        name: "To Geohash",
-        input: "37.9324,-112.2584",
-        expectedOutput: "9w8pv3ruj",
-        recipeConfig: [
-            {
-                op: "To Geohash",
-                args: [9],
-            },
-        ],
-    },
-    {
-        name: "To Geohash",
-        input: "37.8324,112.5584",
-        expectedOutput: "ww8",
-        recipeConfig: [
-            {
-                op: "To Geohash",
-                args: [3],
-            },
-        ],
-    },
-    {
-        name: "To Geohash",
-        input: "37.9324,-112.2584",
-        expectedOutput: "9w8pv3rujxy5b99",
-        recipeConfig: [
-            {
-                op: "To Geohash",
-                args: [15],
-            },
-        ],
-    },
-]);