def _check_relative_order(resids, orders): """ This function checks if the relative order of list of lists of residues adheres to the order specifications of vermouth orders. """ order_match = {} for order, resid in zip(orders, resids): if order not in order_match: order_match[order] = resid # Assert all orders correspond to the same resid elif order_match[order] != resid: return False for ((order1, resid1), (order2, resid2)) in combinations(order_match.items(), 2): # Assert the differences between resids correspond to what # the orders require. if not match_order(order1, resid1, order2, resid2): return False return True
def test_match_order(orders, resids, answer): order1, order2 = orders resid1, resid2 = resids match = do_links.match_order(order1, resid1, order2, resid2) assert match == answer