Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
#5266: Add two unit tests trying to select a twosided model surface i…
…n the XY top view, one model is facing up, one model is facing down.
  • Loading branch information
codereader committed Jan 30, 2021
1 parent c96c140 commit 9a672a4
Show file tree
Hide file tree
Showing 4 changed files with 80 additions and 0 deletions.
22 changes: 22 additions & 0 deletions test/Selection.cpp
Expand Up @@ -195,6 +195,14 @@ void performPatchSelectionTest(const std::string& materialName)
performSelectionTest(patch);
}

void performModelSelectionTest(const std::string& entityName)
{
auto entity = algorithm::getEntityByName(GlobalMapModule().getRoot(), entityName);
EXPECT_TRUE(entity);

performSelectionTest(entity);
}

TEST_F(SelectionTest, BrushesFacingTowardsXYAreSelectable)
{
loadMap("selection_test.map");
Expand Down Expand Up @@ -224,4 +232,18 @@ TEST_F(SelectionTest, PatchesFacingAwayFromXYAreSelectable)
performPatchSelectionTest("textures/numbers/2");
}

TEST_F(SelectionTest, TwosidedModelFacingDown)
{
loadMap("twosided_ivy.mapx");

performModelSelectionTest("ivy_facing_down");
}

TEST_F(SelectionTest, TwosidedModelFacingUp)
{
loadMap("twosided_ivy.mapx");

performModelSelectionTest("ivy_facing_up");
}

}
45 changes: 45 additions & 0 deletions test/resources/tdm/maps/twosided_ivy.mapx
@@ -0,0 +1,45 @@
<?xml version="1.0" encoding="utf-8"?>
<map version="1" format="portable">
<layers>
<layer id="0" name="Default"/>
</layers>
<selectionGroups/>
<selectionSets/>
<properties>
<property key="EditTimeInSeconds" value="566"/>
<property key="LastCameraAngle" value="-45.6 65.2002 0"/>
<property key="LastCameraPosition" value="114.053 -192.486 107.046"/>
</properties>
<entity number="0">
<primitives/>
<keyValues>
<keyValue key="classname" value="func_static"/>
<keyValue key="name" value="ivy_facing_down"/>
<keyValue key="model" value="models/twosided_ivy.lwo"/>
<keyValue key="origin" value="165.58 19.205 -120.379"/>
<keyValue key="rotation" value="-0.463685 -0.874697 -0.141069 -0.844409 0.484491 -0.228564 0.268269 0.0131378 -0.963254"/>
<keyValue key="solid" value="0"/>
</keyValues>
<layers>
<layer id="0"/>
</layers>
<selectionGroups/>
<selectionSets/>
</entity>
<entity number="1">
<primitives/>
<keyValues>
<keyValue key="classname" value="func_static"/>
<keyValue key="name" value="ivy_facing_up"/>
<keyValue key="model" value="models/twosided_ivy.lwo"/>
<keyValue key="origin" value="325.58 -28.795 -120.379"/>
<keyValue key="rotation" value="-0.410301 0.885955 -0.216183 -0.892411 -0.438873 -0.104842 -0.187764 0.149907 0.970706"/>
<keyValue key="solid" value="0"/>
</keyValues>
<layers>
<layer id="0"/>
</layers>
<selectionGroups/>
<selectionSets/>
</entity>
</map>
13 changes: 13 additions & 0 deletions test/resources/tdm/materials/twosided.mtr
@@ -0,0 +1,13 @@
// Twosided material used for selection tests
textures/darkmod/decals/vegetation/ivy_mixed_pieces
{
surftype15
description "foliage"

noshadows
nonsolid
noimpact
twosided

diffusemap _white
}
Binary file added test/resources/tdm/models/twosided_ivy.lwo
Binary file not shown.

0 comments on commit 9a672a4

Please sign in to comment.