Example #1
0
TEST_F(DecompositionTest, IdentifiesJoinNodes)
{
	EXPECT_FALSE(decomposition.isJoinNode());
	const Hypergraph::Vertices bag = {"x", "y"};
	Decomposition& joinNode = addDecompositionChild(decomposition, bag);
	addDecompositionChild(joinNode, bag);
	addDecompositionChild(joinNode, bag);
	EXPECT_EQ(2, joinNode.getChildren().size());

	EXPECT_TRUE(joinNode.isJoinNode());
	EXPECT_FALSE(decomposition.isJoinNode());
	for(const auto& child : joinNode.getChildren())
		EXPECT_FALSE(child->isJoinNode());
}
Example #2
0
TEST_F(DecompositionTest, IdentifiesJoinNodes)
{
	EXPECT_FALSE(decomposition.isJoinNode());
	const DecompositionNode::Bag bag = {{"x"}, {"y"}};
	Decomposition& joinNode = addDecompositionChild(decomposition, bag);
	addDecompositionChild(joinNode, bag);
	addDecompositionChild(joinNode, bag);
	EXPECT_EQ(2, joinNode.getChildren().size());

	EXPECT_TRUE(joinNode.isJoinNode());
	EXPECT_FALSE(decomposition.isJoinNode());
	for(const auto& child : joinNode.getChildren())
		EXPECT_FALSE(child->isJoinNode());
}
Example #3
0
TEST_F(DecompositionTest, ReportsCorrectWidth)
{
	EXPECT_EQ(2, decomposition.getWidth());
	addDecompositionChild(decomposition, {{"e", "f", "g", "h"}});
	EXPECT_EQ(3, decomposition.getWidth());
}
Example #4
0
	DecompositionTest()
	{
		addDecompositionChild(decomposition, {{"b", "c", "d"}});
	}
Example #5
0
	DecompositionTest()
	{
		addDecompositionChild(decomposition, {{{"b"}, {"c"}, {"d"}}});
	}