No, the test shouldn't forbid setting both odd and even layers. My GSN code supports the setting of both odd and even layers. I put a good deal of effort into handling this case and got decent results while setting odd and even layers (for instance, a supervised GSN with 2 hidden layers).

I handle setting both odd and even layers by explicitly not overwriting the values set at odd layers. For instance, if I had layers 0, 1, 2, 3 and I choose to set layers 0 and 3, my code would set 0 and 2 (layer 2 is just set to 0), and then attempt to calculate layers 1 and 3 from the values at layer 2. However, my code checks to see if I set either layer 1 or 3, and if I did then it simply sets the layer to the given value rather than computing the activation from layers 0 and 2.

This is done in _set_activations (this method not just sets the activations, but also does the first odd step to handle the case described above).