code: def test_biword():
      ana = analysis.RegexTokenizer(r"\w+") | analysis.BiWordFilter()
      result = [
          t.copy()
          for t in ana(
              u("the sign of four"), chars=True, positions=True
          )
      ]
      assert ["the-sign", "sign-of", "of-four"] == [
          t.text for t in result
      ]
      assert [(0, 8), (4, 11), (9, 16)] == [
          (t.startchar, t.endchar) for t in result
      ]
      assert [0, 1, 2] == [t.pos for t in result]
  
      result = [t.copy() for t in ana(u("single"))]
      assert len(result) == 1
      assert result[0].text == "single"
  
imports: from __future__ import with_statement
  import pytest
  from whoosh import analysis, fields, qparser
  from whoosh.compat import b, u, unichr
  from whoosh.compat import dumps
  from whoosh.filedb.filestore import RamStorage
label_desc: Use image node_id 15 for calling a global function with example usage: test_biword() without return types