	@Test
	public void dimensionalCellularAutomataConstructor() throws CloneNotSupportedException,
			InvalidAbsoluteTimeLimitException, InvalidRelativeTimeLimitException, InvalidStateException,
			InvalidTransitionException, InvalidCombinationException, InvalidDimensionalAmountException,
			InvalidInitialConditionException, InvalidDimensionalSpaceException, InvalidRuleException {

		final State dimensionalBlackState = new DimensionalState("black", 0);
		final State dimensionalWhiteState = new DimensionalState("white", 1);
		final Combination dimensionalCombination0 = new DimensionalCombination(dimensionalBlackState,
				dimensionalBlackState, dimensionalBlackState);
		final Transition dimensionalTransition0 = new DimensionalTransition(dimensionalCombination0,
				dimensionalWhiteState);
		final Combination dimensionalCombination1 = new DimensionalCombination(dimensionalBlackState,
				dimensionalBlackState, dimensionalWhiteState);
		final Transition dimensionalTransition1 = new DimensionalTransition(dimensionalCombination1,
				dimensionalBlackState);
		final Combination dimensionalCombination2 = new DimensionalCombination(dimensionalWhiteState,
				dimensionalBlackState, dimensionalBlackState);
		final Transition dimensionalTransition2 = new DimensionalTransition(dimensionalCombination2,
				dimensionalBlackState);
		final Rule dimensionalRule = new DimensionalRule(dimensionalTransition0, dimensionalTransition1,
				dimensionalTransition2);
		final CellularAutomaton dimensionalCellularAutomaton = new DimensionalCellularAutomaton(dimensionalRule);
		Assert.assertTrue(dimensionalCellularAutomaton.getRule().equals(dimensionalRule));
	}