Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
vadere
vadere
Commits
ecb03290
Commit
ecb03290
authored
Aug 16, 2018
by
Benedikt Zoennchen
Browse files
change NaN to POSITIVE_INFINITY for evauation times of pedestrians that do not reach their target.
parent
80e4aadb
Pipeline
#65789
failed with stages
in 46 minutes and 35 seconds
Changes
6
Pipelines
1
Hide whitespace changes
Inline
Side-by-side
VadereSimulator/src/org/vadere/simulator/projects/dataprocessing/processor/MeanPedestrianEvacuationTimeProcessor.java
View file @
ecb03290
...
...
@@ -7,6 +7,7 @@ import org.vadere.simulator.projects.dataprocessing.datakey.NoDataKey;
import
org.vadere.state.attributes.processor.AttributesMeanPedestrianEvacuationTimeProcessor
;
import
org.vadere.state.attributes.processor.AttributesProcessor
;
import
java.util.Collection
;
import
java.util.List
;
import
java.util.stream.Collectors
;
...
...
@@ -37,16 +38,9 @@ public class MeanPedestrianEvacuationTimeProcessor extends DataProcessor<NoDataK
@Override
public
void
postLoop
(
final
SimulationState
state
)
{
this
.
pedEvacTimeProc
.
postLoop
(
state
);
List
<
Double
>
nonNans
=
this
.
pedEvacTimeProc
.
getValues
().
stream
()
.
filter
(
val
->
!
val
.
isNaN
())
.
collect
(
Collectors
.
toList
());
int
count
=
nonNans
.
size
();
this
.
putValue
(
NoDataKey
.
key
(),
count
>
0
?
nonNans
.
parallelStream
().
reduce
(
0.0
,
(
val1
,
val2
)
->
val1
+
val2
)
/
count
:
Double
.
NaN
);
pedEvacTimeProc
.
postLoop
(
state
);
Collection
<
Double
>
evacTimes
=
pedEvacTimeProc
.
getValues
();
putValue
(
NoDataKey
.
key
(),
evacTimes
.
parallelStream
().
reduce
(
0.0
,
(
val1
,
val2
)
->
val1
+
val2
)
/
evacTimes
.
size
());
}
@Override
...
...
VadereSimulator/src/org/vadere/simulator/projects/dataprocessing/processor/PedestrianEndTimeProcessor.java
View file @
ecb03290
...
...
@@ -25,7 +25,7 @@ public class PedestrianEndTimeProcessor extends DataProcessor<PedestrianIdKey, D
@Override
public
void
postLoop
(
final
SimulationState
state
)
{
this
.
setValues
(
state
.
getTopography
().
getElements
(
Pedestrian
.
class
),
Double
.
NaN
);
this
.
setValues
(
state
.
getTopography
().
getElements
(
Pedestrian
.
class
),
Double
.
POSITIVE_INFINITY
);
}
@Override
...
...
VadereSimulator/tests/org/vadere/simulator/projects/dataprocessing/processor/EvacuationTimeProcessorTestEnv.java
View file @
ecb03290
...
...
@@ -73,7 +73,7 @@ public class EvacuationTimeProcessorTestEnv extends ProcessorTestEnv<NoDataKey,
when
(
state
.
getTopography
().
getElements
(
Pedestrian
.
class
)).
thenReturn
(
b
.
getList
());
when
(
state
.
getSimTimeInSec
()).
thenReturn
(
40.0
);
addToExpectedOutput
(
NoDataKey
.
key
(),
Double
.
NaN
);
addToExpectedOutput
(
NoDataKey
.
key
(),
Double
.
POSITIVE_INFINITY
);
}
});
...
...
VadereSimulator/tests/org/vadere/simulator/projects/dataprocessing/processor/MeanPedestrianEvacuationTimeProcessorTestEnv.java
View file @
ecb03290
...
...
@@ -76,7 +76,7 @@ public class MeanPedestrianEvacuationTimeProcessorTestEnv extends ProcessorTestE
addSimState
(
new
SimulationStateMock
(
3
)
{
@Override
public
void
mockIt
()
{
b
.
clear
().
add
(
1
,
2
,
3
,
4
,
5
,
6
);
b
.
clear
().
add
(
1
,
2
,
3
,
4
,
5
);
Mockito
.
when
(
state
.
getTopography
().
getElements
(
Pedestrian
.
class
)).
thenReturn
(
b
.
getList
());
Mockito
.
when
(
state
.
getSimTimeInSec
()).
thenReturn
(
10.0
);
}
...
...
@@ -85,7 +85,7 @@ public class MeanPedestrianEvacuationTimeProcessorTestEnv extends ProcessorTestE
addSimState
(
new
SimulationStateMock
(
4
)
{
@Override
public
void
mockIt
()
{
b
.
clear
()
.
add
(
6
)
;
b
.
clear
();
Mockito
.
when
(
state
.
getTopography
().
getElements
(
Pedestrian
.
class
)).
thenReturn
(
b
.
getList
());
Mockito
.
when
(
state
.
getSimTimeInSec
()).
thenReturn
(
15.0
);
...
...
VadereSimulator/tests/org/vadere/simulator/projects/dataprocessing/processor/PedestrianEndTimeProcessorTestEnv.java
View file @
ecb03290
...
...
@@ -103,8 +103,8 @@ public class PedestrianEndTimeProcessorTestEnv extends ProcessorTestEnv<Pedestri
Mockito
.
when
(
state
.
getTopography
().
getElements
(
Pedestrian
.
class
)).
thenReturn
(
peds
);
double
time
=
state
.
getSimTimeInSec
();
addToExpectedOutput
(
new
PedestrianIdKey
(
8
),
Double
.
NaN
);
addToExpectedOutput
(
new
PedestrianIdKey
(
10
),
Double
.
NaN
);
addToExpectedOutput
(
new
PedestrianIdKey
(
8
),
Double
.
POSITIVE_INFINITY
);
addToExpectedOutput
(
new
PedestrianIdKey
(
10
),
Double
.
POSITIVE_INFINITY
);
}
});
}
...
...
VadereSimulator/tests/org/vadere/simulator/projects/dataprocessing/processor/PedestrianEvacuationTimeProcessorTestEnv.java
View file @
ecb03290
...
...
@@ -119,7 +119,7 @@ public class PedestrianEvacuationTimeProcessorTestEnv extends ProcessorTestEnv<P
when
(
state
.
getTopography
().
getElements
(
Pedestrian
.
class
)).
thenReturn
(
b
.
getList
());
when
(
state
.
getSimTimeInSec
()).
thenReturn
(
40.0
);
addToExpectedOutput
(
new
PedestrianIdKey
(
1
),
Double
.
NaN
);
addToExpectedOutput
(
new
PedestrianIdKey
(
1
),
Double
.
POSITIVE_INFINITY
);
}
});
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment