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
f4d3cb7f
Commit
f4d3cb7f
authored
Apr 30, 2025
by
Riegel
Browse files
Test: Unify datastructure testcases
parent
3539192a
Pipeline
#11068
passed with stage
in 1 minute and 26 seconds
Changes
19
Pipelines
1
Show whitespace changes
Inline
Side-by-side
CityDoctorParent/CityDoctorModel/src/test/java/de/hft/stuttgart/citydoctor2/datastructure/AbstractBuildingTest.java
View file @
f4d3cb7f
...
@@ -52,8 +52,6 @@ import de.hft.stuttgart.citydoctor2.parser.ParserConfiguration;
...
@@ -52,8 +52,6 @@ import de.hft.stuttgart.citydoctor2.parser.ParserConfiguration;
public
class
AbstractBuildingTest
{
public
class
AbstractBuildingTest
{
//TODO: Restructure test with new Visitors
@Test
@Test
public
void
testAccept
()
{
public
void
testAccept
()
{
...
@@ -128,8 +126,13 @@ public class AbstractBuildingTest {
...
@@ -128,8 +126,13 @@ public class AbstractBuildingTest {
public
void
testContainsError
()
{
public
void
testContainsError
()
{
AbstractBuilding
ab
=
createAbstractBuilding
();
AbstractBuilding
ab
=
createAbstractBuilding
();
assertFalse
(
ab
.
containsError
(
CheckId
.
C_GE_P_HOLE_OUTSIDE
));
assertFalse
(
ab
.
containsError
(
CheckId
.
C_GE_P_HOLE_OUTSIDE
));
assertFalse
(
ab
.
containsError
(
CheckId
.
C_GE_P_NON_PLANAR
));
ab
.
addCheckResult
(
new
CheckResult
(
CheckId
.
C_GE_P_HOLE_OUTSIDE
,
ResultStatus
.
ERROR
,
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
));
assertTrue
(
ab
.
containsError
(
CheckId
.
C_GE_P_HOLE_OUTSIDE
));
assertFalse
(
ab
.
containsError
(
CheckId
.
C_GE_P_NON_PLANAR
));
ab
.
addCheckResult
(
new
CheckResult
(
CheckId
.
C_GE_P_NON_PLANAR
,
ResultStatus
.
OK
,
mock
(
CheckError
.
class
)));
assertTrue
(
ab
.
containsError
(
CheckId
.
C_GE_P_HOLE_OUTSIDE
));
assertFalse
(
ab
.
containsError
(
CheckId
.
C_GE_P_NON_PLANAR
));
}
}
...
@@ -267,22 +270,9 @@ public class AbstractBuildingTest {
...
@@ -267,22 +270,9 @@ public class AbstractBuildingTest {
@Test
@Test
public
void
testUnsetGmlGeometries
()
{
public
void
testUnsetGmlGeometries
()
{
Installation
biMock
=
mock
(
Installation
.
class
);
doAnswer
(
invocation
->
{
biMock
.
unsetGmlGeometries
();
return
null
;
}).
when
(
biMock
).
accept
(
any
(
UnsetGeometriesVisitor
.
class
));
BoundarySurface
bsMock
=
mock
(
BoundarySurface
.
class
);
doAnswer
(
invocation
->
{
bsMock
.
unsetGmlGeometries
();
return
null
;
}).
when
(
bsMock
).
accept
(
any
(
UnsetGeometriesVisitor
.
class
));
AbstractBuilding
ab
=
createAbstractBuilding
();
AbstractBuilding
ab
=
createAbstractBuilding
();
ab
.
addBoundarySurface
(
bsMock
);
ab
.
addBuildingInstallation
(
biMock
);
org
.
citygml4j
.
core
.
model
.
building
.
AbstractBuilding
gmlAb
=
new
org
.
citygml4j
.
core
.
model
.
building
.
Building
();
org
.
citygml4j
.
core
.
model
.
building
.
AbstractBuilding
gmlAb
=
new
org
.
citygml4j
.
core
.
model
.
building
.
Building
();
ab
.
setCityGmlBuilding
(
gmlAb
);
gmlAb
.
setLod1Solid
(
new
SolidProperty
());
gmlAb
.
setLod1Solid
(
new
SolidProperty
());
gmlAb
.
setLod2Solid
(
new
SolidProperty
());
gmlAb
.
setLod2Solid
(
new
SolidProperty
());
...
@@ -292,15 +282,9 @@ public class AbstractBuildingTest {
...
@@ -292,15 +282,9 @@ public class AbstractBuildingTest {
gmlAb
.
setLod2MultiSurface
(
new
MultiSurfaceProperty
());
gmlAb
.
setLod2MultiSurface
(
new
MultiSurfaceProperty
());
gmlAb
.
setLod3MultiSurface
(
new
MultiSurfaceProperty
());
gmlAb
.
setLod3MultiSurface
(
new
MultiSurfaceProperty
());
gmlAb
.
getDeprecatedProperties
().
setLod4MultiSurface
(
new
MultiSurfaceProperty
());
gmlAb
.
getDeprecatedProperties
().
setLod4MultiSurface
(
new
MultiSurfaceProperty
());
ab
.
setCityGmlBuilding
(
gmlAb
);
ab
.
clearGmlGeometries
();
ab
.
clearGmlGeometries
();
verify
(
biMock
).
accept
(
any
(
UnsetGeometriesVisitor
.
class
));
verify
(
bsMock
).
accept
(
any
(
UnsetGeometriesVisitor
.
class
));
verify
(
biMock
).
unsetGmlGeometries
();
verify
(
bsMock
).
unsetGmlGeometries
();
assertNull
(
gmlAb
.
getLod1Solid
());
assertNull
(
gmlAb
.
getLod1Solid
());
assertNull
(
gmlAb
.
getLod2Solid
());
assertNull
(
gmlAb
.
getLod2Solid
());
assertNull
(
gmlAb
.
getLod3Solid
());
assertNull
(
gmlAb
.
getLod3Solid
());
...
...
CityDoctorParent/CityDoctorModel/src/test/java/de/hft/stuttgart/citydoctor2/datastructure/AbstractRoomTest.java
View file @
f4d3cb7f
package
de.hft.stuttgart.citydoctor2.datastructure
;
package
de.hft.stuttgart.citydoctor2.datastructure
;
import
de.hft.stuttgart.citydoctor2.check.AbstractCheck
;
import
de.hft.stuttgart.citydoctor2.check.AbstractCheck
;
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.parser.ParserConfiguration
;
import
de.hft.stuttgart.citydoctor2.parser.ParserConfiguration
;
import
org.citygml4j.core.model.core.AbstractSpaceBoundary
;
import
org.citygml4j.core.model.core.AbstractSpaceBoundary
;
import
org.citygml4j.core.util.geometry.GeometryFactory
;
import
org.citygml4j.core.util.geometry.GeometryFactory
;
...
@@ -8,22 +12,26 @@ import org.citygml4j.core.visitor.ObjectVisitor;
...
@@ -8,22 +12,26 @@ import org.citygml4j.core.visitor.ObjectVisitor;
import
org.junit.Before
;
import
org.junit.Before
;
import
org.junit.Test
;
import
org.junit.Test
;
import
org.mockito.Mockito
;
import
org.mockito.Mockito
;
import
org.xmlobjects.gml.model.geometry.aggregates.MultiCurveProperty
;
import
org.xmlobjects.gml.model.geometry.aggregates.MultiSurfaceProperty
;
import
org.xmlobjects.gml.model.geometry.aggregates.MultiSurfaceProperty
;
import
org.xmlobjects.gml.model.geometry.primitives.SolidProperty
;
import
org.xmlobjects.gml.model.geometry.primitives.SolidProperty
;
import
java.util.ArrayList
;
import
java.util.List
;
import
static
org
.
junit
.
Assert
.
assertEquals
;
import
static
org
.
junit
.
Assert
.
assertEquals
;
import
static
org
.
junit
.
Assert
.
assertFalse
;
import
static
org
.
junit
.
Assert
.
assertNotNull
;
import
static
org
.
junit
.
Assert
.
assertNotNull
;
import
static
org
.
junit
.
Assert
.
assertNull
;
import
static
org
.
junit
.
Assert
.
assertNull
;
import
static
org
.
junit
.
Assert
.
assertTrue
;
import
static
org
.
junit
.
Assert
.
assertTrue
;
import
static
org
.
mockito
.
Mockito
.
mock
;
public
class
AbstractRoomTest
{
public
class
AbstractRoomTest
{
AbstractRoom
ab
;
AbstractRoom
ab
Room
;
@Before
@Before
public
void
setUp
()
{
public
void
setUp
()
{
ab
=
new
AbstractRoom
()
{
ab
Room
=
new
AbstractRoom
()
{
@Override
@Override
public
CityObject
getTopLevelCityObject
()
{
public
CityObject
getTopLevelCityObject
()
{
return
null
;
return
null
;
...
@@ -38,19 +46,58 @@ public class AbstractRoomTest {
...
@@ -38,19 +46,58 @@ public class AbstractRoomTest {
BoundarySurface
mockBoundarySurface
=
Mockito
.
mock
(
BoundarySurface
.
class
);
BoundarySurface
mockBoundarySurface
=
Mockito
.
mock
(
BoundarySurface
.
class
);
Geometry
geometry
=
Mockito
.
mock
(
Geometry
.
class
);
Geometry
geometry
=
Mockito
.
mock
(
Geometry
.
class
);
ab
.
addRoomInstallation
(
mockInstallation
);
ab
Room
.
addRoomInstallation
(
mockInstallation
);
ab
.
addBoundarySurface
(
mockBoundarySurface
);
ab
Room
.
addBoundarySurface
(
mockBoundarySurface
);
ab
.
addGeometry
(
geometry
);
ab
Room
.
addGeometry
(
geometry
);
AbstractCheck
c
=
new
AbstractCheck
()
{
AbstractCheck
c
=
new
AbstractCheck
()
{
};
};
ab
.
accept
(
c
);
ab
Room
.
accept
(
c
);
Mockito
.
verify
(
mockInstallation
).
accept
(
c
);
Mockito
.
verify
(
mockInstallation
).
accept
(
c
);
Mockito
.
verify
(
mockBoundarySurface
).
accept
(
c
);
Mockito
.
verify
(
mockBoundarySurface
).
accept
(
c
);
Mockito
.
verify
(
geometry
).
accept
(
c
);
Mockito
.
verify
(
geometry
).
accept
(
c
);
}
}
@Test
public
void
testContainsError
()
{
assertFalse
(
abRoom
.
containsError
(
CheckId
.
C_GE_P_HOLE_OUTSIDE
));
assertFalse
(
abRoom
.
containsError
(
CheckId
.
C_GE_P_NON_PLANAR
));
abRoom
.
addCheckResult
(
new
CheckResult
(
CheckId
.
C_GE_P_HOLE_OUTSIDE
,
ResultStatus
.
ERROR
,
mock
(
CheckError
.
class
)));
assertTrue
(
abRoom
.
containsError
(
CheckId
.
C_GE_P_HOLE_OUTSIDE
));
assertFalse
(
abRoom
.
containsError
(
CheckId
.
C_GE_P_NON_PLANAR
));
abRoom
.
addCheckResult
(
new
CheckResult
(
CheckId
.
C_GE_P_NON_PLANAR
,
ResultStatus
.
OK
,
mock
(
CheckError
.
class
)));
assertTrue
(
abRoom
.
containsError
(
CheckId
.
C_GE_P_HOLE_OUTSIDE
));
assertFalse
(
abRoom
.
containsError
(
CheckId
.
C_GE_P_NON_PLANAR
));
}
@Test
public
void
testClearAllContainedCheckResults
()
{
abRoom
.
addCheckResult
(
new
CheckResult
(
CheckId
.
C_GE_P_HOLE_OUTSIDE
,
ResultStatus
.
OK
,
null
));
assertEquals
(
1
,
abRoom
.
getAllCheckResults
().
size
());
abRoom
.
clearAllContainedCheckResults
();
assertTrue
(
abRoom
.
getAllCheckResults
().
isEmpty
());
}
@Test
public
void
testContainsAnyError
()
{
assertFalse
(
abRoom
.
containsAnyError
());
abRoom
.
addCheckResult
(
new
CheckResult
(
CheckId
.
C_GE_P_HOLE_OUTSIDE
,
ResultStatus
.
OK
,
null
));
assertFalse
(
abRoom
.
containsAnyError
());
abRoom
.
addCheckResult
(
new
CheckResult
(
CheckId
.
C_GE_P_INNER_RINGS_NESTED
,
ResultStatus
.
ERROR
,
mock
(
CheckError
.
class
)));
assertTrue
(
abRoom
.
containsAnyError
());
}
@Test
public
void
testCollectContainedErrors
()
{
abRoom
.
addCheckResult
(
new
CheckResult
(
CheckId
.
C_GE_P_HOLE_OUTSIDE
,
ResultStatus
.
ERROR
,
mock
(
CheckError
.
class
)));
List
<
CheckError
>
errors
=
new
ArrayList
<>();
abRoom
.
collectContainedErrors
(
errors
);
assertEquals
(
1
,
errors
.
size
());
}
@Test
@Test
public
void
testUnsetGmlGeometries
()
{
public
void
testUnsetGmlGeometries
()
{
org
.
citygml4j
.
core
.
model
.
core
.
AbstractUnoccupiedSpace
gmlAUS
=
new
org
.
citygml4j
.
core
.
model
.
core
.
AbstractUnoccupiedSpace
()
{
org
.
citygml4j
.
core
.
model
.
core
.
AbstractUnoccupiedSpace
gmlAUS
=
new
org
.
citygml4j
.
core
.
model
.
core
.
AbstractUnoccupiedSpace
()
{
...
@@ -72,8 +119,8 @@ public class AbstractRoomTest {
...
@@ -72,8 +119,8 @@ public class AbstractRoomTest {
gmlAUS
.
setLod2MultiSurface
(
new
MultiSurfaceProperty
());
gmlAUS
.
setLod2MultiSurface
(
new
MultiSurfaceProperty
());
gmlAUS
.
setLod3MultiSurface
(
new
MultiSurfaceProperty
());
gmlAUS
.
setLod3MultiSurface
(
new
MultiSurfaceProperty
());
ab
.
cgmlRoom
=
gmlAUS
;
ab
Room
.
cgmlRoom
=
gmlAUS
;
ab
.
clearGmlGeometries
();
ab
Room
.
clearGmlGeometries
();
assertNull
(
gmlAUS
.
getLod1Solid
());
assertNull
(
gmlAUS
.
getLod1Solid
());
assertNull
(
gmlAUS
.
getLod2Solid
());
assertNull
(
gmlAUS
.
getLod2Solid
());
...
@@ -97,14 +144,14 @@ public class AbstractRoomTest {
...
@@ -97,14 +144,14 @@ public class AbstractRoomTest {
}
}
};
};
ab
.
cgmlRoom
=
gmlAUS
;
ab
Room
.
cgmlRoom
=
gmlAUS
;
ab
.
addGeometry
(
GeometryTestUtils
.
createDummyGeometry
(
GeometryType
.
SOLID
,
Lod
.
LOD1
));
ab
Room
.
addGeometry
(
GeometryTestUtils
.
createDummyGeometry
(
GeometryType
.
SOLID
,
Lod
.
LOD1
));
ab
.
addGeometry
(
GeometryTestUtils
.
createDummyGeometry
(
GeometryType
.
SOLID
,
Lod
.
LOD2
));
ab
Room
.
addGeometry
(
GeometryTestUtils
.
createDummyGeometry
(
GeometryType
.
SOLID
,
Lod
.
LOD2
));
ab
.
addGeometry
(
GeometryTestUtils
.
createDummyGeometry
(
GeometryType
.
SOLID
,
Lod
.
LOD3
));
ab
Room
.
addGeometry
(
GeometryTestUtils
.
createDummyGeometry
(
GeometryType
.
SOLID
,
Lod
.
LOD3
));
GeometryFactory
factory
=
GeometryFactory
.
newInstance
();
GeometryFactory
factory
=
GeometryFactory
.
newInstance
();
ParserConfiguration
config
=
new
ParserConfiguration
(
8
,
false
);
ParserConfiguration
config
=
new
ParserConfiguration
(
8
,
false
);
ab
.
reCreateGeometries
(
factory
,
config
);
ab
Room
.
reCreateGeometries
(
factory
,
config
);
GeometryTestUtils
.
assertSolidMatchesExpectedValues
(
gmlAUS
.
getLod1Solid
().
getObject
());
GeometryTestUtils
.
assertSolidMatchesExpectedValues
(
gmlAUS
.
getLod1Solid
().
getObject
());
GeometryTestUtils
.
assertSolidMatchesExpectedValues
(
gmlAUS
.
getLod2Solid
().
getObject
());
GeometryTestUtils
.
assertSolidMatchesExpectedValues
(
gmlAUS
.
getLod2Solid
().
getObject
());
GeometryTestUtils
.
assertSolidMatchesExpectedValues
(
gmlAUS
.
getLod3Solid
().
getObject
());
GeometryTestUtils
.
assertSolidMatchesExpectedValues
(
gmlAUS
.
getLod3Solid
().
getObject
());
...
@@ -123,14 +170,14 @@ public class AbstractRoomTest {
...
@@ -123,14 +170,14 @@ public class AbstractRoomTest {
return
false
;
return
false
;
}
}
};
};
ab
.
cgmlRoom
=
gmlAUS
;
ab
Room
.
cgmlRoom
=
gmlAUS
;
ab
.
addGeometry
(
GeometryTestUtils
.
createDummyGeometry
(
GeometryType
.
MULTI_SURFACE
,
Lod
.
LOD0
));
ab
Room
.
addGeometry
(
GeometryTestUtils
.
createDummyGeometry
(
GeometryType
.
MULTI_SURFACE
,
Lod
.
LOD0
));
ab
.
addGeometry
(
GeometryTestUtils
.
createDummyGeometry
(
GeometryType
.
MULTI_SURFACE
,
Lod
.
LOD2
));
ab
Room
.
addGeometry
(
GeometryTestUtils
.
createDummyGeometry
(
GeometryType
.
MULTI_SURFACE
,
Lod
.
LOD2
));
ab
.
addGeometry
(
GeometryTestUtils
.
createDummyGeometry
(
GeometryType
.
MULTI_SURFACE
,
Lod
.
LOD3
));
ab
Room
.
addGeometry
(
GeometryTestUtils
.
createDummyGeometry
(
GeometryType
.
MULTI_SURFACE
,
Lod
.
LOD3
));
GeometryFactory
factory
=
GeometryFactory
.
newInstance
();
GeometryFactory
factory
=
GeometryFactory
.
newInstance
();
ParserConfiguration
config
=
new
ParserConfiguration
(
8
,
false
);
ParserConfiguration
config
=
new
ParserConfiguration
(
8
,
false
);
ab
.
reCreateGeometries
(
factory
,
config
);
ab
Room
.
reCreateGeometries
(
factory
,
config
);
assertNotNull
(
gmlAUS
.
getLod0MultiSurface
());
assertNotNull
(
gmlAUS
.
getLod0MultiSurface
());
assertNotNull
(
gmlAUS
.
getLod0MultiSurface
().
getObject
());
assertNotNull
(
gmlAUS
.
getLod0MultiSurface
().
getObject
());
...
...
CityDoctorParent/CityDoctorModel/src/test/java/de/hft/stuttgart/citydoctor2/datastructure/AbstractTunnelTest.java
View file @
f4d3cb7f
package
de.hft.stuttgart.citydoctor2.datastructure
;
package
de.hft.stuttgart.citydoctor2.datastructure
;
import
de.hft.stuttgart.citydoctor2.check.AbstractCheck
;
import
de.hft.stuttgart.citydoctor2.check.AbstractCheck
;
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.parser.ParserConfiguration
;
import
de.hft.stuttgart.citydoctor2.parser.ParserConfiguration
;
import
org.citygml4j.core.util.geometry.GeometryFactory
;
import
org.citygml4j.core.util.geometry.GeometryFactory
;
import
org.citygml4j.core.visitor.ObjectVisitor
;
import
org.citygml4j.core.visitor.ObjectVisitor
;
...
@@ -9,6 +13,9 @@ import org.junit.Test;
...
@@ -9,6 +13,9 @@ import org.junit.Test;
import
org.xmlobjects.gml.model.geometry.aggregates.MultiSurfaceProperty
;
import
org.xmlobjects.gml.model.geometry.aggregates.MultiSurfaceProperty
;
import
org.xmlobjects.gml.model.geometry.primitives.SolidProperty
;
import
org.xmlobjects.gml.model.geometry.primitives.SolidProperty
;
import
java.util.ArrayList
;
import
java.util.List
;
import
static
org
.
junit
.
Assert
.*;
import
static
org
.
junit
.
Assert
.*;
import
static
org
.
mockito
.
Mockito
.
mock
;
import
static
org
.
mockito
.
Mockito
.
mock
;
import
static
org
.
mockito
.
Mockito
.
verify
;
import
static
org
.
mockito
.
Mockito
.
verify
;
...
@@ -58,6 +65,45 @@ public class AbstractTunnelTest {
...
@@ -58,6 +65,45 @@ public class AbstractTunnelTest {
verify
(
mockGeometry
).
accept
(
c
);
verify
(
mockGeometry
).
accept
(
c
);
}
}
@Test
public
void
testContainsError
()
{
assertFalse
(
at
.
containsError
(
CheckId
.
C_GE_P_HOLE_OUTSIDE
));
assertFalse
(
at
.
containsError
(
CheckId
.
C_GE_P_NON_PLANAR
));
at
.
addCheckResult
(
new
CheckResult
(
CheckId
.
C_GE_P_HOLE_OUTSIDE
,
ResultStatus
.
ERROR
,
mock
(
CheckError
.
class
)));
assertTrue
(
at
.
containsError
(
CheckId
.
C_GE_P_HOLE_OUTSIDE
));
assertFalse
(
at
.
containsError
(
CheckId
.
C_GE_P_NON_PLANAR
));
at
.
addCheckResult
(
new
CheckResult
(
CheckId
.
C_GE_P_NON_PLANAR
,
ResultStatus
.
OK
,
mock
(
CheckError
.
class
)));
assertTrue
(
at
.
containsError
(
CheckId
.
C_GE_P_HOLE_OUTSIDE
));
assertFalse
(
at
.
containsError
(
CheckId
.
C_GE_P_NON_PLANAR
));
}
@Test
public
void
testClearAllContainedCheckResults
()
{
at
.
addCheckResult
(
new
CheckResult
(
CheckId
.
C_GE_P_HOLE_OUTSIDE
,
ResultStatus
.
OK
,
null
));
assertEquals
(
1
,
at
.
getAllCheckResults
().
size
());
at
.
clearAllContainedCheckResults
();
assertTrue
(
at
.
getAllCheckResults
().
isEmpty
());
}
@Test
public
void
testContainsAnyError
()
{
assertFalse
(
at
.
containsAnyError
());
at
.
addCheckResult
(
new
CheckResult
(
CheckId
.
C_GE_P_HOLE_OUTSIDE
,
ResultStatus
.
OK
,
null
));
assertFalse
(
at
.
containsAnyError
());
at
.
addCheckResult
(
new
CheckResult
(
CheckId
.
C_GE_P_INNER_RINGS_NESTED
,
ResultStatus
.
ERROR
,
mock
(
CheckError
.
class
)));
assertTrue
(
at
.
containsAnyError
());
}
@Test
public
void
testCollectContainedErrors
()
{
at
.
addCheckResult
(
new
CheckResult
(
CheckId
.
C_GE_P_HOLE_OUTSIDE
,
ResultStatus
.
ERROR
,
mock
(
CheckError
.
class
)));
List
<
CheckError
>
errors
=
new
ArrayList
<>();
at
.
collectContainedErrors
(
errors
);
assertEquals
(
1
,
errors
.
size
());
}
@Test
@Test
public
void
testUnsetGeometries
()
{
public
void
testUnsetGeometries
()
{
org
.
citygml4j
.
core
.
model
.
tunnel
.
AbstractTunnel
gmlAt
=
new
org
.
citygml4j
.
core
.
model
.
tunnel
.
AbstractTunnel
()
{
org
.
citygml4j
.
core
.
model
.
tunnel
.
AbstractTunnel
gmlAt
=
new
org
.
citygml4j
.
core
.
model
.
tunnel
.
AbstractTunnel
()
{
...
...
CityDoctorParent/CityDoctorModel/src/test/java/de/hft/stuttgart/citydoctor2/datastructure/BridgeObjectTest.java
View file @
f4d3cb7f
...
@@ -29,13 +29,11 @@ import static org.mockito.Mockito.verify;
...
@@ -29,13 +29,11 @@ import static org.mockito.Mockito.verify;
import
static
org
.
mockito
.
Mockito
.
when
;
import
static
org
.
mockito
.
Mockito
.
when
;
import
java.util.ArrayList
;
import
java.util.ArrayList
;
import
java.util.List
;
import
java.util.concurrent.atomic.AtomicInteger
;
import
java.util.concurrent.atomic.AtomicInteger
;
import
de.hft.stuttgart.citydoctor2.utils.visitors.ClearCheckResultsVisitor
;
import
de.hft.stuttgart.citydoctor2.utils.visitors.GmlGeometryRebuilder
;
import
de.hft.stuttgart.citydoctor2.utils.visitors.UnsetGeometriesVisitor
;
import
de.hft.stuttgart.citydoctor2.utils.visitors.UnsetGeometriesVisitor
;
import
org.citygml4j.core.model.bridge.AbstractBridge
;
import
org.citygml4j.core.model.bridge.AbstractBridge
;
import
org.citygml4j.core.model.core.AbstractThematicSurface
;
import
org.citygml4j.core.model.deprecated.bridge.DeprecatedPropertiesOfAbstractBridge
;
import
org.citygml4j.core.model.deprecated.bridge.DeprecatedPropertiesOfAbstractBridge
;
import
org.citygml4j.core.util.geometry.GeometryFactory
;
import
org.citygml4j.core.util.geometry.GeometryFactory
;
import
org.citygml4j.core.visitor.ObjectVisitor
;
import
org.citygml4j.core.visitor.ObjectVisitor
;
...
@@ -83,6 +81,39 @@ public class BridgeObjectTest {
...
@@ -83,6 +81,39 @@ public class BridgeObjectTest {
assertEquals
(
0
,
boCounter2
.
intValue
());
assertEquals
(
0
,
boCounter2
.
intValue
());
}
}
@Test
public
void
testVisitorPropagation
()
{
BridgeObject
bo
=
new
BridgeObject
(
mock
(
AbstractBridge
.
class
));
BridgeObject
partMock
=
mock
(
BridgeObject
.
class
);
BridgeRoom
mockRoom
=
mock
(
BridgeRoom
.
class
);
BridgeRoomFurniture
mockFurn
=
mock
(
BridgeRoomFurniture
.
class
);
BridgeConstructiveElement
ceMock
=
mock
(
BridgeConstructiveElement
.
class
);
Installation
instMock
=
mock
(
Installation
.
class
);
BoundarySurface
bsMock
=
mock
(
BoundarySurface
.
class
);
Geometry
geomMock
=
mock
(
Geometry
.
class
);
bo
.
addBridgePart
(
partMock
);
bo
.
addBridgeRoom
(
mockRoom
);
bo
.
addBridgeFurniture
(
mockFurn
);
bo
.
addConstructiveElement
(
ceMock
);
bo
.
addBridgeInstallation
(
instMock
);
bo
.
addBoundarySurface
(
bsMock
);
bo
.
addGeometry
(
geomMock
);
AbstractCheck
c
=
new
AbstractCheck
()
{
};
bo
.
accept
(
c
);
verify
(
partMock
).
accept
(
c
);
verify
(
mockRoom
).
accept
(
c
);
verify
(
mockFurn
).
accept
(
c
);
verify
(
ceMock
).
accept
(
c
);
verify
(
instMock
).
accept
(
c
);
verify
(
bsMock
).
accept
(
c
);
verify
(
geomMock
).
accept
(
c
);
}
@Test
@Test
public
void
testPrepareForChecking
()
{
public
void
testPrepareForChecking
()
{
BridgeObject
bo
=
new
BridgeObject
(
mock
(
AbstractBridge
.
class
));
BridgeObject
bo
=
new
BridgeObject
(
mock
(
AbstractBridge
.
class
));
...
@@ -99,67 +130,44 @@ public class BridgeObjectTest {
...
@@ -99,67 +130,44 @@ public class BridgeObjectTest {
public
void
testContainsError
()
{
public
void
testContainsError
()
{
BridgeObject
bo
=
new
BridgeObject
(
mock
(
AbstractBridge
.
class
));
BridgeObject
bo
=
new
BridgeObject
(
mock
(
AbstractBridge
.
class
));
assertFalse
(
bo
.
containsError
(
CheckId
.
C_GE_P_HOLE_OUTSIDE
));
assertFalse
(
bo
.
containsError
(
CheckId
.
C_GE_P_HOLE_OUTSIDE
));
assertFalse
(
bo
.
containsError
(
CheckId
.
C_GE_P_NON_PLANAR
));
bo
.
addCheckResult
(
new
CheckResult
(
CheckId
.
C_GE_P_HOLE_OUTSIDE
,
ResultStatus
.
ERROR
,
mock
(
CheckError
.
class
)));
bo
.
addCheckResult
(
new
CheckResult
(
CheckId
.
C_GE_P_HOLE_OUTSIDE
,
ResultStatus
.
ERROR
,
mock
(
CheckError
.
class
)));
assertTrue
(
bo
.
containsError
(
CheckId
.
C_GE_P_HOLE_OUTSIDE
));
assertTrue
(
bo
.
containsError
(
CheckId
.
C_GE_P_HOLE_OUTSIDE
));
}
assertFalse
(
bo
.
containsError
(
CheckId
.
C_GE_P_NON_PLANAR
));
bo
.
addCheckResult
(
new
CheckResult
(
CheckId
.
C_GE_P_NON_PLANAR
,
ResultStatus
.
OK
,
mock
(
CheckError
.
class
)));
@Test
public
void
testContainsError2
()
{
BridgeObject
bo
=
new
BridgeObject
(
mock
(
AbstractBridge
.
class
));
BoundarySurface
bs
=
new
BoundarySurface
(
mock
(
AbstractThematicSurface
.
class
));
bo
.
addBoundarySurface
(
bs
);
assertFalse
(
bo
.
containsError
(
CheckId
.
C_GE_P_HOLE_OUTSIDE
));
bs
.
addCheckResult
(
new
CheckResult
(
CheckId
.
C_GE_P_HOLE_OUTSIDE
,
ResultStatus
.
ERROR
,
mock
(
CheckError
.
class
)));
assertTrue
(
bo
.
containsError
(
CheckId
.
C_GE_P_HOLE_OUTSIDE
));
assertTrue
(
bo
.
containsError
(
CheckId
.
C_GE_P_HOLE_OUTSIDE
));
assertFalse
(
bo
.
containsError
(
CheckId
.
C_GE_P_NON_PLANAR
));
}
}
@Test
@Test
public
void
testClearAllContainedCheckResults
()
{
public
void
testClearAllContainedCheckResults
()
{
BridgeObject
bo
=
new
BridgeObject
(
mock
(
AbstractBridge
.
class
));
BridgeObject
bo
=
new
BridgeObject
(
mock
(
AbstractBridge
.
class
));
BoundarySurface
bsMock
=
mock
(
BoundarySurface
.
class
);
bo
.
addCheckResult
(
new
CheckResult
(
CheckId
.
C_GE_P_HOLE_OUTSIDE
,
ResultStatus
.
OK
,
null
));
bo
.
addBoundarySurface
(
bsMock
);
assertEquals
(
1
,
bo
.
getAllCheckResults
().
size
());
bo
.
clearAllContainedCheckResults
();
bo
.
clearAllContainedCheckResults
();
verify
(
bsMock
).
accept
(
any
(
ClearCheckResultsVisitor
.
class
));
assertTrue
(
bo
.
getAllCheckResults
().
isEmpty
(
));
}
}
@Test
@Test
public
void
testContainsAnyError
()
{
public
void
testContainsAnyError
()
{
BridgeObject
bo
=
new
BridgeObject
(
mock
(
AbstractBridge
.
class
));
BridgeObject
bo
=
new
BridgeObject
(
mock
(
AbstractBridge
.
class
));
BoundarySurface
bs
=
new
BoundarySurface
(
mock
(
AbstractThematicSurface
.
class
));
assertFalse
(
bo
.
containsAnyError
());
BoundarySurface
spyBs
=
Mockito
.
spy
(
bs
);
bo
.
addCheckResult
(
new
CheckResult
(
CheckId
.
C_GE_P_HOLE_OUTSIDE
,
ResultStatus
.
OK
,
null
));
bo
.
addBoundarySurface
(
spyBs
);
assertFalse
(
bo
.
containsAnyError
());
bo
.
containsAnyError
();
bo
.
addCheckResult
(
verify
(
spyBs
).
hasAnyError
();
new
CheckResult
(
CheckId
.
C_GE_P_INNER_RINGS_NESTED
,
ResultStatus
.
ERROR
,
mock
(
CheckError
.
class
)));
bs
.
addCheckResult
(
new
CheckResult
(
CheckId
.
C_GE_P_HOLE_OUTSIDE
,
ResultStatus
.
ERROR
,
mock
(
CheckError
.
class
)));
assertTrue
(
bo
.
containsAnyError
());
assertTrue
(
bo
.
containsAnyError
());
BridgeObject
bo2
=
new
BridgeObject
(
mock
(
AbstractBridge
.
class
));
bo2
.
addCheckResult
(
new
CheckResult
(
CheckId
.
C_GE_P_HOLE_OUTSIDE
,
ResultStatus
.
ERROR
,
mock
(
CheckError
.
class
)));
assertTrue
(
bo2
.
containsAnyError
());
}
}
@Test
@Test
public
void
testCollectContainedErrors
()
{
public
void
testCollectContainedErrors
()
{
BridgeObject
bo
=
new
BridgeObject
(
mock
(
AbstractBridge
.
class
));
BridgeObject
bo
=
new
BridgeObject
(
mock
(
AbstractBridge
.
class
));
BoundarySurface
bs
=
new
BoundarySurface
(
mock
(
AbstractThematicSurface
.
class
));
bo
.
addCheckResult
(
new
CheckResult
(
CheckId
.
C_GE_P_HOLE_OUTSIDE
,
ResultStatus
.
ERROR
,
mock
(
CheckError
.
class
)));
BoundarySurface
spyBs
=
Mockito
.
spy
(
bs
);
List
<
CheckError
>
errors
=
new
ArrayList
<>();
bo
.
addBoundarySurface
(
spyBs
);
ArrayList
<
CheckError
>
errors
=
new
ArrayList
<>();
bo
.
collectContainedErrors
(
errors
);
bo
.
collectContainedErrors
(
errors
);
verify
(
spyBs
).
collectErrors
(
errors
);
assertEquals
(
1
,
errors
.
size
());
}
@Test
public
void
testReCreateGeometries
()
{
BridgeObject
bo
=
new
BridgeObject
(
mock
(
AbstractBridge
.
class
));
BoundarySurface
bsMock
=
mock
(
BoundarySurface
.
class
);
bo
.
addBoundarySurface
(
bsMock
);
GeometryFactory
factoryMock
=
mock
(
GeometryFactory
.
class
);
ParserConfiguration
configMock
=
mock
(
ParserConfiguration
.
class
);
bo
.
reCreateGeometries
(
factoryMock
,
configMock
);
verify
(
bsMock
).
accept
(
any
(
GmlGeometryRebuilder
.
class
));
}
}
@Test
@Test
...
...
CityDoctorParent/CityDoctorModel/src/test/java/de/hft/stuttgart/citydoctor2/datastructure/CityFurnitureTest.java
View file @
f4d3cb7f
package
de.hft.stuttgart.citydoctor2.datastructure
;
package
de.hft.stuttgart.citydoctor2.datastructure
;
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.parser.ParserConfiguration
;
import
de.hft.stuttgart.citydoctor2.parser.ParserConfiguration
;
import
org.citygml4j.core.util.geometry.GeometryFactory
;
import
org.citygml4j.core.util.geometry.GeometryFactory
;
import
org.junit.Test
;
import
org.junit.Test
;
import
org.xmlobjects.gml.model.geometry.aggregates.MultiSurfaceProperty
;
import
org.xmlobjects.gml.model.geometry.aggregates.MultiSurfaceProperty
;
import
java.util.ArrayList
;
import
java.util.List
;
import
static
org
.
junit
.
Assert
.*;
import
static
org
.
junit
.
Assert
.*;
import
static
org
.
mockito
.
Mockito
.
mock
;
public
class
CityFurnitureTest
{
public
class
CityFurnitureTest
{
@Test
public
void
testContainsError
()
{
CityFurniture
cf
=
new
CityFurniture
();
assertFalse
(
cf
.
containsError
(
CheckId
.
C_GE_P_HOLE_OUTSIDE
));
assertFalse
(
cf
.
containsError
(
CheckId
.
C_GE_P_NON_PLANAR
));
cf
.
addCheckResult
(
new
CheckResult
(
CheckId
.
C_GE_P_HOLE_OUTSIDE
,
ResultStatus
.
ERROR
,
mock
(
CheckError
.
class
)));
assertTrue
(
cf
.
containsError
(
CheckId
.
C_GE_P_HOLE_OUTSIDE
));
assertFalse
(
cf
.
containsError
(
CheckId
.
C_GE_P_NON_PLANAR
));
cf
.
addCheckResult
(
new
CheckResult
(
CheckId
.
C_GE_P_NON_PLANAR
,
ResultStatus
.
OK
,
mock
(
CheckError
.
class
)));
assertTrue
(
cf
.
containsError
(
CheckId
.
C_GE_P_HOLE_OUTSIDE
));
assertFalse
(
cf
.
containsError
(
CheckId
.
C_GE_P_NON_PLANAR
));
}
@Test
public
void
testClearAllContainedCheckResults
()
{
CityFurniture
cf
=
new
CityFurniture
();
cf
.
addCheckResult
(
new
CheckResult
(
CheckId
.
C_GE_P_HOLE_OUTSIDE
,
ResultStatus
.
OK
,
null
));
assertEquals
(
1
,
cf
.
getAllCheckResults
().
size
());
cf
.
clearAllContainedCheckResults
();
assertTrue
(
cf
.
getAllCheckResults
().
isEmpty
());
}
@Test
public
void
testContainsAnyError
()
{
CityFurniture
cf
=
new
CityFurniture
();
assertFalse
(
cf
.
containsAnyError
());
cf
.
addCheckResult
(
new
CheckResult
(
CheckId
.
C_GE_P_HOLE_OUTSIDE
,
ResultStatus
.
OK
,
null
));
assertFalse
(
cf
.
containsAnyError
());
cf
.
addCheckResult
(
new
CheckResult
(
CheckId
.
C_GE_P_INNER_RINGS_NESTED
,
ResultStatus
.
ERROR
,
mock
(
CheckError
.
class
)));
assertTrue
(
cf
.
containsAnyError
());
}
@Test
public
void
testCollectContainedErrors
()
{
CityFurniture
cf
=
new
CityFurniture
();
cf
.
addCheckResult
(
new
CheckResult
(
CheckId
.
C_GE_P_HOLE_OUTSIDE
,
ResultStatus
.
ERROR
,
mock
(
CheckError
.
class
)));
List
<
CheckError
>
errors
=
new
ArrayList
<>();
cf
.
collectContainedErrors
(
errors
);
assertEquals
(
1
,
errors
.
size
());
}
@Test
@Test
public
void
unsetGmlGeometries
()
{
public
void
unsetGmlGeometries
()
{
...
...
CityDoctorParent/CityDoctorModel/src/test/java/de/hft/stuttgart/citydoctor2/datastructure/CityObjectTest.java
View file @
f4d3cb7f
package
de.hft.stuttgart.citydoctor2.datastructure
;
package
de.hft.stuttgart.citydoctor2.datastructure
;
import
de.hft.stuttgart.citydoctor2.check.AbstractCheck
;
import
de.hft.stuttgart.citydoctor2.check.AbstractCheck
;
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.parser.ParserConfiguration
;
import
de.hft.stuttgart.citydoctor2.parser.ParserConfiguration
;
import
de.hft.stuttgart.citydoctor2.utils.visitors.GmlGeometryRebuilder
;
import
de.hft.stuttgart.citydoctor2.utils.visitors.GmlGeometryRebuilder
;
import
de.hft.stuttgart.citydoctor2.utils.visitors.UnsetGeometriesVisitor
;
import
de.hft.stuttgart.citydoctor2.utils.visitors.UnsetGeometriesVisitor
;
...
@@ -10,6 +14,9 @@ import org.junit.Before;
...
@@ -10,6 +14,9 @@ import org.junit.Before;
import
org.junit.Test
;
import
org.junit.Test
;
import
org.mockito.Mockito
;
import
org.mockito.Mockito
;
import
java.util.ArrayList
;
import
java.util.List
;
import
static
org
.
junit
.
Assert
.*;
import
static
org
.
junit
.
Assert
.*;
import
static
org
.
mockito
.
ArgumentMatchers
.
any
;
import
static
org
.
mockito
.
ArgumentMatchers
.
any
;
import
static
org
.
mockito
.
Mockito
.
mock
;
import
static
org
.
mockito
.
Mockito
.
mock
;
...
@@ -32,6 +39,46 @@ public class CityObjectTest {
...
@@ -32,6 +39,46 @@ public class CityObjectTest {
verify
(
mockGeometry
).
accept
(
check
);
verify
(
mockGeometry
).
accept
(
check
);
}
}
@Test
public
void
testContainsError
()
{
assertFalse
(
co
.
containsError
(
CheckId
.
C_GE_P_HOLE_OUTSIDE
));
assertFalse
(
co
.
containsError
(
CheckId
.
C_GE_P_NON_PLANAR
));
co
.
addCheckResult
(
new
CheckResult
(
CheckId
.
C_GE_P_HOLE_OUTSIDE
,
ResultStatus
.
ERROR
,
mock
(
CheckError
.
class
)));
assertTrue
(
co
.
containsError
(
CheckId
.
C_GE_P_HOLE_OUTSIDE
));
assertFalse
(
co
.
containsError
(
CheckId
.
C_GE_P_NON_PLANAR
));
co
.
addCheckResult
(
new
CheckResult
(
CheckId
.
C_GE_P_NON_PLANAR
,
ResultStatus
.
OK
,
mock
(
CheckError
.
class
)));
assertTrue
(
co
.
containsError
(
CheckId
.
C_GE_P_HOLE_OUTSIDE
));
assertFalse
(
co
.
containsError
(
CheckId
.
C_GE_P_NON_PLANAR
));
}
@Test
public
void
testClearAllContainedCheckResults
()
{
co
.
addCheckResult
(
new
CheckResult
(
CheckId
.
C_GE_P_HOLE_OUTSIDE
,
ResultStatus
.
OK
,
null
));
assertEquals
(
1
,
co
.
getAllCheckResults
().
size
());
co
.
clearAllContainedCheckResults
();
assertTrue
(
co
.
getAllCheckResults
().
isEmpty
());
}
@Test
public
void
testContainsAnyError
()
{
assertFalse
(
co
.
containsAnyError
());
co
.
addCheckResult
(
new
CheckResult
(
CheckId
.
C_GE_P_HOLE_OUTSIDE
,
ResultStatus
.
OK
,
null
));
assertFalse
(
co
.
containsAnyError
());
co
.
addCheckResult
(
new
CheckResult
(
CheckId
.
C_GE_P_INNER_RINGS_NESTED
,
ResultStatus
.
ERROR
,
mock
(
CheckError
.
class
)));
assertTrue
(
co
.
containsAnyError
());
}
@Test
public
void
testCollectContainedErrors
()
{
co
.
addCheckResult
(
new
CheckResult
(
CheckId
.
C_GE_P_HOLE_OUTSIDE
,
ResultStatus
.
ERROR
,
mock
(
CheckError
.
class
)));
List
<
CheckError
>
errors
=
new
ArrayList
<>();
co
.
collectContainedErrors
(
errors
);
assertEquals
(
1
,
errors
.
size
());
}
@Test
@Test
public
void
testClearGmlGeometries
()
{
public
void
testClearGmlGeometries
()
{
...
...
CityDoctorParent/CityDoctorModel/src/test/java/de/hft/stuttgart/citydoctor2/datastructure/GenericCityObjectTest.java
View file @
f4d3cb7f
package
de.hft.stuttgart.citydoctor2.datastructure
;
package
de.hft.stuttgart.citydoctor2.datastructure
;
import
de.hft.stuttgart.citydoctor2.check.AbstractCheck
;
import
de.hft.stuttgart.citydoctor2.check.AbstractCheck
;
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.parser.ParserConfiguration
;
import
de.hft.stuttgart.citydoctor2.parser.ParserConfiguration
;
import
org.citygml4j.core.model.generics.GenericOccupiedSpace
;
import
org.citygml4j.core.model.generics.GenericOccupiedSpace
;
import
org.citygml4j.core.util.geometry.GeometryFactory
;
import
org.citygml4j.core.util.geometry.GeometryFactory
;
...
@@ -8,6 +12,9 @@ import org.junit.Test;
...
@@ -8,6 +12,9 @@ import org.junit.Test;
import
org.xmlobjects.gml.model.geometry.aggregates.MultiSurfaceProperty
;
import
org.xmlobjects.gml.model.geometry.aggregates.MultiSurfaceProperty
;
import
org.xmlobjects.gml.model.geometry.primitives.SolidProperty
;
import
org.xmlobjects.gml.model.geometry.primitives.SolidProperty
;
import
java.util.ArrayList
;
import
java.util.List
;
import
static
org
.
junit
.
Assert
.*;
import
static
org
.
junit
.
Assert
.*;
import
static
org
.
mockito
.
Mockito
.
mock
;
import
static
org
.
mockito
.
Mockito
.
mock
;
import
static
org
.
mockito
.
Mockito
.
verify
;
import
static
org
.
mockito
.
Mockito
.
verify
;
...
@@ -32,6 +39,50 @@ public class GenericCityObjectTest {
...
@@ -32,6 +39,50 @@ public class GenericCityObjectTest {
}
}
@Test
public
void
testContainsError
()
{
GenericCityObject
gco
=
new
GenericCityObject
();
assertFalse
(
gco
.
containsError
(
CheckId
.
C_GE_P_HOLE_OUTSIDE
));
assertFalse
(
gco
.
containsError
(
CheckId
.
C_GE_P_NON_PLANAR
));
gco
.
addCheckResult
(
new
CheckResult
(
CheckId
.
C_GE_P_HOLE_OUTSIDE
,
ResultStatus
.
ERROR
,
mock
(
CheckError
.
class
)));
assertTrue
(
gco
.
containsError
(
CheckId
.
C_GE_P_HOLE_OUTSIDE
));
assertFalse
(
gco
.
containsError
(
CheckId
.
C_GE_P_NON_PLANAR
));
gco
.
addCheckResult
(
new
CheckResult
(
CheckId
.
C_GE_P_NON_PLANAR
,
ResultStatus
.
OK
,
mock
(
CheckError
.
class
)));
assertTrue
(
gco
.
containsError
(
CheckId
.
C_GE_P_HOLE_OUTSIDE
));
assertFalse
(
gco
.
containsError
(
CheckId
.
C_GE_P_NON_PLANAR
));
}
@Test
public
void
testClearAllContainedCheckResults
()
{
GenericCityObject
gco
=
new
GenericCityObject
();
gco
.
addCheckResult
(
new
CheckResult
(
CheckId
.
C_GE_P_HOLE_OUTSIDE
,
ResultStatus
.
OK
,
null
));
assertEquals
(
1
,
gco
.
getAllCheckResults
().
size
());
gco
.
clearAllContainedCheckResults
();
assertTrue
(
gco
.
getAllCheckResults
().
isEmpty
());
}
@Test
public
void
testContainsAnyError
()
{
GenericCityObject
gco
=
new
GenericCityObject
();
assertFalse
(
gco
.
containsAnyError
());
gco
.
addCheckResult
(
new
CheckResult
(
CheckId
.
C_GE_P_HOLE_OUTSIDE
,
ResultStatus
.
OK
,
null
));
assertFalse
(
gco
.
containsAnyError
());
gco
.
addCheckResult
(
new
CheckResult
(
CheckId
.
C_GE_P_INNER_RINGS_NESTED
,
ResultStatus
.
ERROR
,
mock
(
CheckError
.
class
)));
assertTrue
(
gco
.
containsAnyError
());
}
@Test
public
void
testCollectContainedErrors
()
{
GenericCityObject
gco
=
new
GenericCityObject
();
gco
.
addCheckResult
(
new
CheckResult
(
CheckId
.
C_GE_P_HOLE_OUTSIDE
,
ResultStatus
.
ERROR
,
mock
(
CheckError
.
class
)));
List
<
CheckError
>
errors
=
new
ArrayList
<>();
gco
.
collectContainedErrors
(
errors
);
assertEquals
(
1
,
errors
.
size
());
}
@Test
@Test
public
void
testUnsetGmlGeometries
()
{
public
void
testUnsetGmlGeometries
()
{
GenericCityObject
gco
=
new
GenericCityObject
();
GenericCityObject
gco
=
new
GenericCityObject
();
...
...
CityDoctorParent/CityDoctorModel/src/test/java/de/hft/stuttgart/citydoctor2/datastructure/GeometryTest.java
View file @
f4d3cb7f
...
@@ -32,6 +32,7 @@ import static org.mockito.Mockito.when;
...
@@ -32,6 +32,7 @@ import static org.mockito.Mockito.when;
import
java.util.ArrayList
;
import
java.util.ArrayList
;
import
java.util.List
;
import
java.util.List
;
import
de.hft.stuttgart.citydoctor2.check.AbstractCheck
;
import
de.hft.stuttgart.citydoctor2.utils.visitors.ClearCheckResultsVisitor
;
import
de.hft.stuttgart.citydoctor2.utils.visitors.ClearCheckResultsVisitor
;
import
org.citygml4j.core.model.construction.AbstractConstructionSurface
;
import
org.citygml4j.core.model.construction.AbstractConstructionSurface
;
import
org.citygml4j.core.model.construction.WallSurface
;
import
org.citygml4j.core.model.construction.WallSurface
;
...
@@ -55,6 +56,20 @@ import org.mockito.Mockito;
...
@@ -55,6 +56,20 @@ import org.mockito.Mockito;
*/
*/
public
class
GeometryTest
{
public
class
GeometryTest
{
@Test
public
void
testVisitorPropagation
()
{
Geometry
geom
=
new
Geometry
(
GeometryType
.
SOLID
,
Lod
.
LOD0
);
ConcretePolygon
mockPolygon
=
mock
(
ConcretePolygon
.
class
);
geom
.
addPolygon
(
mockPolygon
);
AbstractCheck
c
=
new
AbstractCheck
()
{
};
geom
.
accept
(
c
);
verify
(
mockPolygon
).
accept
(
c
);
}
@Test
@Test
public
void
testCreate
()
{
public
void
testCreate
()
{
Geometry
geom
=
new
Geometry
(
GeometryType
.
SOLID
,
Lod
.
LOD0
);
Geometry
geom
=
new
Geometry
(
GeometryType
.
SOLID
,
Lod
.
LOD0
);
...
...
CityDoctorParent/CityDoctorModel/src/test/java/de/hft/stuttgart/citydoctor2/datastructure/ImplicitGeometryTest.java
View file @
f4d3cb7f
package
de.hft.stuttgart.citydoctor2.datastructure
;
package
de.hft.stuttgart.citydoctor2.datastructure
;
import
de.hft.stuttgart.citydoctor2.check.AbstractCheck
;
import
de.hft.stuttgart.citydoctor2.check.AbstractCheck
;
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.parser.ParserConfiguration
;
import
de.hft.stuttgart.citydoctor2.parser.ParserConfiguration
;
import
de.hft.stuttgart.citydoctor2.utils.Copy
;
import
org.citygml4j.core.model.core.ImplicitGeometry
;
import
org.citygml4j.core.model.core.ImplicitGeometry
;
import
org.citygml4j.core.model.core.TransformationMatrix4x4
;
import
org.citygml4j.core.model.core.TransformationMatrix4x4
;
import
org.junit.Before
;
import
org.junit.Before
;
...
@@ -13,20 +18,25 @@ import org.xmlobjects.gml.util.jama.Matrix;
...
@@ -13,20 +18,25 @@ import org.xmlobjects.gml.util.jama.Matrix;
import
java.nio.file.Path
;
import
java.nio.file.Path
;
import
java.nio.file.Paths
;
import
java.nio.file.Paths
;
import
java.util.ArrayList
;
import
java.util.List
;
import
java.util.concurrent.atomic.AtomicInteger
;
import
java.util.concurrent.atomic.AtomicInteger
;
import
static
org
.
junit
.
Assert
.*;
import
static
org
.
junit
.
Assert
.*;
import
static
org
.
mockito
.
Mockito
.
mock
;
public
class
ImplicitGeometryTest
{
public
class
ImplicitGeometryTest
{
private
Path
path
;
private
ParserConfiguration
config
;
private
ParserConfiguration
config
;
private
String
pathString
=
"src/test/resources/ImplicitTestGeom.gml"
;
private
String
pathString
=
"src/test/resources/ImplicitTestGeom.gml"
;
private
Path
path
=
Paths
.
get
(
pathString
);
private
TransformationMatrix4x4
origin
;
private
TransformationMatrix4x4
origin
;
private
LibraryObject
lib
;
private
ImplicitGeometryHolder
igh
;
@Before
@Before
public
void
setUp
()
{
public
void
setUp
()
{
path
=
Paths
.
get
(
pathString
);
config
=
new
ParserConfiguration
(
8
,
false
);
config
=
new
ParserConfiguration
(
8
,
false
);
Matrix
og
=
new
Matrix
(
4
,
4
);
Matrix
og
=
new
Matrix
(
4
,
4
);
og
.
set
(
0
,
0
,
1
);
og
.
set
(
0
,
0
,
1
);
...
@@ -34,6 +44,17 @@ public class ImplicitGeometryTest {
...
@@ -34,6 +44,17 @@ public class ImplicitGeometryTest {
og
.
set
(
2
,
2
,
1
);
og
.
set
(
2
,
2
,
1
);
origin
=
new
TransformationMatrix4x4
(
og
);
origin
=
new
TransformationMatrix4x4
(
og
);
lib
=
LibraryObject
.
of
(
path
,
config
);
assertNotNull
(
lib
);
// Create copy for cleanup
lib
=
Copy
.
copy
(
lib
);
ImplicitGeometry
geom
=
new
ImplicitGeometry
();
geom
.
setTransformationMatrix
(
origin
);
geom
.
setReferencePoint
(
new
PointProperty
(
new
Point
(
new
DirectPosition
(
0
,
0
))));
igh
=
new
ImplicitGeometryHolder
(
geom
,
lib
);
assertNotNull
(
igh
);
}
}
@Test
@Test
...
@@ -41,43 +62,91 @@ public class ImplicitGeometryTest {
...
@@ -41,43 +62,91 @@ public class ImplicitGeometryTest {
LibraryObject
lo
=
LibraryObject
.
of
(
path
,
config
);
LibraryObject
lo
=
LibraryObject
.
of
(
path
,
config
);
assertNotNull
(
lo
);
assertNotNull
(
lo
);
LibraryObject
lo2
=
LibraryObject
.
of
(
path
,
config
);
LibraryObject
lo2
=
LibraryObject
.
of
(
path
,
config
);
assertNotNull
(
lo2
);
assertSame
(
lo
,
lo2
);
assertSame
(
lo
,
lo2
);
}
}
@Test
@Test
public
void
testObjectTransform
()
{
public
void
testObjectTransform
()
{
LibraryObject
lo
=
LibraryObject
.
of
(
path
,
config
);
assertNotNull
(
lo
);
ImplicitGeometry
geom
=
new
ImplicitGeometry
();
ImplicitGeometry
geom
=
new
ImplicitGeometry
();
geom
.
setTransformationMatrix
(
origin
);
geom
.
setTransformationMatrix
(
origin
);
geom
.
setReferencePoint
(
new
PointProperty
(
new
Point
(
new
DirectPosition
(
0
,
0
))));
geom
.
setReferencePoint
(
new
PointProperty
(
new
Point
(
new
DirectPosition
(
0
,
0
))));
ImplicitGeometryHolder
igh
=
new
ImplicitGeometryHolder
(
geom
,
l
o
);
ImplicitGeometryHolder
transform1
=
new
ImplicitGeometryHolder
(
geom
,
l
ib
);
assertNotNull
(
igh
);
assertNotNull
(
transform1
);
geom
.
setReferencePoint
(
new
PointProperty
(
new
Point
(
new
DirectPosition
(
5
,
8
))));
geom
.
setReferencePoint
(
new
PointProperty
(
new
Point
(
new
DirectPosition
(
5
,
8
))));
ImplicitGeometryHolder
igh
2
=
new
ImplicitGeometryHolder
(
geom
,
l
o
);
ImplicitGeometryHolder
transform
2
=
new
ImplicitGeometryHolder
(
geom
,
l
ib
);
assertNotNull
(
igh
2
);
assertNotNull
(
transform
2
);
assertNotEquals
(
igh
,
igh
2
);
assertNotEquals
(
transform1
,
transform
2
);
BoundingBox
bb1
=
BoundingBox
.
of
(
igh
.
getPolygons
());
BoundingBox
bb1
=
BoundingBox
.
of
(
transform1
.
getPolygons
());
BoundingBox
bb2
=
BoundingBox
.
of
(
igh
2
.
getPolygons
());
BoundingBox
bb2
=
BoundingBox
.
of
(
transform
2
.
getPolygons
());
assertNotEquals
(
bb1
,
bb2
);
assertNotEquals
(
bb1
,
bb2
);
}
@Test
public
void
testContainsError
()
{
assertFalse
(
lib
.
containsError
(
CheckId
.
C_GE_P_HOLE_OUTSIDE
));
assertFalse
(
lib
.
containsError
(
CheckId
.
C_GE_P_NON_PLANAR
));
igh
.
addCheckResult
(
new
CheckResult
(
CheckId
.
C_GE_P_HOLE_OUTSIDE
,
ResultStatus
.
ERROR
,
mock
(
CheckError
.
class
)));
assertFalse
(
"ImplicitGeometryHolder's errors should be ignored and delegate the call to the prototype geometry"
,
lib
.
containsError
(
CheckId
.
C_GE_P_HOLE_OUTSIDE
));
lib
.
addCheckResult
(
new
CheckResult
(
CheckId
.
C_GE_P_HOLE_OUTSIDE
,
ResultStatus
.
ERROR
,
mock
(
CheckError
.
class
)));
assertTrue
(
lib
.
containsError
(
CheckId
.
C_GE_P_HOLE_OUTSIDE
));
assertFalse
(
lib
.
containsError
(
CheckId
.
C_GE_P_NON_PLANAR
));
lib
.
addCheckResult
(
new
CheckResult
(
CheckId
.
C_GE_P_NON_PLANAR
,
ResultStatus
.
OK
,
null
));
assertTrue
(
lib
.
containsError
(
CheckId
.
C_GE_P_HOLE_OUTSIDE
));
assertFalse
(
lib
.
containsError
(
CheckId
.
C_GE_P_NON_PLANAR
));
}
}
@Test
@Test
public
void
testAccept
()
{
public
void
testClearAllContainedCheckResults
()
{
LibraryObject
lib
=
LibraryObject
.
of
(
path
,
config
);
lib
.
addCheckResult
(
new
CheckResult
(
CheckId
.
C_GE_P_HOLE_OUTSIDE
,
ResultStatus
.
OK
,
null
));
assertNotNull
(
lib
);
ImplicitGeometry
geom
=
new
ImplicitGeometry
();
assertEquals
(
1
,
lib
.
getAllCheckResults
().
size
());
geom
.
setTransformationMatrix
(
origin
);
lib
.
clearAllContainedCheckResults
();
geom
.
setReferencePoint
(
new
PointProperty
(
new
Point
(
new
DirectPosition
(
0
,
0
))));
assertTrue
(
lib
.
getAllCheckResults
().
isEmpty
());
}
int
polyCount
=
lib
.
getPolygons
().
size
();
@Test
public
void
testContainsAnyError
()
{
assertFalse
(
lib
.
containsAnyError
());
igh
.
addCheckResult
(
new
CheckResult
(
CheckId
.
C_GE_P_HOLE_OUTSIDE
,
ResultStatus
.
OK
,
null
));
assertFalse
(
lib
.
containsAnyError
());
lib
.
addCheckResult
(
new
CheckResult
(
CheckId
.
C_GE_P_HOLE_OUTSIDE
,
ResultStatus
.
OK
,
null
));
assertFalse
(
lib
.
containsAnyError
());
igh
.
addCheckResult
(
new
CheckResult
(
CheckId
.
C_GE_P_INNER_RINGS_NESTED
,
ResultStatus
.
ERROR
,
mock
(
CheckError
.
class
)));
assertFalse
(
lib
.
containsAnyError
());
lib
.
addCheckResult
(
new
CheckResult
(
CheckId
.
C_GE_P_INNER_RINGS_NESTED
,
ResultStatus
.
ERROR
,
mock
(
CheckError
.
class
)));
assertTrue
(
lib
.
containsAnyError
());
}
@Test
public
void
testCollectContainedErrors
()
{
List
<
CheckError
>
errors
=
new
ArrayList
<>();
igh
.
addCheckResult
(
new
CheckResult
(
CheckId
.
C_GE_P_NON_PLANAR
,
ResultStatus
.
ERROR
,
mock
(
CheckError
.
class
)));
igh
.
collectContainedErrors
(
errors
);
assertEquals
(
"ImplicitGeometryHolder's errors should be ignored and delegate the call to the prototype geometry"
,
0
,
errors
.
size
());
lib
.
addCheckResult
(
new
CheckResult
(
CheckId
.
C_GE_P_HOLE_OUTSIDE
,
ResultStatus
.
ERROR
,
mock
(
CheckError
.
class
)));
igh
.
collectContainedErrors
(
errors
);
assertEquals
(
"ImplicitGeometryHolder's errors should be ignored and delegate the call to the prototype geometry"
,
1
,
errors
.
size
());
}
ImplicitGeometryHolder
igh
=
new
ImplicitGeometryHolder
(
geom
,
lib
);
@Test
public
void
testAccept
()
{
int
polyCount
=
lib
.
getPolygons
().
size
();
AtomicInteger
loCounter
=
new
AtomicInteger
(
0
);
AtomicInteger
loCounter
=
new
AtomicInteger
(
0
);
...
...
CityDoctorParent/CityDoctorModel/src/test/java/de/hft/stuttgart/citydoctor2/datastructure/LandUseTest.java
View file @
f4d3cb7f
package
de.hft.stuttgart.citydoctor2.datastructure
;
package
de.hft.stuttgart.citydoctor2.datastructure
;
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.parser.ParserConfiguration
;
import
de.hft.stuttgart.citydoctor2.parser.ParserConfiguration
;
import
org.citygml4j.core.model.landuse.LandUse
;
import
org.citygml4j.core.model.landuse.LandUse
;
import
org.citygml4j.core.util.geometry.GeometryFactory
;
import
org.citygml4j.core.util.geometry.GeometryFactory
;
import
org.junit.Before
;
import
org.junit.Test
;
import
org.junit.Test
;
import
org.xmlobjects.gml.model.geometry.aggregates.MultiSurfaceProperty
;
import
org.xmlobjects.gml.model.geometry.aggregates.MultiSurfaceProperty
;
import
java.util.ArrayList
;
import
java.util.List
;
import
static
org
.
junit
.
Assert
.*;
import
static
org
.
junit
.
Assert
.*;
import
static
org
.
mockito
.
Mockito
.
mock
;
public
class
LandUseTest
{
public
class
LandUseTest
{
private
LandUse
lu
;
private
LandObject
land
;
@Before
public
void
setUp
()
{
lu
=
new
LandUse
();
land
=
new
LandObject
(
lu
);
}
@Test
@Test
public
void
testUnsetGeometries
()
{
public
void
testContainsError
()
{
LandUse
lu
=
new
LandUse
();
assertFalse
(
land
.
containsError
(
CheckId
.
C_GE_P_HOLE_OUTSIDE
));
LandObject
land
=
new
LandObject
(
lu
);
assertFalse
(
land
.
containsError
(
CheckId
.
C_GE_P_NON_PLANAR
));
land
.
addCheckResult
(
new
CheckResult
(
CheckId
.
C_GE_P_HOLE_OUTSIDE
,
ResultStatus
.
ERROR
,
mock
(
CheckError
.
class
)));
assertTrue
(
land
.
containsError
(
CheckId
.
C_GE_P_HOLE_OUTSIDE
));
assertFalse
(
land
.
containsError
(
CheckId
.
C_GE_P_NON_PLANAR
));
land
.
addCheckResult
(
new
CheckResult
(
CheckId
.
C_GE_P_NON_PLANAR
,
ResultStatus
.
OK
,
mock
(
CheckError
.
class
)));
assertTrue
(
land
.
containsError
(
CheckId
.
C_GE_P_HOLE_OUTSIDE
));
assertFalse
(
land
.
containsError
(
CheckId
.
C_GE_P_NON_PLANAR
));
}
@Test
public
void
testClearAllContainedCheckResults
()
{
land
.
addCheckResult
(
new
CheckResult
(
CheckId
.
C_GE_P_HOLE_OUTSIDE
,
ResultStatus
.
OK
,
null
));
assertEquals
(
1
,
land
.
getAllCheckResults
().
size
());
land
.
clearAllContainedCheckResults
();
assertTrue
(
land
.
getAllCheckResults
().
isEmpty
());
}
@Test
public
void
testContainsAnyError
()
{
assertFalse
(
land
.
containsAnyError
());
land
.
addCheckResult
(
new
CheckResult
(
CheckId
.
C_GE_P_HOLE_OUTSIDE
,
ResultStatus
.
OK
,
null
));
assertFalse
(
land
.
containsAnyError
());
land
.
addCheckResult
(
new
CheckResult
(
CheckId
.
C_GE_P_INNER_RINGS_NESTED
,
ResultStatus
.
ERROR
,
mock
(
CheckError
.
class
)));
assertTrue
(
land
.
containsAnyError
());
}
@Test
public
void
testCollectContainedErrors
()
{
land
.
addCheckResult
(
new
CheckResult
(
CheckId
.
C_GE_P_HOLE_OUTSIDE
,
ResultStatus
.
ERROR
,
mock
(
CheckError
.
class
)));
List
<
CheckError
>
errors
=
new
ArrayList
<>();
land
.
collectContainedErrors
(
errors
);
assertEquals
(
1
,
errors
.
size
());
}
@Test
public
void
testUnsetGeometries
()
{
lu
.
setLod0MultiSurface
(
new
MultiSurfaceProperty
());
lu
.
setLod0MultiSurface
(
new
MultiSurfaceProperty
());
lu
.
setLod1MultiSurface
(
new
MultiSurfaceProperty
());
lu
.
setLod1MultiSurface
(
new
MultiSurfaceProperty
());
lu
.
setLod2MultiSurface
(
new
MultiSurfaceProperty
());
lu
.
setLod2MultiSurface
(
new
MultiSurfaceProperty
());
...
@@ -32,8 +87,6 @@ public class LandUseTest {
...
@@ -32,8 +87,6 @@ public class LandUseTest {
@Test
@Test
public
void
testReCreateGeometries
()
{
public
void
testReCreateGeometries
()
{
LandUse
lu
=
new
LandUse
();
LandObject
land
=
new
LandObject
(
lu
);
land
.
addGeometry
(
GeometryTestUtils
.
createDummyGeometry
(
GeometryType
.
MULTI_SURFACE
,
Lod
.
LOD0
));
land
.
addGeometry
(
GeometryTestUtils
.
createDummyGeometry
(
GeometryType
.
MULTI_SURFACE
,
Lod
.
LOD0
));
land
.
addGeometry
(
GeometryTestUtils
.
createDummyGeometry
(
GeometryType
.
MULTI_SURFACE
,
Lod
.
LOD1
));
land
.
addGeometry
(
GeometryTestUtils
.
createDummyGeometry
(
GeometryType
.
MULTI_SURFACE
,
Lod
.
LOD1
));
land
.
addGeometry
(
GeometryTestUtils
.
createDummyGeometry
(
GeometryType
.
MULTI_SURFACE
,
Lod
.
LOD2
));
land
.
addGeometry
(
GeometryTestUtils
.
createDummyGeometry
(
GeometryType
.
MULTI_SURFACE
,
Lod
.
LOD2
));
...
...
CityDoctorParent/CityDoctorModel/src/test/java/de/hft/stuttgart/citydoctor2/datastructure/ReliefObjectTest.java
View file @
f4d3cb7f
package
de.hft.stuttgart.citydoctor2.datastructure
;
package
de.hft.stuttgart.citydoctor2.datastructure
;
import
de.hft.stuttgart.citydoctor2.check.AbstractCheck
;
import
de.hft.stuttgart.citydoctor2.check.AbstractCheck
;
import
de.hft.stuttgart.citydoctor2.parser.ParserConfiguration
;
import
org.citygml4j.core.model.relief.ReliefFeature
;
import
org.citygml4j.core.model.relief.ReliefFeature
;
import
org.citygml4j.core.model.relief.TINRelief
;
import
org.citygml4j.core.model.relief.TinProperty
;
import
org.citygml4j.core.util.geometry.GeometryFactory
;
import
org.junit.Test
;
import
org.junit.Test
;
import
static
org
.
junit
.
Assert
.
assertEquals
;
import
static
org
.
junit
.
Assert
.
assertNotNull
;
import
static
org
.
junit
.
Assert
.
assertNull
;
import
static
org
.
mockito
.
Mockito
.
mock
;
import
static
org
.
mockito
.
Mockito
.
mock
;
import
static
org
.
mockito
.
Mockito
.
verify
;
import
static
org
.
mockito
.
Mockito
.
verify
;
...
@@ -30,31 +23,5 @@ public class ReliefObjectTest {
...
@@ -30,31 +23,5 @@ public class ReliefObjectTest {
verify
(
mockTin
).
accept
(
c
);
verify
(
mockTin
).
accept
(
c
);
}
}
@Test
public
void
testUnsetGeometriesTinObject
()
{
TINRelief
tir
=
new
TINRelief
();
TinObject
tin
=
new
TinObject
(
tir
);
tir
.
setTin
(
new
TinProperty
());
tin
.
clearGmlGeometries
();
assertNull
(
tir
.
getTin
());
}
@Test
public
void
testReCreateGeometriesTinObject
()
{
TINRelief
tir
=
new
TINRelief
();
TinObject
tin
=
new
TinObject
(
tir
);
tin
.
addGeometry
(
GeometryTestUtils
.
createDummyGeometry
(
GeometryType
.
MULTI_SURFACE
));
GeometryFactory
factory
=
GeometryFactory
.
newInstance
();
ParserConfiguration
config
=
new
ParserConfiguration
(
8
,
false
);
tin
.
reCreateGeometries
(
factory
,
config
);
assertNotNull
(
tir
.
getTin
());
assertNotNull
(
tir
.
getTin
().
getObject
());
assertEquals
(
2
,
tir
.
getLod
());
}
}
}
CityDoctorParent/CityDoctorModel/src/test/java/de/hft/stuttgart/citydoctor2/datastructure/TinObjectTest.java
0 → 100644
View file @
f4d3cb7f
package
de.hft.stuttgart.citydoctor2.datastructure
;
import
de.hft.stuttgart.citydoctor2.check.AbstractCheck
;
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.parser.ParserConfiguration
;
import
org.citygml4j.core.model.relief.TINRelief
;
import
org.citygml4j.core.model.relief.TinProperty
;
import
org.citygml4j.core.util.geometry.GeometryFactory
;
import
org.junit.Test
;
import
java.util.ArrayList
;
import
java.util.List
;
import
static
org
.
junit
.
Assert
.
assertEquals
;
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
static
org
.
mockito
.
Mockito
.
verify
;
public
class
TinObjectTest
{
@Test
public
void
testVisitorPropagation
()
{
TINRelief
tir
=
new
TINRelief
();
TinObject
tin
=
new
TinObject
(
tir
);
Geometry
mockGeometry
=
mock
(
Geometry
.
class
);
tin
.
addGeometry
(
mockGeometry
);
AbstractCheck
c
=
new
AbstractCheck
()
{
};
tin
.
accept
(
c
);
verify
(
mockGeometry
).
accept
(
c
);
}
@Test
public
void
testContainsError
()
{
TINRelief
tir
=
new
TINRelief
();
TinObject
tin
=
new
TinObject
(
tir
);
assertFalse
(
tin
.
containsError
(
CheckId
.
C_GE_P_HOLE_OUTSIDE
));
assertFalse
(
tin
.
containsError
(
CheckId
.
C_GE_P_NON_PLANAR
));
tin
.
addCheckResult
(
new
CheckResult
(
CheckId
.
C_GE_P_HOLE_OUTSIDE
,
ResultStatus
.
ERROR
,
mock
(
CheckError
.
class
)));
assertTrue
(
tin
.
containsError
(
CheckId
.
C_GE_P_HOLE_OUTSIDE
));
assertFalse
(
tin
.
containsError
(
CheckId
.
C_GE_P_NON_PLANAR
));
tin
.
addCheckResult
(
new
CheckResult
(
CheckId
.
C_GE_P_NON_PLANAR
,
ResultStatus
.
OK
,
mock
(
CheckError
.
class
)));
assertTrue
(
tin
.
containsError
(
CheckId
.
C_GE_P_HOLE_OUTSIDE
));
assertFalse
(
tin
.
containsError
(
CheckId
.
C_GE_P_NON_PLANAR
));
}
@Test
public
void
testClearAllContainedCheckResults
()
{
TINRelief
tir
=
new
TINRelief
();
TinObject
tin
=
new
TinObject
(
tir
);
tin
.
addCheckResult
(
new
CheckResult
(
CheckId
.
C_GE_P_HOLE_OUTSIDE
,
ResultStatus
.
OK
,
null
));
assertEquals
(
1
,
tin
.
getAllCheckResults
().
size
());
tin
.
clearAllContainedCheckResults
();
assertTrue
(
tin
.
getAllCheckResults
().
isEmpty
());
}
@Test
public
void
testContainsAnyError
()
{
TINRelief
tir
=
new
TINRelief
();
TinObject
tin
=
new
TinObject
(
tir
);
assertFalse
(
tin
.
containsAnyError
());
tin
.
addCheckResult
(
new
CheckResult
(
CheckId
.
C_GE_P_HOLE_OUTSIDE
,
ResultStatus
.
OK
,
null
));
assertFalse
(
tin
.
containsAnyError
());
tin
.
addCheckResult
(
new
CheckResult
(
CheckId
.
C_GE_P_INNER_RINGS_NESTED
,
ResultStatus
.
ERROR
,
mock
(
CheckError
.
class
)));
assertTrue
(
tin
.
containsAnyError
());
}
@Test
public
void
testCollectContainedErrors
()
{
TINRelief
tir
=
new
TINRelief
();
TinObject
tin
=
new
TinObject
(
tir
);
tin
.
addCheckResult
(
new
CheckResult
(
CheckId
.
C_GE_P_HOLE_OUTSIDE
,
ResultStatus
.
ERROR
,
mock
(
CheckError
.
class
)));
List
<
CheckError
>
errors
=
new
ArrayList
<>();
tin
.
collectContainedErrors
(
errors
);
assertEquals
(
1
,
errors
.
size
());
}
@Test
public
void
testUnsetGeometries
()
{
TINRelief
tir
=
new
TINRelief
();
TinObject
tin
=
new
TinObject
(
tir
);
tir
.
setTin
(
new
TinProperty
());
tin
.
clearGmlGeometries
();
assertNull
(
tir
.
getTin
());
}
@Test
public
void
testReCreateGeometries
()
{
TINRelief
tir
=
new
TINRelief
();
TinObject
tin
=
new
TinObject
(
tir
);
tin
.
addGeometry
(
GeometryTestUtils
.
createDummyGeometry
(
GeometryType
.
MULTI_SURFACE
));
GeometryFactory
factory
=
GeometryFactory
.
newInstance
();
ParserConfiguration
config
=
new
ParserConfiguration
(
8
,
false
);
tin
.
reCreateGeometries
(
factory
,
config
);
assertNotNull
(
tir
.
getTin
());
assertNotNull
(
tir
.
getTin
().
getObject
());
assertEquals
(
2
,
tir
.
getLod
());
}
}
CityDoctorParent/CityDoctorModel/src/test/java/de/hft/stuttgart/citydoctor2/datastructure/TopLevelTransportFeatureTest.java
View file @
f4d3cb7f
...
@@ -46,7 +46,7 @@ public class TopLevelTransportFeatureTest {
...
@@ -46,7 +46,7 @@ public class TopLevelTransportFeatureTest {
}
}
@Test
@Test
public
void
testVisitorPropagation
TopLevel
()
{
public
void
testVisitorPropagation
()
{
Road
road
=
new
Road
();
Road
road
=
new
Road
();
TopLevelTransportFeature
top
=
TopLevelTransportFeature
.
from
(
road
);
TopLevelTransportFeature
top
=
TopLevelTransportFeature
.
from
(
road
);
TransportSection
mockSection
=
mock
(
TransportSection
.
class
);
TransportSection
mockSection
=
mock
(
TransportSection
.
class
);
...
@@ -62,6 +62,32 @@ public class TopLevelTransportFeatureTest {
...
@@ -62,6 +62,32 @@ public class TopLevelTransportFeatureTest {
verify
(
mockIntersection
).
accept
(
c
);
verify
(
mockIntersection
).
accept
(
c
);
}
}
@Test
public
void
testContainsError
()
{
Road
road
=
new
Road
();
TopLevelTransportFeature
top
=
TopLevelTransportFeature
.
from
(
road
);
assertFalse
(
top
.
containsError
(
CheckId
.
C_GE_P_HOLE_OUTSIDE
));
assertFalse
(
top
.
containsError
(
CheckId
.
C_GE_P_NON_PLANAR
));
top
.
addCheckResult
(
new
CheckResult
(
CheckId
.
C_GE_P_HOLE_OUTSIDE
,
ResultStatus
.
ERROR
,
mock
(
CheckError
.
class
)));
assertTrue
(
top
.
containsError
(
CheckId
.
C_GE_P_HOLE_OUTSIDE
));
assertFalse
(
top
.
containsError
(
CheckId
.
C_GE_P_NON_PLANAR
));
top
.
addCheckResult
(
new
CheckResult
(
CheckId
.
C_GE_P_NON_PLANAR
,
ResultStatus
.
OK
,
mock
(
CheckError
.
class
)));
assertTrue
(
top
.
containsError
(
CheckId
.
C_GE_P_HOLE_OUTSIDE
));
assertFalse
(
top
.
containsError
(
CheckId
.
C_GE_P_NON_PLANAR
));
}
@Test
public
void
testContainsAnyError
()
{
Road
road
=
new
Road
();
TopLevelTransportFeature
top
=
TopLevelTransportFeature
.
from
(
road
);
assertFalse
(
top
.
containsAnyError
());
top
.
addCheckResult
(
new
CheckResult
(
CheckId
.
C_GE_P_HOLE_OUTSIDE
,
ResultStatus
.
OK
,
null
));
assertFalse
(
top
.
containsAnyError
());
top
.
addCheckResult
(
new
CheckResult
(
CheckId
.
C_GE_P_INNER_RINGS_NESTED
,
ResultStatus
.
ERROR
,
mock
(
CheckError
.
class
)));
assertTrue
(
top
.
containsAnyError
());
}
@Test
@Test
public
void
testClearAllContainedCheckResults
()
{
public
void
testClearAllContainedCheckResults
()
{
Road
roadMock
=
mock
(
Road
.
class
);
Road
roadMock
=
mock
(
Road
.
class
);
...
...
CityDoctorParent/CityDoctorModel/src/test/java/de/hft/stuttgart/citydoctor2/datastructure/TrafficAreaTest.java
View file @
f4d3cb7f
...
@@ -27,14 +27,23 @@ public class TrafficAreaTest {
...
@@ -27,14 +27,23 @@ public class TrafficAreaTest {
@Test
@Test
public
void
testContainsError
()
{
public
void
testContainsError
()
{
TrafficAreaObject
tao
=
new
TrafficAreaObject
(
TrafficAreaObject
.
TrafficAreaType
.
TRAFFIC_AREA
);
TrafficAreaObject
tao
=
new
TrafficAreaObject
(
TrafficAreaObject
.
TrafficAreaType
.
TRAFFIC_AREA
);
TrafficArea
taMock
=
mock
(
TrafficArea
.
class
);
tao
.
setGmlObject
(
taMock
);
tao
.
addCheckResult
(
new
CheckResult
(
CheckId
.
C_GE_P_HOLE_OUTSIDE
,
ResultStatus
.
ERROR
,
mock
(
CheckError
.
class
)));
tao
.
addCheckResult
(
new
CheckResult
(
CheckId
.
C_GE_P_HOLE_OUTSIDE
,
ResultStatus
.
ERROR
,
mock
(
CheckError
.
class
)));
assertTrue
(
tao
.
containsError
(
CheckId
.
C_GE_P_HOLE_OUTSIDE
));
assertTrue
(
tao
.
containsError
(
CheckId
.
C_GE_P_HOLE_OUTSIDE
));
assertFalse
(
tao
.
containsError
(
CheckId
.
C_GE_P_INNER_RINGS_NESTED
));
assertFalse
(
tao
.
containsError
(
CheckId
.
C_GE_P_INNER_RINGS_NESTED
));
}
}
@Test
public
void
testContainsAnyError
()
{
TrafficAreaObject
tao
=
new
TrafficAreaObject
(
TrafficAreaObject
.
TrafficAreaType
.
TRAFFIC_AREA
);
assertFalse
(
tao
.
containsAnyError
());
tao
.
addCheckResult
(
new
CheckResult
(
CheckId
.
C_GE_P_HOLE_OUTSIDE
,
ResultStatus
.
OK
,
null
));
assertFalse
(
tao
.
containsAnyError
());
tao
.
addCheckResult
(
new
CheckResult
(
CheckId
.
C_GE_P_INNER_RINGS_NESTED
,
ResultStatus
.
ERROR
,
mock
(
CheckError
.
class
)));
assertTrue
(
tao
.
containsAnyError
());
}
@Test
@Test
public
void
testClearAllContainedCheckResults
()
{
public
void
testClearAllContainedCheckResults
()
{
TrafficAreaObject
tao
=
new
TrafficAreaObject
(
TrafficAreaObject
.
TrafficAreaType
.
TRAFFIC_AREA
);
TrafficAreaObject
tao
=
new
TrafficAreaObject
(
TrafficAreaObject
.
TrafficAreaType
.
TRAFFIC_AREA
);
...
...
CityDoctorParent/CityDoctorModel/src/test/java/de/hft/stuttgart/citydoctor2/datastructure/TrafficSpaceTest.java
View file @
f4d3cb7f
...
@@ -54,6 +54,17 @@ public class TrafficSpaceTest {
...
@@ -54,6 +54,17 @@ public class TrafficSpaceTest {
}
}
@Test
public
void
testContainsAnyError
()
{
TrafficSpaceObject
tso
=
new
TrafficSpaceObject
(
TrafficSpaceObject
.
TrafficSpaceType
.
TRAFFIC_SPACE
);
assertFalse
(
tso
.
containsAnyError
());
tso
.
addCheckResult
(
new
CheckResult
(
CheckId
.
C_GE_P_HOLE_OUTSIDE
,
ResultStatus
.
OK
,
null
));
assertFalse
(
tso
.
containsAnyError
());
tso
.
addCheckResult
(
new
CheckResult
(
CheckId
.
C_GE_P_INNER_RINGS_NESTED
,
ResultStatus
.
ERROR
,
mock
(
CheckError
.
class
)));
assertTrue
(
tso
.
containsAnyError
());
}
@Test
@Test
public
void
testCollectContainedErrors
()
{
public
void
testCollectContainedErrors
()
{
TrafficSpaceObject
tso
=
new
TrafficSpaceObject
(
TrafficSpaceObject
.
TrafficSpaceType
.
TRAFFIC_SPACE
);
TrafficSpaceObject
tso
=
new
TrafficSpaceObject
(
TrafficSpaceObject
.
TrafficSpaceType
.
TRAFFIC_SPACE
);
...
...
CityDoctorParent/CityDoctorModel/src/test/java/de/hft/stuttgart/citydoctor2/datastructure/TransportationObjectTest.java
View file @
f4d3cb7f
...
@@ -26,13 +26,11 @@ import org.mockito.Mockito;
...
@@ -26,13 +26,11 @@ import org.mockito.Mockito;
public
class
TransportationObjectTest
{
public
class
TransportationObjectTest
{
//TODO: Visitor Propagation testing
//TODO: Rework this class to be more in line with the other datastructure tests
@Test
@Test
public
void
testGetFeatureType
()
{
public
void
testGetFeatureType
()
{
TopLevelTransportFeature
to
=
TopLevelTransportFeature
.
from
(
Mockito
.
mock
(
Road
.
class
));
TopLevelTransportFeature
to
=
TopLevelTransportFeature
.
from
(
Mockito
.
mock
(
Road
.
class
));
assertEquals
(
FeatureType
.
TRANSPORTATION
,
to
.
getFeatureType
());
assertEquals
(
FeatureType
.
TRANSPORTATION
,
to
.
getFeatureType
());
}
}
}
}
CityDoctorParent/CityDoctorModel/src/test/java/de/hft/stuttgart/citydoctor2/datastructure/TransportationSpaceTest.java
View file @
f4d3cb7f
...
@@ -7,11 +7,14 @@ import de.hft.stuttgart.citydoctor2.check.CheckResult;
...
@@ -7,11 +7,14 @@ import de.hft.stuttgart.citydoctor2.check.CheckResult;
import
de.hft.stuttgart.citydoctor2.check.ResultStatus
;
import
de.hft.stuttgart.citydoctor2.check.ResultStatus
;
import
de.hft.stuttgart.citydoctor2.parser.ParserConfiguration
;
import
de.hft.stuttgart.citydoctor2.parser.ParserConfiguration
;
import
org.citygml4j.core.model.transportation.AbstractTransportationSpace
;
import
org.citygml4j.core.model.transportation.AbstractTransportationSpace
;
import
org.citygml4j.core.model.transportation.Road
;
import
org.citygml4j.core.util.geometry.GeometryFactory
;
import
org.citygml4j.core.util.geometry.GeometryFactory
;
import
org.citygml4j.core.visitor.ObjectVisitor
;
import
org.citygml4j.core.visitor.ObjectVisitor
;
import
org.junit.Test
;
import
org.junit.Test
;
import
java.util.ArrayList
;
import
java.util.List
;
import
static
org
.
junit
.
Assert
.
assertEquals
;
import
static
org
.
junit
.
Assert
.
assertFalse
;
import
static
org
.
junit
.
Assert
.
assertFalse
;
import
static
org
.
junit
.
Assert
.
assertNotNull
;
import
static
org
.
junit
.
Assert
.
assertNotNull
;
import
static
org
.
junit
.
Assert
.
assertTrue
;
import
static
org
.
junit
.
Assert
.
assertTrue
;
...
@@ -37,6 +40,54 @@ public class TransportationSpaceTest {
...
@@ -37,6 +40,54 @@ public class TransportationSpaceTest {
verify
(
auxMockSpace
).
accept
(
c
);
verify
(
auxMockSpace
).
accept
(
c
);
}
}
@Test
public
void
testContainsError
()
{
TransportationSpace
space
=
new
TransportationSpace
(
TransportationObject
.
TransportationType
.
TRANSPORTATION_COMPLEX
)
{
};
space
.
addCheckResult
(
new
CheckResult
(
CheckId
.
C_GE_P_HOLE_OUTSIDE
,
ResultStatus
.
ERROR
,
mock
(
CheckError
.
class
)));
assertTrue
(
space
.
containsError
(
CheckId
.
C_GE_P_HOLE_OUTSIDE
));
assertFalse
(
space
.
containsError
(
CheckId
.
C_GE_P_INNER_RINGS_NESTED
));
}
@Test
public
void
testContainsAnyError
()
{
TransportationSpace
space
=
new
TransportationSpace
(
TransportationObject
.
TransportationType
.
TRANSPORTATION_COMPLEX
)
{
};
assertFalse
(
space
.
containsAnyError
());
space
.
addCheckResult
(
new
CheckResult
(
CheckId
.
C_GE_P_HOLE_OUTSIDE
,
ResultStatus
.
OK
,
null
));
assertFalse
(
space
.
containsAnyError
());
space
.
addCheckResult
(
new
CheckResult
(
CheckId
.
C_GE_P_INNER_RINGS_NESTED
,
ResultStatus
.
ERROR
,
mock
(
CheckError
.
class
)));
assertTrue
(
space
.
containsAnyError
());
}
@Test
public
void
testCollectContainedErrors
()
{
TransportationSpace
space
=
new
TransportationSpace
(
TransportationObject
.
TransportationType
.
TRANSPORTATION_COMPLEX
)
{
};
space
.
addCheckResult
(
new
CheckResult
(
CheckId
.
C_GE_P_HOLE_OUTSIDE
,
ResultStatus
.
ERROR
,
mock
(
CheckError
.
class
)));
List
<
CheckError
>
errors
=
new
ArrayList
<>();
space
.
collectContainedErrors
(
errors
);
assertEquals
(
1
,
errors
.
size
());
}
@Test
public
void
testClearAllContainedCheckResults
()
{
TransportationSpace
space
=
new
TransportationSpace
(
TransportationObject
.
TransportationType
.
TRANSPORTATION_COMPLEX
)
{
};
assertFalse
(
space
.
containsError
(
CheckId
.
C_GE_P_HOLE_OUTSIDE
));
space
.
addCheckResult
(
new
CheckResult
(
CheckId
.
C_GE_P_HOLE_OUTSIDE
,
ResultStatus
.
ERROR
,
mock
(
CheckError
.
class
)));
assertTrue
(
space
.
containsError
(
CheckId
.
C_GE_P_HOLE_OUTSIDE
));
space
.
clearAllContainedCheckResults
();
assertFalse
(
space
.
containsError
(
CheckId
.
C_GE_P_HOLE_OUTSIDE
));
}
@Test
@Test
public
void
testReCreateGeometriesSolid
()
{
public
void
testReCreateGeometriesSolid
()
{
...
@@ -97,15 +148,4 @@ public class TransportationSpaceTest {
...
@@ -97,15 +148,4 @@ public class TransportationSpaceTest {
assertNotNull
(
gmlAts
.
getDeprecatedProperties
().
getLod4MultiSurface
());
assertNotNull
(
gmlAts
.
getDeprecatedProperties
().
getLod4MultiSurface
());
assertNotNull
(
gmlAts
.
getDeprecatedProperties
().
getLod4MultiSurface
().
getObject
());
assertNotNull
(
gmlAts
.
getDeprecatedProperties
().
getLod4MultiSurface
().
getObject
());
}
}
@Test
public
void
testContainsError
()
{
Road
roadMock
=
mock
(
Road
.
class
);
TopLevelTransportFeature
top
=
TopLevelTransportFeature
.
from
(
roadMock
);
top
.
setGmlObject
(
roadMock
);
top
.
addCheckResult
(
new
CheckResult
(
CheckId
.
C_GE_P_HOLE_OUTSIDE
,
ResultStatus
.
ERROR
,
mock
(
CheckError
.
class
)));
assertTrue
(
top
.
containsError
(
CheckId
.
C_GE_P_HOLE_OUTSIDE
));
assertFalse
(
top
.
containsError
(
CheckId
.
C_GE_P_INNER_RINGS_NESTED
));
}
}
}
CityDoctorParent/CityDoctorModel/src/test/java/de/hft/stuttgart/citydoctor2/datastructure/VegetationTest.java
View file @
f4d3cb7f
package
de.hft.stuttgart.citydoctor2.datastructure
;
package
de.hft.stuttgart.citydoctor2.datastructure
;
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.parser.ParserConfiguration
;
import
de.hft.stuttgart.citydoctor2.parser.ParserConfiguration
;
import
org.citygml4j.core.model.vegetation.PlantCover
;
import
org.citygml4j.core.model.vegetation.PlantCover
;
import
org.citygml4j.core.model.vegetation.SolitaryVegetationObject
;
import
org.citygml4j.core.model.vegetation.SolitaryVegetationObject
;
...
@@ -10,13 +14,64 @@ import org.xmlobjects.gml.model.geometry.aggregates.MultiSolidProperty;
...
@@ -10,13 +14,64 @@ import org.xmlobjects.gml.model.geometry.aggregates.MultiSolidProperty;
import
org.xmlobjects.gml.model.geometry.aggregates.MultiSurfaceProperty
;
import
org.xmlobjects.gml.model.geometry.aggregates.MultiSurfaceProperty
;
import
org.xmlobjects.gml.model.geometry.primitives.SolidProperty
;
import
org.xmlobjects.gml.model.geometry.primitives.SolidProperty
;
import
java.util.ArrayList
;
import
java.util.List
;
import
static
org
.
junit
.
Assert
.
assertEquals
;
import
static
org
.
junit
.
Assert
.
assertFalse
;
import
static
org
.
junit
.
Assert
.
assertNotNull
;
import
static
org
.
junit
.
Assert
.
assertNotNull
;
import
static
org
.
junit
.
Assert
.
assertNull
;
import
static
org
.
junit
.
Assert
.
assertNull
;
import
static
org
.
junit
.
Assert
.
assertTrue
;
import
static
org
.
mockito
.
Mockito
.
mock
;
public
class
VegetationTest
{
public
class
VegetationTest
{
//TODO: Recreate geometries tests
//TODO: Recreate geometries tests
@Test
public
void
testContainsError
()
{
Vegetation
veg
=
new
Vegetation
(
Vegetation
.
VegetationType
.
PLANT_COVER
);
veg
.
addCheckResult
(
new
CheckResult
(
CheckId
.
C_GE_P_HOLE_OUTSIDE
,
ResultStatus
.
ERROR
,
mock
(
CheckError
.
class
)));
assertTrue
(
veg
.
containsError
(
CheckId
.
C_GE_P_HOLE_OUTSIDE
));
assertFalse
(
veg
.
containsError
(
CheckId
.
C_GE_P_INNER_RINGS_NESTED
));
}
@Test
public
void
testContainsAnyError
()
{
Vegetation
veg
=
new
Vegetation
(
Vegetation
.
VegetationType
.
PLANT_COVER
);
assertFalse
(
veg
.
containsAnyError
());
veg
.
addCheckResult
(
new
CheckResult
(
CheckId
.
C_GE_P_HOLE_OUTSIDE
,
ResultStatus
.
OK
,
null
));
assertFalse
(
veg
.
containsAnyError
());
veg
.
addCheckResult
(
new
CheckResult
(
CheckId
.
C_GE_P_INNER_RINGS_NESTED
,
ResultStatus
.
ERROR
,
mock
(
CheckError
.
class
)));
assertTrue
(
veg
.
containsAnyError
());
}
@Test
public
void
testClearAllContainedCheckResults
()
{
Vegetation
veg
=
new
Vegetation
(
Vegetation
.
VegetationType
.
PLANT_COVER
);
assertFalse
(
veg
.
containsError
(
CheckId
.
C_GE_P_HOLE_OUTSIDE
));
veg
.
addCheckResult
(
new
CheckResult
(
CheckId
.
C_GE_P_HOLE_OUTSIDE
,
ResultStatus
.
ERROR
,
mock
(
CheckError
.
class
)));
assertTrue
(
veg
.
containsError
(
CheckId
.
C_GE_P_HOLE_OUTSIDE
));
veg
.
clearAllContainedCheckResults
();
assertFalse
(
veg
.
containsError
(
CheckId
.
C_GE_P_HOLE_OUTSIDE
));
}
@Test
public
void
testCollectContainedErrors
()
{
Vegetation
veg
=
new
Vegetation
(
Vegetation
.
VegetationType
.
PLANT_COVER
);
veg
.
addCheckResult
(
new
CheckResult
(
CheckId
.
C_GE_P_HOLE_OUTSIDE
,
ResultStatus
.
ERROR
,
mock
(
CheckError
.
class
)));
List
<
CheckError
>
errors
=
new
ArrayList
<>();
veg
.
collectContainedErrors
(
errors
);
assertEquals
(
1
,
errors
.
size
());
}
@Test
@Test
public
void
testUnsetGmlGeometriesPlantCover
()
{
public
void
testUnsetGmlGeometriesPlantCover
()
{
Vegetation
plantCover
=
new
Vegetation
(
Vegetation
.
VegetationType
.
PLANT_COVER
);
Vegetation
plantCover
=
new
Vegetation
(
Vegetation
.
VegetationType
.
PLANT_COVER
);
...
...
CityDoctorParent/CityDoctorModel/src/test/java/de/hft/stuttgart/citydoctor2/datastructure/WaterTest.java
View file @
f4d3cb7f
package
de.hft.stuttgart.citydoctor2.datastructure
;
package
de.hft.stuttgart.citydoctor2.datastructure
;
import
de.hft.stuttgart.citydoctor2.check.AbstractCheck
;
import
de.hft.stuttgart.citydoctor2.check.AbstractCheck
;
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.parser.ParserConfiguration
;
import
de.hft.stuttgart.citydoctor2.parser.ParserConfiguration
;
import
org.citygml4j.core.model.waterbody.WaterBody
;
import
org.citygml4j.core.model.waterbody.WaterBody
;
import
org.citygml4j.core.util.geometry.GeometryFactory
;
import
org.citygml4j.core.util.geometry.GeometryFactory
;
...
@@ -8,8 +12,14 @@ import org.junit.Test;
...
@@ -8,8 +12,14 @@ import org.junit.Test;
import
org.xmlobjects.gml.model.geometry.aggregates.MultiSurfaceProperty
;
import
org.xmlobjects.gml.model.geometry.aggregates.MultiSurfaceProperty
;
import
org.xmlobjects.gml.model.geometry.primitives.SolidProperty
;
import
org.xmlobjects.gml.model.geometry.primitives.SolidProperty
;
import
java.util.ArrayList
;
import
java.util.List
;
import
static
org
.
junit
.
Assert
.
assertEquals
;
import
static
org
.
junit
.
Assert
.
assertFalse
;
import
static
org
.
junit
.
Assert
.
assertNotNull
;
import
static
org
.
junit
.
Assert
.
assertNotNull
;
import
static
org
.
junit
.
Assert
.
assertNull
;
import
static
org
.
junit
.
Assert
.
assertNull
;
import
static
org
.
junit
.
Assert
.
assertTrue
;
import
static
org
.
mockito
.
Mockito
.
mock
;
import
static
org
.
mockito
.
Mockito
.
mock
;
import
static
org
.
mockito
.
Mockito
.
verify
;
import
static
org
.
mockito
.
Mockito
.
verify
;
...
@@ -31,6 +41,50 @@ public class WaterTest {
...
@@ -31,6 +41,50 @@ public class WaterTest {
verify
(
bsMock2
).
accept
(
c
);
verify
(
bsMock2
).
accept
(
c
);
}
}
@Test
public
void
testContainsError
()
{
WaterObject
water
=
new
WaterObject
();
water
.
addCheckResult
(
new
CheckResult
(
CheckId
.
C_GE_P_HOLE_OUTSIDE
,
ResultStatus
.
ERROR
,
mock
(
CheckError
.
class
)));
assertTrue
(
water
.
containsError
(
CheckId
.
C_GE_P_HOLE_OUTSIDE
));
assertFalse
(
water
.
containsError
(
CheckId
.
C_GE_P_INNER_RINGS_NESTED
));
}
@Test
public
void
testContainsAnyError
()
{
WaterObject
water
=
new
WaterObject
();
assertFalse
(
water
.
containsAnyError
());
water
.
addCheckResult
(
new
CheckResult
(
CheckId
.
C_GE_P_HOLE_OUTSIDE
,
ResultStatus
.
OK
,
null
));
assertFalse
(
water
.
containsAnyError
());
water
.
addCheckResult
(
new
CheckResult
(
CheckId
.
C_GE_P_INNER_RINGS_NESTED
,
ResultStatus
.
ERROR
,
mock
(
CheckError
.
class
)));
assertTrue
(
water
.
containsAnyError
());
}
@Test
public
void
testClearAllContainedCheckResults
()
{
WaterObject
water
=
new
WaterObject
();
assertFalse
(
water
.
containsError
(
CheckId
.
C_GE_P_HOLE_OUTSIDE
));
water
.
addCheckResult
(
new
CheckResult
(
CheckId
.
C_GE_P_HOLE_OUTSIDE
,
ResultStatus
.
ERROR
,
mock
(
CheckError
.
class
)));
assertTrue
(
water
.
containsError
(
CheckId
.
C_GE_P_HOLE_OUTSIDE
));
water
.
clearAllContainedCheckResults
();
assertFalse
(
water
.
containsError
(
CheckId
.
C_GE_P_HOLE_OUTSIDE
));
}
@Test
public
void
testCollectContainedErrors
()
{
WaterObject
water
=
new
WaterObject
();
water
.
addCheckResult
(
new
CheckResult
(
CheckId
.
C_GE_P_HOLE_OUTSIDE
,
ResultStatus
.
ERROR
,
mock
(
CheckError
.
class
)));
List
<
CheckError
>
errors
=
new
ArrayList
<>();
water
.
collectContainedErrors
(
errors
);
assertEquals
(
1
,
errors
.
size
());
}
@Test
@Test
public
void
testUnsetGmlGeometries
()
{
public
void
testUnsetGmlGeometries
()
{
WaterObject
water
=
new
WaterObject
();
WaterObject
water
=
new
WaterObject
();
...
...
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