Skip to content
Snippets Groups Projects

Resolve "Problem::getState(structure) doesn't care about structure"

1 file
+ 40
0
Compare changes
  • Side-by-side
  • Inline
@@ -178,6 +178,46 @@ TEST_F(HasStateBlocksTest, stateBlockKey)
ASSERT_TRUE(key == "");
}
TEST_F(HasStateBlocksTest, getState_structure)
{
F0->addStateBlock("V", sbv0); // now KF0 is POV
WOLF_DEBUG("Retrieving state from F0 with structure ", F0->getStructure());
auto state0 = F0->getState();
WOLF_DEBUG("getState() = ", state0);
ASSERT_EQ(state0.size(), 3);
ASSERT_TRUE(state0.count("P"));
ASSERT_TRUE(state0.count("O"));
ASSERT_TRUE(state0.count("V"));
state0 = F0->getState("PO");
WOLF_DEBUG("getState(\"PO\") = ", state0);
ASSERT_EQ(state0.size(), 2);
ASSERT_TRUE(state0.count("P"));
ASSERT_TRUE(state0.count("O"));
ASSERT_FALSE(state0.count("V"));
state0 = F0->getState("PV");
WOLF_DEBUG("getState(\"PV\") = ", state0);
ASSERT_EQ(state0.size(), 2);
ASSERT_TRUE(state0.count("P"));
ASSERT_FALSE(state0.count("O"));
ASSERT_TRUE(state0.count("V"));
state0 = F0->getState("OW"); // W does not exist
WOLF_DEBUG("getState(\"OW\") = ", state0);
ASSERT_EQ(state0.size(), 1);
ASSERT_FALSE(state0.count("P"));
ASSERT_TRUE(state0.count("O"));
ASSERT_FALSE(state0.count("V"));
ASSERT_FALSE(state0.count("W"));
}
int main(int argc, char **argv)
{
Loading