'Transitions are defined from all possible desired states towards
all possible discovered states.'

@given(desired_state=sampled_from(DesiredDataset.__invariant__.attributes_for_tag.keys()), discovered_state=sampled_from((DiscoveredDataset.__invariant__.attributes_for_tag.keys() + [DatasetStates.NON_EXISTENT])))
def test_all_transitions(self, desired_state, discovered_state):

    assume((desired_state != discovered_state))
    verifyObject(IDatasetStateChangeFactory, DATASET_TRANSITIONS[desired_state][discovered_state])
