Exemple #1
0
def test_various_operators():
    """Check behaviour of operators other than less-than."""
    assert not InteractionOrder("1") == InteractionOrder("2")
    assert InteractionOrder("2") == InteractionOrder("2")

    assert InteractionOrder("1") != InteractionOrder("2")
    assert not InteractionOrder("2") != InteractionOrder("2")

    assert InteractionOrder("2") < InteractionOrder("10")
    assert not InteractionOrder("2") < InteractionOrder("2")
    assert not InteractionOrder("10") < InteractionOrder("2")
    assert InteractionOrder("2") <= InteractionOrder("10")
    assert InteractionOrder("2") <= InteractionOrder("2")
    assert not InteractionOrder("10") <= InteractionOrder("2")

    assert not InteractionOrder("2") > InteractionOrder("10")
    assert not InteractionOrder("2") > InteractionOrder("2")
    assert InteractionOrder("10") > InteractionOrder("2")
    assert not InteractionOrder("2") >= InteractionOrder("10")
    assert InteractionOrder("2") >= InteractionOrder("2")
    assert InteractionOrder("10") >= InteractionOrder("2")
Exemple #2
0
def test_alphanumeric():
    """Test alphanumeric ordering works."""
    assert InteractionOrder("c") < InteractionOrder("d")
    assert InteractionOrder("2.a") < InteractionOrder("10.b")
    assert InteractionOrder("2a") < InteractionOrder("10b")
Exemple #3
0
 def orders(list: List[str]) -> List[InteractionOrder]:
     return [InteractionOrder(s) for s in list]
Exemple #4
0
def test_multi_segment():
    """Test handling where orders are period-separated."""
    assert InteractionOrder("5.3") < InteractionOrder("5.10")
    assert InteractionOrder("5") < InteractionOrder("5.1")
    assert not InteractionOrder("5.1") < InteractionOrder("5")
Exemple #5
0
def test_numeric_ordering():
    """Check numeric (rather than lexical) ordering is preserved."""
    assert InteractionOrder("1") < InteractionOrder("10")
    assert InteractionOrder("5") < InteractionOrder("10")
Exemple #6
0
def test_comparing_bad_types_raises_error():
    """Test behaviour when trying to compare against a different type."""
    with pytest.raises(TypeError):
        if InteractionOrder("7") < 8:
            pass
Exemple #7
0
def test_construction_on_non_str_types():
    """Verify that InteractionOrder can be constructed on non-str types."""
    assert InteractionOrder(2) < InteractionOrder(10)
Exemple #8
0
def test_basics():
    """Check basic ordering."""
    assert InteractionOrder("1") < InteractionOrder("2")
    assert not InteractionOrder("2") < InteractionOrder("1")
    assert not InteractionOrder("2") < InteractionOrder("2")