@Test
public void testSKUCombinationsIterator() throws Exception {

	int optionsAndValuesCount = 2;
	CPDefinition cpDefinition = _createCPDefinition();
	Map<CPDefinitionOptionRel, CPDefinitionOptionValueRel[]>
		combinationGeneratorMap = _createCombinationGeneratorMap(
			optionsAndValuesCount, cpDefinition);
	Assert.assertEquals(
		combinationGeneratorMap.toString(), optionsAndValuesCount,
		combinationGeneratorMap.size());
	Iterator<CPDefinitionOptionValueRel[]> iterator =
		new SKUCombinationsIterator(combinationGeneratorMap);
	int count = 0;
	while (iterator.hasNext()) {
		CPDefinitionOptionValueRel[] cpDefinitionOptionValueRels =
			iterator.next();
		count += cpDefinitionOptionValueRels.length;
	}
	Assert.assertEquals(
		(int)Math.pow(optionsAndValuesCount, optionsAndValuesCount + 1),
		count);
}