Skip to content

Commit

Permalink
#5532: Unit tests checking the expression retrieval
Browse files Browse the repository at this point in the history
  • Loading branch information
codereader committed Feb 27, 2021
1 parent 9a1ada5 commit de2357b
Show file tree
Hide file tree
Showing 2 changed files with 69 additions and 1 deletion.
37 changes: 36 additions & 1 deletion test/Materials.cpp
Expand Up @@ -246,7 +246,11 @@ TEST_F(MaterialsTest, MaterialParserDeform)

TEST_F(MaterialsTest, MaterialParserStageTranslate)
{
auto material = GlobalMaterialManager().getMaterialForName("textures/parsertest/transform/translation1");
auto material = GlobalMaterialManager().getMaterialForName("textures/parsertest/transform/notransform");
EXPECT_FALSE(material->getAllLayers().front()->getTranslationExpression(0));
EXPECT_FALSE(material->getAllLayers().front()->getTranslationExpression(1));

material = GlobalMaterialManager().getMaterialForName("textures/parsertest/transform/translation1");
EXPECT_EQ(material->getAllLayers().front()->getTranslationExpression(0)->getExpressionString(), "3.0");
EXPECT_EQ(material->getAllLayers().front()->getTranslationExpression(1)->getExpressionString(), "parm3 * 3.0");

Expand All @@ -255,4 +259,35 @@ TEST_F(MaterialsTest, MaterialParserStageTranslate)
EXPECT_EQ(material->getAllLayers().front()->getTranslationExpression(1)->getExpressionString(), "0.5");
}

TEST_F(MaterialsTest, MaterialParserStageRotate)
{
auto material = GlobalMaterialManager().getMaterialForName("textures/parsertest/transform/notransform");
EXPECT_FALSE(material->getAllLayers().front()->getRotationExpression());

material = GlobalMaterialManager().getMaterialForName("textures/parsertest/transform/rotate1");
EXPECT_EQ(material->getAllLayers().front()->getRotationExpression()->getExpressionString(), "0.03");
}

TEST_F(MaterialsTest, MaterialParserStageScale)
{
auto material = GlobalMaterialManager().getMaterialForName("textures/parsertest/transform/notransform");
EXPECT_FALSE(material->getAllLayers().front()->getScaleExpression(0));
EXPECT_FALSE(material->getAllLayers().front()->getScaleExpression(1));

material = GlobalMaterialManager().getMaterialForName("textures/parsertest/transform/scale1");
EXPECT_EQ(material->getAllLayers().front()->getScaleExpression(0)->getExpressionString(), "4.0");
EXPECT_EQ(material->getAllLayers().front()->getScaleExpression(1)->getExpressionString(), "time * 3.0");
}

TEST_F(MaterialsTest, MaterialParserStageShear)
{
auto material = GlobalMaterialManager().getMaterialForName("textures/parsertest/transform/notransform");
EXPECT_FALSE(material->getAllLayers().front()->getShearExpression(0));
EXPECT_FALSE(material->getAllLayers().front()->getShearExpression(1));

material = GlobalMaterialManager().getMaterialForName("textures/parsertest/transform/shear1");
EXPECT_EQ(material->getAllLayers().front()->getShearExpression(0)->getExpressionString(), "global3");
EXPECT_EQ(material->getAllLayers().front()->getShearExpression(1)->getExpressionString(), "4.0");
}

}
33 changes: 33 additions & 0 deletions test/resources/tdm/materials/parsertest.mtr
Expand Up @@ -126,6 +126,14 @@ textures/parsertest/deform6
deform particle2 testparticle
}

textures/parsertest/transform/notransform
{
{
map _white
// no transforms
}
}

textures/parsertest/transform/translation1
{
{
Expand All @@ -141,3 +149,28 @@ textures/parsertest/transform/translation2
scroll time, .5
}
}

textures/parsertest/transform/scale1
{
{
map _white
scale 4, time*3
}
}

textures/parsertest/transform/shear1
{
{
map _white
shear global3, 4
}
}

textures/parsertest/transform/rotate1
{
{
map _white
rotate .03
}
}

0 comments on commit de2357b

Please sign in to comment.