def test_csent2feats(self): rma = RakutenMA() rma.hash_func = None rma.featset = ["w0"] csent = rma.tokens2csent([["foo", "N"], ["bar", "N"]], "SBIEO") csent = rma.add_efeats(csent) feats = rma.csent2feats(csent) desired = ( ["w0", "", "_"], ["w0", "f", "B-N"], ["w0", "o", "I-N"], ["w0", "o", "E-N"], ["w0", "b", "B-N"], ["w0", "a", "I-N"], ["w0", "r", "E-N"], ["t", "B-N", "_"], ["t", "I-N", "B-N"], ["t", "E-N", "I-N"], ["t", "B-N", "E-N"], ["t", "_", "E-N"]) for d in desired: assert_true(d in feats) assert_true(["t", "E-N", "B-N"] not in feats) assert_true(["t", "B-N", "I-N"] not in feats)