19
19
package com .graphhopper .storage ;
20
20
21
21
import com .graphhopper .routing .profiles .DecimalEncodedValue ;
22
- import com .graphhopper .routing .profiles .EncodedValueLookup ;
23
22
import com .graphhopper .routing .profiles .TurnCost ;
24
23
import com .graphhopper .routing .util .BikeFlagEncoder ;
25
24
import com .graphhopper .routing .util .CarFlagEncoder ;
28
27
import org .junit .Before ;
29
28
import org .junit .Test ;
30
29
31
- import java .util .*;
30
+ import java .util .Arrays ;
31
+ import java .util .HashSet ;
32
+ import java .util .List ;
33
+ import java .util .Set ;
32
34
33
35
import static com .graphhopper .util .GHUtility .getEdge ;
34
36
import static org .junit .Assert .assertEquals ;
@@ -67,52 +69,53 @@ public void testMultipleTurnCosts() {
67
69
initGraph (g );
68
70
TurnCostStorage turnCostStorage = g .getTurnCostStorage ();
69
71
70
- DecimalEncodedValue car = (( EncodedValueLookup ) manager ) .getDecimalEncodedValue (TurnCost .key ("car" ));
71
- DecimalEncodedValue bike = (( EncodedValueLookup ) manager ) .getDecimalEncodedValue (TurnCost .key ("bike" ));
72
+ DecimalEncodedValue carEnc = manager .getDecimalEncodedValue (TurnCost .key ("car" ));
73
+ DecimalEncodedValue bikeEnc = manager .getDecimalEncodedValue (TurnCost .key ("bike" ));
72
74
int edge42 = getEdge (g , 4 , 2 ).getEdge ();
73
75
int edge23 = getEdge (g , 2 , 3 ).getEdge ();
74
76
int edge31 = getEdge (g , 3 , 1 ).getEdge ();
75
77
int edge10 = getEdge (g , 1 , 0 ).getEdge ();
76
78
int edge02 = getEdge (g , 0 , 2 ).getEdge ();
77
79
int edge24 = getEdge (g , 2 , 4 ).getEdge ();
78
80
79
- turnCostStorage .set (car , edge42 , 2 , edge23 , Double .POSITIVE_INFINITY );
80
- turnCostStorage .set (bike , edge42 , 2 , edge23 , Double .POSITIVE_INFINITY );
81
- turnCostStorage .set (car , edge23 , 3 , edge31 , Double .POSITIVE_INFINITY );
82
- turnCostStorage .set (bike , edge23 , 3 , edge31 , 2.0 );
83
- turnCostStorage .set (car , edge31 , 1 , edge10 , 2.0 );
84
- turnCostStorage .set (bike , edge31 , 1 , edge10 , Double .POSITIVE_INFINITY );
85
- turnCostStorage .set (bike , edge02 , 2 , edge24 , Double .POSITIVE_INFINITY );
81
+ turnCostStorage .set (carEnc , edge42 , 2 , edge23 , Double .POSITIVE_INFINITY );
82
+ turnCostStorage .set (bikeEnc , edge42 , 2 , edge23 , Double .POSITIVE_INFINITY );
83
+ turnCostStorage .set (carEnc , edge23 , 3 , edge31 , Double .POSITIVE_INFINITY );
84
+ turnCostStorage .set (bikeEnc , edge23 , 3 , edge31 , 2.0 );
85
+ turnCostStorage .set (carEnc , edge31 , 1 , edge10 , 2.0 );
86
+ turnCostStorage .set (bikeEnc , edge31 , 1 , edge10 , Double .POSITIVE_INFINITY );
87
+ turnCostStorage .set (bikeEnc , edge02 , 2 , edge24 , Double .POSITIVE_INFINITY );
86
88
87
- assertEquals (Double .POSITIVE_INFINITY , turnCostStorage .get (car , edge42 , 2 , edge23 ), 0 );
88
- assertEquals (Double .POSITIVE_INFINITY , turnCostStorage .get (bike , edge42 , 2 , edge23 ), 0 );
89
+ assertEquals (Double .POSITIVE_INFINITY , turnCostStorage .get (carEnc , edge42 , 2 , edge23 ), 0 );
90
+ assertEquals (Double .POSITIVE_INFINITY , turnCostStorage .get (bikeEnc , edge42 , 2 , edge23 ), 0 );
89
91
90
- assertEquals (Double .POSITIVE_INFINITY , turnCostStorage .get (car , edge23 , 3 , edge31 ), 0 );
91
- assertEquals (2.0 , turnCostStorage .get (bike , edge23 , 3 , edge31 ), 0 );
92
+ assertEquals (Double .POSITIVE_INFINITY , turnCostStorage .get (carEnc , edge23 , 3 , edge31 ), 0 );
93
+ assertEquals (2.0 , turnCostStorage .get (bikeEnc , edge23 , 3 , edge31 ), 0 );
92
94
93
- assertEquals (2.0 , turnCostStorage .get (car , edge31 , 1 , edge10 ), 0 );
94
- assertEquals (Double .POSITIVE_INFINITY , turnCostStorage .get (bike , edge31 , 1 , edge10 ), 0 );
95
+ assertEquals (2.0 , turnCostStorage .get (carEnc , edge31 , 1 , edge10 ), 0 );
96
+ assertEquals (Double .POSITIVE_INFINITY , turnCostStorage .get (bikeEnc , edge31 , 1 , edge10 ), 0 );
95
97
96
- assertEquals (0.0 , turnCostStorage .get (car , edge02 , 2 , edge24 ), 0 );
97
- assertEquals (Double .POSITIVE_INFINITY , turnCostStorage .get (bike , edge02 , 2 , edge24 ), 0 );
98
+ assertEquals (0.0 , turnCostStorage .get (carEnc , edge02 , 2 , edge24 ), 0 );
99
+ assertEquals (Double .POSITIVE_INFINITY , turnCostStorage .get (bikeEnc , edge02 , 2 , edge24 ), 0 );
98
100
99
- turnCostStorage .set (car , edge02 , 2 , edge23 , Double .POSITIVE_INFINITY );
100
- turnCostStorage .set (bike , edge02 , 2 , edge23 , Double .POSITIVE_INFINITY );
101
- assertEquals (Double .POSITIVE_INFINITY , turnCostStorage .get (car , edge02 , 2 , edge23 ), 0 );
102
- assertEquals (Double .POSITIVE_INFINITY , turnCostStorage .get (bike , edge02 , 2 , edge23 ), 0 );
101
+ turnCostStorage .set (carEnc , edge02 , 2 , edge23 , Double .POSITIVE_INFINITY );
102
+ turnCostStorage .set (bikeEnc , edge02 , 2 , edge23 , Double .POSITIVE_INFINITY );
103
+ assertEquals (Double .POSITIVE_INFINITY , turnCostStorage .get (carEnc , edge02 , 2 , edge23 ), 0 );
104
+ assertEquals (Double .POSITIVE_INFINITY , turnCostStorage .get (bikeEnc , edge02 , 2 , edge23 ), 0 );
103
105
104
106
Set <List <Integer >> allTurnRelations = new HashSet <>();
105
107
TurnCostStorage .TurnRelationIterator iterator = turnCostStorage .getAllTurnRelations ();
106
108
while (iterator .next ()) {
107
- allTurnRelations .add (Arrays .asList (iterator .getFromEdge (), iterator .getViaNode (),iterator .getToEdge (), (int ) car .getDecimal (false , iterator .getFlags ()), (int ) bike .getDecimal (false , iterator .getFlags ())));
109
+ allTurnRelations .add (Arrays .asList (iterator .getFromEdge (), iterator .getViaNode (), iterator .getToEdge (),
110
+ (int ) iterator .getCost (carEnc ), (int ) iterator .getCost (bikeEnc )));
108
111
}
109
112
110
113
Set <List <Integer >> expectedTurnRelations = new HashSet <>();
111
- expectedTurnRelations .add (Arrays .asList (edge31 ,1 , edge10 ,2 , Integer .MAX_VALUE ));
112
- expectedTurnRelations .add (Arrays .asList (edge42 ,2 , edge23 ,Integer .MAX_VALUE ,Integer .MAX_VALUE ));
113
- expectedTurnRelations .add (Arrays .asList (edge02 ,2 , edge24 ,0 , Integer .MAX_VALUE ));
114
- expectedTurnRelations .add (Arrays .asList (edge02 ,2 , edge23 ,Integer .MAX_VALUE ,Integer .MAX_VALUE ));
115
- expectedTurnRelations .add (Arrays .asList (edge23 ,3 , edge31 ,Integer .MAX_VALUE ,2 ));
114
+ expectedTurnRelations .add (Arrays .asList (edge31 , 1 , edge10 , 2 , Integer .MAX_VALUE ));
115
+ expectedTurnRelations .add (Arrays .asList (edge42 , 2 , edge23 , Integer .MAX_VALUE , Integer .MAX_VALUE ));
116
+ expectedTurnRelations .add (Arrays .asList (edge02 , 2 , edge24 , 0 , Integer .MAX_VALUE ));
117
+ expectedTurnRelations .add (Arrays .asList (edge02 , 2 , edge23 , Integer .MAX_VALUE , Integer .MAX_VALUE ));
118
+ expectedTurnRelations .add (Arrays .asList (edge23 , 3 , edge31 , Integer .MAX_VALUE , 2 ));
116
119
117
120
assertEquals (expectedTurnRelations , allTurnRelations );
118
121
}
@@ -123,24 +126,25 @@ public void testMergeFlagsBeforeAdding() {
123
126
initGraph (g );
124
127
TurnCostStorage turnCostStorage = g .getTurnCostStorage ();
125
128
126
- DecimalEncodedValue car = (( EncodedValueLookup ) manager ) .getDecimalEncodedValue (TurnCost .key ("car" ));
127
- DecimalEncodedValue bike = (( EncodedValueLookup ) manager ) .getDecimalEncodedValue (TurnCost .key ("bike" ));
129
+ DecimalEncodedValue carEnc = manager .getDecimalEncodedValue (TurnCost .key ("car" ));
130
+ DecimalEncodedValue bikeEnc = manager .getDecimalEncodedValue (TurnCost .key ("bike" ));
128
131
int edge23 = getEdge (g , 2 , 3 ).getEdge ();
129
132
int edge02 = getEdge (g , 0 , 2 ).getEdge ();
130
133
131
- turnCostStorage .set (car , edge02 , 2 , edge23 , Double .POSITIVE_INFINITY );
132
- turnCostStorage .set (bike , edge02 , 2 , edge23 , Double .POSITIVE_INFINITY );
133
- assertEquals (Double .POSITIVE_INFINITY , turnCostStorage .get (car , edge02 , 2 , edge23 ), 0 );
134
- assertEquals (Double .POSITIVE_INFINITY , turnCostStorage .get (bike , edge02 , 2 , edge23 ), 0 );
134
+ turnCostStorage .set (carEnc , edge02 , 2 , edge23 , Double .POSITIVE_INFINITY );
135
+ turnCostStorage .set (bikeEnc , edge02 , 2 , edge23 , Double .POSITIVE_INFINITY );
136
+ assertEquals (Double .POSITIVE_INFINITY , turnCostStorage .get (carEnc , edge02 , 2 , edge23 ), 0 );
137
+ assertEquals (Double .POSITIVE_INFINITY , turnCostStorage .get (bikeEnc , edge02 , 2 , edge23 ), 0 );
135
138
136
139
Set <List <Integer >> allTurnRelations = new HashSet <>();
137
140
TurnCostStorage .TurnRelationIterator iterator = turnCostStorage .getAllTurnRelations ();
138
141
while (iterator .next ()) {
139
- allTurnRelations .add (Arrays .asList (iterator .getFromEdge (), iterator .getViaNode (),iterator .getToEdge (), (int ) car .getDecimal (false , iterator .getFlags ()), (int ) bike .getDecimal (false , iterator .getFlags ())));
142
+ allTurnRelations .add (Arrays .asList (iterator .getFromEdge (), iterator .getViaNode (), iterator .getToEdge (),
143
+ (int ) iterator .getCost (carEnc ), (int ) iterator .getCost (bikeEnc )));
140
144
}
141
145
142
146
Set <List <Integer >> expectedTurnRelations = new HashSet <>();
143
- expectedTurnRelations .add (Arrays .asList (edge02 ,2 , edge23 ,Integer .MAX_VALUE ,Integer .MAX_VALUE ));
147
+ expectedTurnRelations .add (Arrays .asList (edge02 , 2 , edge23 , Integer .MAX_VALUE , Integer .MAX_VALUE ));
144
148
145
149
assertEquals (expectedTurnRelations , allTurnRelations );
146
150
}
0 commit comments