Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
CityDoctor
CityDoctor2
Commits
9e205757
Commit
9e205757
authored
Jun 09, 2021
by
Matthias Betz
Browse files
fixing handling of boundary surfaces in bridges
added tests for BridgeObject
parent
a138df4b
Pipeline
#4355
passed with stage
in 2 minutes and 15 seconds
Changes
5
Pipelines
1
Hide whitespace changes
Inline
Side-by-side
CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/BridgeObject.java
View file @
9e205757
...
...
@@ -74,6 +74,9 @@ public class BridgeObject extends CityObject {
setSolidAccordingToLod
(
geom
,
solid
);
}
}
for
(
BoundarySurface
bs
:
boundarySurfaces
)
{
bs
.
reCreateGeometries
(
factory
,
config
);
}
}
private
void
setMultiSurfaceAccordingToLod
(
Geometry
geom
,
MultiSurface
ms
)
{
...
...
@@ -164,6 +167,9 @@ public class BridgeObject extends CityObject {
if
(
c
.
canExecute
(
this
))
{
c
.
check
(
this
);
}
for
(
BoundarySurface
bs
:
boundarySurfaces
)
{
bs
.
accept
(
c
);
}
}
/**
...
...
@@ -204,6 +210,9 @@ public class BridgeObject extends CityObject {
ab
.
unsetLod2Solid
();
ab
.
unsetLod3Solid
();
ab
.
unsetLod4Solid
();
for
(
BoundarySurface
bs
:
boundarySurfaces
)
{
bs
.
unsetGmlGeometries
();
}
}
public
void
setGmlObject
(
AbstractBridge
aBridge
)
{
...
...
@@ -214,7 +223,7 @@ public class BridgeObject extends CityObject {
public
String
toString
()
{
return
"BridgeObject [type="
+
type
+
", id="
+
getGmlId
()
+
"]"
;
}
@Override
public
void
prepareForChecking
()
{
super
.
prepareForChecking
();
...
...
@@ -222,7 +231,7 @@ public class BridgeObject extends CityObject {
bs
.
prepareForChecking
();
}
}
@Override
public
void
clearMetaInformation
()
{
super
.
clearMetaInformation
();
...
...
CityDoctorParent/CityDoctorModel/src/test/java/de/hft/stuttgart/citydoctor2/datastructure/AbstractBuildingTest.java
View file @
9e205757
...
...
@@ -23,10 +23,10 @@ import static org.junit.Assert.assertFalse;
import
static
org
.
junit
.
Assert
.
assertNotNull
;
import
static
org
.
junit
.
Assert
.
assertNull
;
import
static
org
.
junit
.
Assert
.
assertTrue
;
import
static
org
.
mockito
.
Mockito
.
mock
;
import
java.util.ArrayList
;
import
java.util.List
;
import
java.util.Set
;
import
java.util.concurrent.atomic.AtomicInteger
;
import
org.citygml4j.factory.GMLGeometryFactory
;
...
...
@@ -45,14 +45,12 @@ import org.citygml4j.model.gml.geometry.primitives.SurfaceProperty;
import
org.junit.Test
;
import
org.mockito.Mockito
;
import
de.hft.stuttgart.citydoctor2.check.Check
;
import
de.hft.stuttgart.citydoctor2.check.CheckError
;
import
de.hft.stuttgart.citydoctor2.check.CheckId
;
import
de.hft.stuttgart.citydoctor2.check.CheckResult
;
import
de.hft.stuttgart.citydoctor2.check.Requirement
;
import
de.hft.stuttgart.citydoctor2.check.RequirementType
;
import
de.hft.stuttgart.citydoctor2.check.ResultStatus
;
import
de.hft.stuttgart.citydoctor2.parser.ParserConfiguration
;
import
de.hft.stuttgart.citydoctor2.test.util.AbstractCheck
;
public
class
AbstractBuildingTest
{
...
...
@@ -67,27 +65,7 @@ public class AbstractBuildingTest {
AtomicInteger
abCounter
=
new
AtomicInteger
(
0
);
AtomicInteger
bsCounter
=
new
AtomicInteger
(
0
);
AtomicInteger
biCounter
=
new
AtomicInteger
(
0
);
Check
c
=
new
Check
()
{
@Override
public
Set
<
Requirement
>
appliesToRequirements
()
{
return
null
;
}
@Override
public
CheckId
getCheckId
()
{
return
null
;
}
@Override
public
RequirementType
getType
()
{
return
null
;
}
@Override
public
Check
createNewInstance
()
{
return
null
;
}
AbstractCheck
c
=
new
AbstractCheck
()
{
@Override
public
void
check
(
AbstractBuilding
ab
)
{
...
...
@@ -104,27 +82,7 @@ public class AbstractBuildingTest {
assertEquals
(
1
,
bsCounter
.
intValue
());
assertEquals
(
0
,
biCounter
.
intValue
());
Check
c2
=
new
Check
()
{
@Override
public
Set
<
Requirement
>
appliesToRequirements
()
{
return
null
;
}
@Override
public
CheckId
getCheckId
()
{
return
null
;
}
@Override
public
RequirementType
getType
()
{
return
null
;
}
@Override
public
Check
createNewInstance
()
{
return
null
;
}
AbstractCheck
c2
=
new
AbstractCheck
()
{
@Override
public
void
check
(
BuildingInstallation
bi
)
{
...
...
@@ -137,8 +95,8 @@ public class AbstractBuildingTest {
@Test
public
void
testPrepareForChecking
()
{
BuildingInstallation
biMock
=
Mockito
.
mock
(
BuildingInstallation
.
class
);
BoundarySurface
bsMock
=
Mockito
.
mock
(
BoundarySurface
.
class
);
BuildingInstallation
biMock
=
mock
(
BuildingInstallation
.
class
);
BoundarySurface
bsMock
=
mock
(
BoundarySurface
.
class
);
AbstractBuilding
ab
=
new
AbstractBuilding
()
{
private
static
final
long
serialVersionUID
=
-
448362592456318541L
;
...
...
@@ -152,8 +110,8 @@ public class AbstractBuildingTest {
@Test
public
void
testClearMetaInformation
()
{
BuildingInstallation
biMock
=
Mockito
.
mock
(
BuildingInstallation
.
class
);
BoundarySurface
bsMock
=
Mockito
.
mock
(
BoundarySurface
.
class
);
BuildingInstallation
biMock
=
mock
(
BuildingInstallation
.
class
);
BoundarySurface
bsMock
=
mock
(
BoundarySurface
.
class
);
AbstractBuilding
ab
=
new
AbstractBuilding
()
{
private
static
final
long
serialVersionUID
=
-
448362592456318541L
;
...
...
@@ -171,8 +129,7 @@ public class AbstractBuildingTest {
private
static
final
long
serialVersionUID
=
-
448362592456318541L
;
};
assertFalse
(
ab
.
containsError
(
CheckId
.
C_GE_P_HOLE_OUTSIDE
));
ab
.
addCheckResult
(
new
CheckResult
(
CheckId
.
C_GE_P_HOLE_OUTSIDE
,
ResultStatus
.
ERROR
,
Mockito
.
mock
(
CheckError
.
class
)));
ab
.
addCheckResult
(
new
CheckResult
(
CheckId
.
C_GE_P_HOLE_OUTSIDE
,
ResultStatus
.
ERROR
,
mock
(
CheckError
.
class
)));
assertTrue
(
ab
.
containsError
(
CheckId
.
C_GE_P_HOLE_OUTSIDE
));
}
...
...
@@ -181,7 +138,7 @@ public class AbstractBuildingTest {
AbstractBuilding
ab
=
new
AbstractBuilding
()
{
private
static
final
long
serialVersionUID
=
-
448362592456318541L
;
};
BoundarySurface
bsMock
=
Mockito
.
mock
(
BoundarySurface
.
class
);
BoundarySurface
bsMock
=
mock
(
BoundarySurface
.
class
);
ab
.
addBoundarySurface
(
bsMock
);
assertFalse
(
ab
.
containsError
(
CheckId
.
C_GE_P_HOLE_OUTSIDE
));
Mockito
.
when
(
bsMock
.
containsError
(
CheckId
.
C_GE_P_HOLE_OUTSIDE
)).
thenReturn
(
true
);
...
...
@@ -193,7 +150,7 @@ public class AbstractBuildingTest {
AbstractBuilding
ab
=
new
AbstractBuilding
()
{
private
static
final
long
serialVersionUID
=
-
448362592456318541L
;
};
BuildingInstallation
biMock
=
Mockito
.
mock
(
BuildingInstallation
.
class
);
BuildingInstallation
biMock
=
mock
(
BuildingInstallation
.
class
);
ab
.
addBuildingInstallation
(
biMock
);
assertFalse
(
ab
.
containsError
(
CheckId
.
C_GE_P_HOLE_OUTSIDE
));
Mockito
.
when
(
biMock
.
containsError
(
CheckId
.
C_GE_P_HOLE_OUTSIDE
)).
thenReturn
(
true
);
...
...
@@ -202,8 +159,8 @@ public class AbstractBuildingTest {
@Test
public
void
testClearAllContainedCheckResults
()
{
BuildingInstallation
biMock
=
Mockito
.
mock
(
BuildingInstallation
.
class
);
BoundarySurface
bsMock
=
Mockito
.
mock
(
BoundarySurface
.
class
);
BuildingInstallation
biMock
=
mock
(
BuildingInstallation
.
class
);
BoundarySurface
bsMock
=
mock
(
BoundarySurface
.
class
);
AbstractBuilding
ab
=
new
AbstractBuilding
()
{
private
static
final
long
serialVersionUID
=
-
448362592456318541L
;
...
...
@@ -228,7 +185,7 @@ public class AbstractBuildingTest {
ab
.
addCheckResult
(
new
CheckResult
(
CheckId
.
C_GE_P_HOLE_OUTSIDE
,
ResultStatus
.
OK
,
null
));
assertFalse
(
ab
.
containsAnyError
());
ab
.
addCheckResult
(
new
CheckResult
(
CheckId
.
C_GE_P_INNER_RINGS_NESTED
,
ResultStatus
.
ERROR
,
Mockito
.
mock
(
CheckError
.
class
)));
new
CheckResult
(
CheckId
.
C_GE_P_INNER_RINGS_NESTED
,
ResultStatus
.
ERROR
,
mock
(
CheckError
.
class
)));
assertTrue
(
ab
.
containsAnyError
());
}
...
...
@@ -237,7 +194,7 @@ public class AbstractBuildingTest {
AbstractBuilding
ab
=
new
AbstractBuilding
()
{
private
static
final
long
serialVersionUID
=
-
448362592456318541L
;
};
BoundarySurface
bsMock
=
Mockito
.
mock
(
BoundarySurface
.
class
);
BoundarySurface
bsMock
=
mock
(
BoundarySurface
.
class
);
ab
.
addBoundarySurface
(
bsMock
);
assertFalse
(
ab
.
containsAnyError
());
Mockito
.
when
(
bsMock
.
containsAnyError
()).
thenReturn
(
true
);
...
...
@@ -249,7 +206,7 @@ public class AbstractBuildingTest {
AbstractBuilding
ab
=
new
AbstractBuilding
()
{
private
static
final
long
serialVersionUID
=
-
448362592456318541L
;
};
BuildingInstallation
biMock
=
Mockito
.
mock
(
BuildingInstallation
.
class
);
BuildingInstallation
biMock
=
mock
(
BuildingInstallation
.
class
);
ab
.
addBuildingInstallation
(
biMock
);
assertFalse
(
ab
.
containsAnyError
());
Mockito
.
when
(
biMock
.
containsAnyError
()).
thenReturn
(
true
);
...
...
@@ -258,16 +215,15 @@ public class AbstractBuildingTest {
@Test
public
void
testCollectContainedErrors
()
{
BuildingInstallation
biMock
=
Mockito
.
mock
(
BuildingInstallation
.
class
);
BoundarySurface
bsMock
=
Mockito
.
mock
(
BoundarySurface
.
class
);
BuildingInstallation
biMock
=
mock
(
BuildingInstallation
.
class
);
BoundarySurface
bsMock
=
mock
(
BoundarySurface
.
class
);
AbstractBuilding
ab
=
new
AbstractBuilding
()
{
private
static
final
long
serialVersionUID
=
-
448362592456318541L
;
};
ab
.
addBoundarySurface
(
bsMock
);
ab
.
addBuildingInstallation
(
biMock
);
ab
.
addCheckResult
(
new
CheckResult
(
CheckId
.
C_GE_P_HOLE_OUTSIDE
,
ResultStatus
.
ERROR
,
Mockito
.
mock
(
CheckError
.
class
)));
ab
.
addCheckResult
(
new
CheckResult
(
CheckId
.
C_GE_P_HOLE_OUTSIDE
,
ResultStatus
.
ERROR
,
mock
(
CheckError
.
class
)));
List
<
CheckError
>
errors
=
new
ArrayList
<>();
ab
.
collectContainedErrors
(
errors
);
Mockito
.
verify
(
biMock
,
Mockito
.
times
(
1
)).
collectContainedErrors
(
errors
);
...
...
@@ -302,12 +258,8 @@ public class AbstractBuildingTest {
AbstractRing
ring
=
gmlPoly
.
getExterior
().
getRing
();
org
.
citygml4j
.
model
.
gml
.
geometry
.
primitives
.
LinearRing
gmlRing
=
(
org
.
citygml4j
.
model
.
gml
.
geometry
.
primitives
.
LinearRing
)
ring
;
DirectPositionList
posList
=
gmlRing
.
getPosList
();
double
[]
expectedValues
=
new
double
[]
{
427583.301
,
6003502.571
,
9.711
,
427583.304
,
6003502.574
,
9.713
,
427583.304
,
6003502.574
,
4.097
,
427583.301
,
6003502.571
,
4.097
,
427583.301
,
6003502.571
,
9.711
};
double
[]
expectedValues
=
new
double
[]
{
427583.301
,
6003502.571
,
9.711
,
427583.304
,
6003502.574
,
9.713
,
427583.304
,
6003502.574
,
4.097
,
427583.301
,
6003502.571
,
4.097
,
427583.301
,
6003502.571
,
9.711
};
List
<
Double
>
values
=
posList
.
getValue
();
for
(
int
i
=
0
;
i
<
values
.
size
();
i
++)
{
assertEquals
(
expectedValues
[
i
],
values
.
get
(
i
),
0.00000001
);
...
...
@@ -333,7 +285,7 @@ public class AbstractBuildingTest {
@Test
public
void
testReCreateGeometriesBs
()
{
BoundarySurface
bsMock
=
Mockito
.
mock
(
BoundarySurface
.
class
);
BoundarySurface
bsMock
=
mock
(
BoundarySurface
.
class
);
AbstractBuilding
ab
=
new
AbstractBuilding
()
{
private
static
final
long
serialVersionUID
=
-
448362592456318541L
;
};
...
...
@@ -348,11 +300,11 @@ public class AbstractBuildingTest {
ab
.
reCreateGeometries
(
factory
,
config
);
Mockito
.
verify
(
bsMock
).
reCreateGeometries
(
factory
,
config
);
}
@Test
public
void
testReCreateGeometriesEmptyBs
()
{
WallSurface
ws
=
new
WallSurface
();
BoundarySurface
bsMock
=
Mockito
.
mock
(
BoundarySurface
.
class
);
BoundarySurface
bsMock
=
mock
(
BoundarySurface
.
class
);
Mockito
.
when
(
bsMock
.
getGmlObject
()).
thenReturn
(
ws
);
AbstractBuilding
ab
=
new
AbstractBuilding
()
{
private
static
final
long
serialVersionUID
=
-
448362592456318541L
;
...
...
@@ -370,10 +322,10 @@ public class AbstractBuildingTest {
ab
.
reCreateGeometries
(
factory
,
config
);
assertEquals
(
2
,
gmlAb
.
getBoundedBySurface
().
size
());
}
@Test
public
void
testReCreateGeometriesEmptyBi
()
{
BuildingInstallation
biMock
=
Mockito
.
mock
(
BuildingInstallation
.
class
);
BuildingInstallation
biMock
=
mock
(
BuildingInstallation
.
class
);
AbstractBuilding
ab
=
new
AbstractBuilding
()
{
private
static
final
long
serialVersionUID
=
-
448362592456318541L
;
};
...
...
@@ -385,11 +337,11 @@ public class AbstractBuildingTest {
ab
.
reCreateGeometries
(
factory
,
config
);
Mockito
.
verify
(
biMock
).
reCreateGeometries
(
factory
,
config
);
}
@Test
public
void
testUnsetGmlGeometries
()
{
BuildingInstallation
biMock
=
Mockito
.
mock
(
BuildingInstallation
.
class
);
BoundarySurface
bsMock
=
Mockito
.
mock
(
BoundarySurface
.
class
);
BuildingInstallation
biMock
=
mock
(
BuildingInstallation
.
class
);
BoundarySurface
bsMock
=
mock
(
BoundarySurface
.
class
);
AbstractBuilding
ab
=
new
AbstractBuilding
()
{
private
static
final
long
serialVersionUID
=
-
448362592456318541L
;
...
...
CityDoctorParent/CityDoctorModel/src/test/java/de/hft/stuttgart/citydoctor2/datastructure/BoundarySurfaceTest.java
View file @
9e205757
...
...
@@ -26,7 +26,6 @@ import static org.junit.Assert.assertTrue;
import
java.util.ArrayList
;
import
java.util.List
;
import
java.util.Set
;
import
java.util.concurrent.atomic.AtomicInteger
;
import
org.citygml4j.factory.GMLGeometryFactory
;
...
...
@@ -36,14 +35,12 @@ import org.citygml4j.model.gml.geometry.aggregates.MultiSurfaceProperty;
import
org.junit.Test
;
import
org.mockito.Mockito
;
import
de.hft.stuttgart.citydoctor2.check.Check
;
import
de.hft.stuttgart.citydoctor2.check.CheckError
;
import
de.hft.stuttgart.citydoctor2.check.CheckId
;
import
de.hft.stuttgart.citydoctor2.check.CheckResult
;
import
de.hft.stuttgart.citydoctor2.check.Requirement
;
import
de.hft.stuttgart.citydoctor2.check.RequirementType
;
import
de.hft.stuttgart.citydoctor2.check.ResultStatus
;
import
de.hft.stuttgart.citydoctor2.parser.ParserConfiguration
;
import
de.hft.stuttgart.citydoctor2.test.util.AbstractCheck
;
public
class
BoundarySurfaceTest
{
...
...
@@ -53,27 +50,7 @@ public class BoundarySurfaceTest {
Opening
oMock
=
Mockito
.
mock
(
Opening
.
class
);
bs
.
addOpening
(
oMock
);
AtomicInteger
bsCounter
=
new
AtomicInteger
(
0
);
Check
c
=
new
Check
()
{
@Override
public
Set
<
Requirement
>
appliesToRequirements
()
{
return
null
;
}
@Override
public
CheckId
getCheckId
()
{
return
null
;
}
@Override
public
RequirementType
getType
()
{
return
null
;
}
@Override
public
Check
createNewInstance
()
{
return
null
;
}
AbstractCheck
c
=
new
AbstractCheck
()
{
@Override
public
void
check
(
BoundarySurface
bs
)
{
...
...
@@ -91,27 +68,7 @@ public class BoundarySurfaceTest {
Opening
oMock
=
Mockito
.
mock
(
Opening
.
class
);
bs
.
addOpening
(
oMock
);
AtomicInteger
bsCounter
=
new
AtomicInteger
(
0
);
Check
c
=
new
Check
()
{
@Override
public
Set
<
Requirement
>
appliesToRequirements
()
{
return
null
;
}
@Override
public
CheckId
getCheckId
()
{
return
null
;
}
@Override
public
RequirementType
getType
()
{
return
null
;
}
@Override
public
Check
createNewInstance
()
{
return
null
;
}
AbstractCheck
c
=
new
AbstractCheck
()
{
@Override
public
void
check
(
BridgeObject
bo
)
{
...
...
CityDoctorParent/CityDoctorModel/src/test/java/de/hft/stuttgart/citydoctor2/datastructure/BridgeObjectTest.java
0 → 100644
View file @
9e205757
/*-
* Copyright 2020 Beuth Hochschule für Technik Berlin, Hochschule für Technik Stuttgart
*
* This file is part of CityDoctor2.
*
* CityDoctor2 is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* CityDoctor2 is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with CityDoctor2. If not, see <https://www.gnu.org/licenses/>.
*/
package
de.hft.stuttgart.citydoctor2.datastructure
;
import
static
org
.
junit
.
Assert
.*;
import
static
org
.
mockito
.
Mockito
.
mock
;
import
static
org
.
mockito
.
Mockito
.
verify
;
import
static
org
.
mockito
.
Mockito
.
when
;
import
java.util.ArrayList
;
import
java.util.concurrent.atomic.AtomicInteger
;
import
org.citygml4j.factory.GMLGeometryFactory
;
import
org.citygml4j.model.citygml.bridge.AbstractBridge
;
import
org.citygml4j.model.citygml.bridge.Bridge
;
import
org.junit.Test
;
import
de.hft.stuttgart.citydoctor2.check.CheckError
;
import
de.hft.stuttgart.citydoctor2.check.CheckId
;
import
de.hft.stuttgart.citydoctor2.check.CheckResult
;
import
de.hft.stuttgart.citydoctor2.check.ResultStatus
;
import
de.hft.stuttgart.citydoctor2.datastructure.BridgeObject.BridgeType
;
import
de.hft.stuttgart.citydoctor2.parser.ParserConfiguration
;
import
de.hft.stuttgart.citydoctor2.test.util.AbstractCheck
;
public
class
BridgeObjectTest
{
@Test
public
void
testAccept
()
{
BridgeObject
bo
=
new
BridgeObject
(
BridgeType
.
BRIDGE
,
mock
(
AbstractBridge
.
class
));
bo
.
addBoundarySurface
(
new
BoundarySurface
(
null
));
AtomicInteger
boCounter
=
new
AtomicInteger
(
0
);
AtomicInteger
bsCounter
=
new
AtomicInteger
(
0
);
AbstractCheck
c
=
new
AbstractCheck
()
{
@Override
public
void
check
(
BridgeObject
bo
)
{
boCounter
.
incrementAndGet
();
}
@Override
public
void
check
(
BoundarySurface
bs
)
{
bsCounter
.
incrementAndGet
();
}
};
bo
.
accept
(
c
);
assertEquals
(
1
,
boCounter
.
intValue
());
assertEquals
(
1
,
bsCounter
.
intValue
());
AtomicInteger
boCounter2
=
new
AtomicInteger
(
0
);
c
=
new
AbstractCheck
();
bo
.
accept
(
c
);
assertEquals
(
0
,
boCounter2
.
intValue
());
}
@Test
public
void
testPrepareForChecking
()
{
BridgeObject
bo
=
new
BridgeObject
(
BridgeType
.
BRIDGE
,
mock
(
AbstractBridge
.
class
));
BoundarySurface
bsMock
=
mock
(
BoundarySurface
.
class
);
bo
.
addBoundarySurface
(
bsMock
);
bo
.
prepareForChecking
();
verify
(
bsMock
).
prepareForChecking
();
}
@Test
public
void
testClearMetaInformation
()
{
BridgeObject
bo
=
new
BridgeObject
(
BridgeType
.
BRIDGE
,
mock
(
AbstractBridge
.
class
));
BoundarySurface
bsMock
=
mock
(
BoundarySurface
.
class
);
bo
.
addBoundarySurface
(
bsMock
);
bo
.
clearMetaInformation
();
verify
(
bsMock
).
clearMetaInformation
();
}
@Test
public
void
testContainsError
()
{
BridgeObject
bo
=
new
BridgeObject
(
BridgeType
.
BRIDGE
,
mock
(
AbstractBridge
.
class
));
assertFalse
(
bo
.
containsError
(
CheckId
.
C_GE_P_HOLE_OUTSIDE
));
bo
.
addCheckResult
(
new
CheckResult
(
CheckId
.
C_GE_P_HOLE_OUTSIDE
,
ResultStatus
.
ERROR
,
mock
(
CheckError
.
class
)));
assertTrue
(
bo
.
containsError
(
CheckId
.
C_GE_P_HOLE_OUTSIDE
));
}
@Test
public
void
testContainsError2
()
{
BridgeObject
bo
=
new
BridgeObject
(
BridgeType
.
BRIDGE
,
mock
(
AbstractBridge
.
class
));
BoundarySurface
bsMock
=
mock
(
BoundarySurface
.
class
);
bo
.
addBoundarySurface
(
bsMock
);
assertFalse
(
bo
.
containsError
(
CheckId
.
C_GE_P_HOLE_OUTSIDE
));
when
(
bsMock
.
containsError
(
CheckId
.
C_GE_P_HOLE_OUTSIDE
)).
thenReturn
(
true
);
assertTrue
(
bo
.
containsError
(
CheckId
.
C_GE_P_HOLE_OUTSIDE
));
}
@Test
public
void
testClearAllContainedCheckResults
()
{
BridgeObject
bo
=
new
BridgeObject
(
BridgeType
.
BRIDGE
,
mock
(
AbstractBridge
.
class
));
BoundarySurface
bsMock
=
mock
(
BoundarySurface
.
class
);
bo
.
addBoundarySurface
(
bsMock
);
bo
.
clearAllContainedCheckResults
();
verify
(
bsMock
).
clearAllContainedCheckResults
();
}
@Test
public
void
testContainsAnyError
()
{
BridgeObject
bo
=
new
BridgeObject
(
BridgeType
.
BRIDGE
,
mock
(
AbstractBridge
.
class
));
BoundarySurface
bsMock
=
mock
(
BoundarySurface
.
class
);
bo
.
addBoundarySurface
(
bsMock
);
bo
.
containsAnyError
();
verify
(
bsMock
).
containsAnyError
();
when
(
bsMock
.
containsAnyError
()).
thenReturn
(
true
);
assertTrue
(
bo
.
containsAnyError
());
BridgeObject
bo2
=
new
BridgeObject
(
BridgeType
.
BRIDGE
,
mock
(
AbstractBridge
.
class
));
bo2
.
addCheckResult
(
new
CheckResult
(
CheckId
.
C_GE_P_HOLE_OUTSIDE
,
ResultStatus
.
ERROR
,
mock
(
CheckError
.
class
)));
assertTrue
(
bo2
.
containsAnyError
());
}
@Test
public
void
testCollectContainedErrors
()
{
BridgeObject
bo
=
new
BridgeObject
(
BridgeType
.
BRIDGE
,
mock
(
AbstractBridge
.
class
));
BoundarySurface
bsMock
=
mock
(
BoundarySurface
.
class
);
bo
.
addBoundarySurface
(
bsMock
);
ArrayList
<
CheckError
>
errors
=
new
ArrayList
<>();
bo
.
collectContainedErrors
(
errors
);
verify
(
bsMock
).
collectContainedErrors
(
errors
);
}
@Test
public
void
testReCreateGeometries
()
{
BridgeObject
bo
=
new
BridgeObject
(
BridgeType
.
BRIDGE
,
mock
(
AbstractBridge
.
class
));
BoundarySurface
bsMock
=
mock
(
BoundarySurface
.
class
);
bo
.
addBoundarySurface
(
bsMock
);
GMLGeometryFactory
factoryMock
=
mock
(
GMLGeometryFactory
.
class
);
ParserConfiguration
configMock
=
mock
(
ParserConfiguration
.
class
);
bo
.
reCreateGeometries
(
factoryMock
,
configMock
);
verify
(
bsMock
).
reCreateGeometries
(
factoryMock
,
configMock
);
}
@Test
public
void
testReCreateGeometriesMultiSurfaceLod1
()
{
BridgeObject
bo
=
new
BridgeObject
(
BridgeType
.
BRIDGE
,
mock
(
AbstractBridge
.
class
));
Geometry
geom
=
GeometryTestUtils
.
createDummyGeometry
(
GeometryType
.
MULTI_SURFACE
,
Lod
.
LOD1
);
AbstractBridge
ab
=
new
Bridge
();
bo
.
setGmlObject
(
ab
);
bo
.
addGeometry
(
geom
);
GMLGeometryFactory
factory
=
new
GMLGeometryFactory
();
ParserConfiguration
config
=
new
ParserConfiguration
(
8
,
false
);
bo
.
reCreateGeometries
(
factory
,
config
);
assertNotNull
(
ab
.
getLod1MultiSurface
());
assertNotNull
(
ab
.
getLod1MultiSurface
().
getGeometry
());
}
@Test
public
void
testReCreateGeometriesMultiSurfaceLod2
()
{