'This generates a some statements based on the partition_key_index of the model.
It then validates that order of the partition key values in the statement matches the index
specified in the models partition_key_index'

def _check_partition_value_generation(self, model, state, reverse=False):

    uuid = uuid4()
    values = {'k': 5, 'v': 3, 'partition': uuid, 'cluster': 6, 'count': 42, 'text': 'text', 'float': 3.1415, 'text_2': 'text_2'}
    res = dict(((v, k) for (k, v) in values.items()))
    items = list(model._partition_key_index.items())
    if reverse:
        items.reverse()
    for (partition_key, position) in items:
        wc = WhereClause(partition_key, EqualsOperator(), values.get(partition_key))
        state._add_where_clause(wc)
    for (indx, value) in enumerate(state.partition_key_values(model._partition_key_index)):
        name = res.get(value)
        self.assertEqual(indx, model._partition_key_index.get(name))
