def test_lilypondparsertools_LilyPondParser__spanners__PhrasingSlur_01():
    r'''Successful slurs, showing single leaf overlap.
    '''

    maker = abjad.NoteMaker()
    target = abjad.Container(maker([0] * 4, [(1, 4)]))
    slur = abjad.PhrasingSlur()
    abjad.attach(slur, target[2:])
    slur = abjad.PhrasingSlur()
    abjad.attach(slur, target[:3])

    assert format(target) == abjad.String.normalize(
        r'''
        {
            c'4
            \(
            c'4
            c'4
            \)
            \(
            c'4
            \)
        }
        '''
        )

    parser = abjad.lilypondparsertools.LilyPondParser()
    result = parser(format(target))
    assert format(target) == format(result) and target is not result
def test_lilypondparsertools_LilyPondParser__spanners__PhrasingSlur_02():
    r'''Swapped start and stop.
    '''

    maker = abjad.NoteMaker()
    target = abjad.Container(maker([0] * 4, [(1, 4)]))
    slur = abjad.PhrasingSlur()
    abjad.attach(slur, target[2:])
    slur = abjad.PhrasingSlur()
    abjad.attach(slur, target[:3])

    assert format(target) == abjad.String.normalize(
        r'''
        {
            c'4
            \(
            c'4
            c'4
            \)
            \(
            c'4
            \)
        }
        '''
        )

    string = r"\relative c' { c \( c c \( \) c \) }"

    parser = abjad.lilypondparsertools.LilyPondParser()
    result = parser(string)
    assert format(target) == format(result) and target is not result
def test_spannertools_PhrasingSlur___eq___01():
    r'''Spanner is strict comparator.
    '''

    spanner_1 = abjad.PhrasingSlur()
    spanner_2 = abjad.PhrasingSlur()

    assert not spanner_1 == spanner_2
def test_spannertools_PhrasingSlur___init___02():

    staff = abjad.Staff("c'8 d'8 e'8 f'8")
    phrasing_slur = abjad.PhrasingSlur()
    abjad.attach(phrasing_slur, staff[:])

    assert format(staff) == abjad.String.normalize(r'''
        \new Staff
        {
            c'8
            \(
            d'8
            e'8
            f'8
            \)
        }
        ''')

    assert abjad.inspect(staff).is_well_formed()
def test_spannertools_PhrasingSlur_direction_01():

    staff = abjad.Staff("c'8 d'8 e'8 f'8")
    slur = abjad.PhrasingSlur(direction=abjad.Up)
    abjad.attach(slur, staff[:])

    assert format(staff) == abjad.String.normalize(r'''
        \new Staff
        {
            c'8
            ^ \(
            d'8
            e'8
            f'8
            \)
        }
        ''')

    assert abjad.inspect(staff).is_well_formed()
def test_spannertools_PhrasingSlur___init___01():
    r'''Initialize empty phrasing slur.
    '''

    phrasing_slur = abjad.PhrasingSlur()
    assert isinstance(phrasing_slur, abjad.PhrasingSlur)