private static void ValidateConditional(IConditionalOperationConfig config)
{
if (config == null)
return;
int conditionsSet = 0;
conditionsSet += config.Expected != null ? 1 : 0;
conditionsSet += config.ExpectedState != null ? 1 : 0;
conditionsSet += config.ConditionalExpression != null && config.ConditionalExpression.ExpressionStatement != null ? 1 : 0;
if (conditionsSet > 1)
throw new InvalidOperationException("Only one of the conditonal properties Expected, ExpectedState and ConditionalExpression can be set.");
}