Remove multi-line operations

This commit is contained in:
GCHQ 77703 2018-08-26 18:06:02 +01:00
parent a1b1059ad1
commit 001f3f30cd
4 changed files with 57 additions and 17 deletions

View File

@ -34,10 +34,8 @@ class FromGeohash extends Operation {
* @returns {string}
*/
run(input, args) {
return input.split("\n").map(line => {
const coords = geohash.decode(line);
return [coords.latitude, coords.longitude].join(",");
}).join("\n");
const coords = geohash.decode(input);
return [coords.latitude, coords.longitude].join(",");
}
}

View File

@ -41,11 +41,9 @@ class ToGeohash extends Operation {
run(input, args) {
const [precision] = args;
return input.split("\n").map(line => {
line = line.replace(/ /g, "");
if (line === "") return "";
return geohash.encode(...line.split(",").map(num => parseFloat(num)), precision);
}).join("\n");
input = input.replace(/ /g, "");
if (input === "") return "";
return geohash.encode(...input.split(",").map(num => parseFloat(num)), precision);
}
}

View File

@ -11,8 +11,8 @@ import TestRegister from "../../TestRegister";
TestRegister.addTests([
{
name: "From Geohash",
input: "ww8p1r4t8\nww8p1r\nww8\nw",
expectedOutput: "37.83238649368286,112.55838632583618\n37.83416748046875,112.5604248046875\n37.265625,113.203125\n22.5,112.5",
input: "ww8p1r4t8",
expectedOutput: "37.83238649368286,112.55838632583618",
recipeConfig: [
{
op: "From Geohash",
@ -22,8 +22,30 @@ TestRegister.addTests([
},
{
name: "From Geohash",
input: "w\n\nw\n\n\nw",
expectedOutput: "22.5,112.5\n0,0\n22.5,112.5\n0,0\n0,0\n22.5,112.5",
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",

View File

@ -11,8 +11,8 @@ import TestRegister from "../../TestRegister";
TestRegister.addTests([
{
name: "To Geohash",
input: "37.8324,112.5584\n37.9324,-112.2584",
expectedOutput: "ww8p1r4t8\n9w8pv3ruj",
input: "37.8324,112.5584",
expectedOutput: "ww8p1r4t8",
recipeConfig: [
{
op: "To Geohash",
@ -22,8 +22,8 @@ TestRegister.addTests([
},
{
name: "To Geohash",
input: "37.8324,112.5584\n\n\n",
expectedOutput: "ww8p1r4t8\n\n\n",
input: "37.9324,-112.2584",
expectedOutput: "9w8pv3ruj",
recipeConfig: [
{
op: "To Geohash",
@ -31,4 +31,26 @@ TestRegister.addTests([
},
],
},
{
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],
},
],
},
]);