Use round for float to fixed coordinate transformations

This commit is contained in:
Michael Krasnyk
2017-01-17 17:17:47 +01:00
committed by Patrick Niklaus
parent c03aa8a273
commit e8167b2e4e
22 changed files with 179 additions and 178 deletions
+62 -62
View File
@@ -16,8 +16,8 @@ Feature: Distance calculation
| ab |
When I route I should get
| from | to | route | distance |
| a | b | ab,ab | 100m +- 2 |
| from | to | route | distance |
| a | b | ab,ab | 100m |
Scenario: Distance should equal sum of segments, leftwinded
Given the node map
@@ -33,7 +33,7 @@ Feature: Distance calculation
When I route I should get
| from | to | route | distance |
| a | d | abcde,abcde | 300m +-2 |
| a | d | abcde,abcde | 300m +-1 |
Scenario: Distance should equal sum of segments, rightwinded
Given the node map
@@ -49,7 +49,7 @@ Feature: Distance calculation
When I route I should get
| from | to | route | distance |
| a | d | abcde,abcde | 300m +-2 |
| a | d | abcde,abcde | 300m +-1 |
Scenario: 10m distances
Given a grid size of 10 meters
@@ -65,12 +65,12 @@ Feature: Distance calculation
When I route I should get
| from | to | route | distance |
| a | b | abc,abc | 10m +-2 |
| b | a | abc,abc | 10m +-2 |
| b | c | abc,abc | 10m +-2 |
| c | b | abc,abc | 10m +-2 |
| a | c | abc,abc | 20m +-4 |
| c | a | abc,abc | 20m +-4 |
| a | b | abc,abc | 10m |
| b | a | abc,abc | 10m |
| b | c | abc,abc | 10m |
| c | b | abc,abc | 10m |
| a | c | abc,abc | 20m |
| c | a | abc,abc | 20m |
Scenario: 100m distances
Given a grid size of 100 meters
@@ -86,12 +86,12 @@ Feature: Distance calculation
When I route I should get
| from | to | route | distance |
| a | b | abc,abc | 100m +-2 |
| b | a | abc,abc | 100m +-2 |
| b | c | abc,abc | 100m +-2 |
| c | b | abc,abc | 100m +-2 |
| a | c | abc,abc | 200m +-4 |
| c | a | abc,abc | 200m +-4 |
| a | b | abc,abc | 100m |
| b | a | abc,abc | 100m |
| b | c | abc,abc | 100m |
| c | b | abc,abc | 100m |
| a | c | abc,abc | 200m |
| c | a | abc,abc | 200m |
Scenario: 1km distance
Given a grid size of 1000 meters
@@ -107,12 +107,12 @@ Feature: Distance calculation
When I route I should get
| from | to | route | distance |
| a | b | abc,abc | 1000m +-2 |
| b | a | abc,abc | 1000m +-2 |
| b | c | abc,abc | 1000m +-2 |
| c | b | abc,abc | 1000m +-2 |
| a | c | abc,abc | 2000m +-4 |
| c | a | abc,abc | 2000m +-4 |
| a | b | abc,abc | 1000m +-1 |
| b | a | abc,abc | 1000m +-1 |
| b | c | abc,abc | 1000m +-1 |
| c | b | abc,abc | 1000m +-1 |
| a | c | abc,abc | 2000m +-1 |
| c | a | abc,abc | 2000m +-1 |
Scenario: Distance of a winding south-north path
Given a grid size of 10 meters
@@ -130,13 +130,13 @@ Feature: Distance calculation
When I route I should get
| from | to | route | distance |
| a | b | abcdefgh,abcdefgh | 10m +-2 |
| a | c | abcdefgh,abcdefgh | 20m +-4 |
| a | d | abcdefgh,abcdefgh | 30m +-6 |
| a | e | abcdefgh,abcdefgh | 40m +-8 |
| a | f | abcdefgh,abcdefgh | 50m +-10 |
| a | g | abcdefgh,abcdefgh | 60m +-12 |
| a | h | abcdefgh,abcdefgh | 70m +-14 |
| a | b | abcdefgh,abcdefgh | 10m |
| a | c | abcdefgh,abcdefgh | 20m |
| a | d | abcdefgh,abcdefgh | 30m |
| a | e | abcdefgh,abcdefgh | 40m |
| a | f | abcdefgh,abcdefgh | 50m |
| a | g | abcdefgh,abcdefgh | 60m +-1 |
| a | h | abcdefgh,abcdefgh | 70m +-1 |
Scenario: Distance of a winding east-west path
Given a grid size of 10 meters
@@ -152,13 +152,13 @@ Feature: Distance calculation
When I route I should get
| from | to | route | distance |
| a | b | abcdefgh,abcdefgh | 10m +-2 |
| a | c | abcdefgh,abcdefgh | 20m +-4 |
| a | d | abcdefgh,abcdefgh | 30m +-6 |
| a | e | abcdefgh,abcdefgh | 40m +-8 |
| a | f | abcdefgh,abcdefgh | 50m +-10 |
| a | g | abcdefgh,abcdefgh | 60m +-12 |
| a | h | abcdefgh,abcdefgh | 70m +-14 |
| a | b | abcdefgh,abcdefgh | 10m |
| a | c | abcdefgh,abcdefgh | 20m |
| a | d | abcdefgh,abcdefgh | 30m |
| a | e | abcdefgh,abcdefgh | 40m |
| a | f | abcdefgh,abcdefgh | 50m |
| a | g | abcdefgh,abcdefgh | 60m +-1 |
| a | h | abcdefgh,abcdefgh | 70m +-1 |
Scenario: Geometric distances
Given a grid size of 100 meters
@@ -201,31 +201,31 @@ Feature: Distance calculation
| xy |
When I route I should get
| from | to | route | distance |
| x | a | xa,xa | 300m +-2 |
| x | b | xb,xb | 316m +-2 |
| x | c | xc,xc | 360m +-2 |
| x | d | xd,xd | 424m +-2 |
| x | e | xe,xe | 360m +-2 |
| x | f | xf,xf | 316m +-2 |
| x | g | xg,xg | 300m +-2 |
| x | h | xh,xh | 316m +-2 |
| x | i | xi,xi | 360m +-2 |
| x | j | xj,xj | 424m +-2 |
| x | k | xk,xk | 360m +-2 |
| x | l | xl,xl | 316m +-2 |
| x | m | xm,xm | 300m +-2 |
| x | n | xn,xn | 316m +-2 |
| x | o | xo,xo | 360m +-2 |
| x | p | xp,xp | 424m +-2 |
| x | q | xq,xq | 360m +-2 |
| x | r | xr,xr | 316m +-2 |
| x | s | xs,xs | 300m +-2 |
| x | t | xt,xt | 316m +-2 |
| x | u | xu,xu | 360m +-2 |
| x | v | xv,xv | 424m +-2 |
| x | w | xw,xw | 360m +-2 |
| x | y | xy,xy | 316m +-2 |
| from | to | route | distance |
| x | a | xa,xa | 300m +-1 |
| x | b | xb,xb | 316m +-1 |
| x | c | xc,xc | 360m +-1 |
| x | d | xd,xd | 424m +-1 |
| x | e | xe,xe | 360m +-1 |
| x | f | xf,xf | 316m +-1 |
| x | g | xg,xg | 300m +-1 |
| x | h | xh,xh | 316m +-1 |
| x | i | xi,xi | 360m +-1 |
| x | j | xj,xj | 424m +-1 |
| x | k | xk,xk | 360m +-1 |
| x | l | xl,xl | 316m +-1 |
| x | m | xm,xm | 300m +-1 |
| x | n | xn,xn | 316m +-1 |
| x | o | xo,xo | 360m +-1 |
| x | p | xp,xp | 424m +-1 |
| x | q | xq,xq | 360m +-1 |
| x | r | xr,xr | 316m +-1 |
| x | s | xs,xs | 300m +-1 |
| x | t | xt,xt | 316m +-1 |
| x | u | xu,xu | 360m +-1 |
| x | v | xv,xv | 424m +-1 |
| x | w | xw,xw | 360m +-1 |
| x | y | xy,xy | 316m +-1 |
@maze
Scenario: Distance of a maze of short segments
@@ -245,4 +245,4 @@ Feature: Distance calculation
When I route I should get
| from | to | route | distance |
| a | t | abcdefghijklmnopqrst,abcdefghijklmnopqrst | 133m +-2 |
| a | t | abcdefghijklmnopqrst,abcdefghijklmnopqrst | 133m +-1 |