import pytest

from arpa.models.simple import ARPAModelSimple


def test_new_model_contains_not():
    lm = ARPAModelSimple()
    assert "foo" not in lm


def test_new_model_counts():
    lm = ARPAModelSimple()
    assert lm.counts() == []


def test_new_model_len():
    lm = ARPAModelSimple()
    assert len(lm) == 0


def test_log_p_raw():
    lm = ARPAModelSimple()
    with pytest.raises(KeyError):
        lm.log_p_raw("UnladenSwallow")


def test_log_p_empty_string():
    lm = ARPAModelSimple()
    with pytest.raises(ValueError):
        lm.log_p("")


def test_log_p_empty_tuple():
    lm = ARPAModelSimple()
    with pytest.raises(ValueError):
        lm.log_p(tuple())


def test_log_p_int():
    lm = ARPAModelSimple()
    with pytest.raises(ValueError):
        lm.log_p(1)

@@ -8,16 +8,55 @@
 pytest%0A%0A
+from arpa.models.base import ARPAModel%0A
 from arp
@@ -820,8 +820,492 @@
 og_p(1)%0A
+%0A%0Adef test_check_input_list():%0A    lm = ARPAModelSimple()%0A    result = ARPAModel._check_input(%5B%22foo%22, %22bar%22%5D)%0A    assert isinstance(result, tuple)%0A%0A%0Adef test_check_input_string_word():%0A    lm = ARPAModelSimple()%0A    result = ARPAModel._check_input(%22foo%22)%0A    assert isinstance(result, tuple) and len(result) == 1%0A%0A%0Adef test_check_input_string_words():%0A    lm = ARPAModelSimple()%0A    result = ARPAModel._check_input(%22foo bar%22)%0A    assert isinstance(result, tuple) and len(result) == 2%0A

test for lm._check_input(input)