def test_parse():
    """
    >>> import bibleweb; db=bibleweb.db(); rp=RefParser(db)
    >>> rp.parse('Ps 24, 26; 28:8-10').display()                    # comma to separate whole chapters
    [(u'Ps 24:1', u'Ps 24:10'), (u'Ps 26:1', u'Ps 26:12'), (u'Ps 28:8', u'Ps 28:10')]
    >>> rp.parse('Song of Songs 7.1 - 8.5').display()
    [(u'Song 7:1', u'Song 8:5')]
    >>> rp.parse('Gen, Exod').display()
    [(u'Gen 1:1', u'Gen 50:26'), (u'Exod 1:1', u'Exod 40:38')]
    >>> rp.parse('1Kgs 21-2Kgs 22').display()
    [(u'1Kgs 21:1', u'2Kgs 22:20')]
    >>> rp.parse('Gen, Exod 1').display()
    [(u'Gen 1:1', u'Gen 50:26'), (u'Exod 1:1', u'Exod 1:22')]
    >>> rp.parse('Gen - Exod 1').display()
    [(u'Gen 1:1', u'Exod 1:22')]
    >>> rp.parse('Gen 1, 2').display()
    [(u'Gen 1:1', u'Gen 1:31'), (u'Gen 2:1', u'Gen 2:25')]
    >>> rp.parse('Gen 1 - 2').display()
    [(u'Gen 1:1', u'Gen 2:25')]
    >>> rp.parse('Gen 1:1 - 2').display()
    [(u'Gen 1:1', u'Gen 1:2')]
    >>> rp.parse('Gen 1:1 - 2:5').display()
    [(u'Gen 1:1', u'Gen 2:5')]
    >>> rp.parse('Gen 1 - 2:5').display()
    [(u'Gen 1:1', u'Gen 2:5')]
    >>> rp.parse('Gen 1 - 2:5, 7, 9-10').display()
    [(u'Gen 1:1', u'Gen 2:5'), (u'Gen 2:7', u'Gen 2:7'), (u'Gen 2:9', u'Gen 2:10')]
    >>> rp.parse('Gen - Rev').display()
    [(u'Gen 1:1', u'Rev 22:21')]
    >>> rp.parse('Obad 1-2').display()
    [(u'Obad 1:1', u'Obad 1:2')]
    >>> rp.parse('3Jn 1:1-4').display()
    [(u'3Jn 1:1', u'3Jn 1:4')]
    >>> rp.parse('3Jn 1').display()
    [(u'3Jn 1:1', u'3Jn 1:15')]
    >>> rp.parse('3Jn').display()
    [(u'3Jn 1:1', u'3Jn 1:15')]
    >>> rp.parse('Gen 34:8').display()
    [(u'Gen 34:8', u'Gen 34:8')]
    >>> rp.parse('Gen 34:8-Deut').display()
    [(u'Gen 34:8', u'Deut 34:12')]
    >>> rp.parse('Gen 34:8, Deut').display()
    [(u'Gen 34:8', u'Gen 34:8'), (u'Deut 1:1', u'Deut 34:12')]
    >>> rp.parse('Gen 34:8; Deut').display()
    [(u'Gen 34:8', u'Gen 34:8'), (u'Deut 1:1', u'Deut 34:12')]
    >>> rp.parse('Obad 1,3').display()
    [(u'Obad 1:1', u'Obad 1:1'), (u'Obad 1:3', u'Obad 1:3')]
    >>> rp.parse('Gen 1,3').display()
    [(u'Gen 1:1', u'Gen 1:31'), (u'Gen 3:1', u'Gen 3:24')]
    >>> rp.parse('Gen 1:1,3').display()
    [(u'Gen 1:1', u'Gen 1:1'), (u'Gen 1:3', u'Gen 1:3')]
    >>> rp.parse('Gen 1:1;3').display()
    [(u'Gen 1:1', u'Gen 1:1'), (u'Gen 3:1', u'Gen 3:24')]
    >>> rp.parse('Obad 1;3').display()                          # this is a pretty tough edge case - what does the user intend?
    [(u'Obad 1:1', u'Obad 1:21'), (u'Obad 1:3', u'Obad 1:3')]
    >>> rp.parse('Obad 1-3; 1Jn 5').display()                   # another corner case that I just solved
    [(u'Obad 1:1', u'Obad 1:3'), (u'1Jn 5:1', u'1Jn 5:21')]
    >>> rp.parse('Something 1:5')                               # it looks like a reference, but it's not
    []
    >>> rp.parse('Gen 50 - Exod 1').display()                   # chapter range across books should work fine.
    [(u'Gen 50:1', u'Exod 1:22')]
    >>> rp.parse('2Jn.001.001 - Jude.001.025').display()        # it should handle refs correctly.
    [(u'2Jn 1:1', u'Jude 1:25')]
    """
