# File test/test_sexp.rb, line 273
  def test_sub
    assert_equal s(:c), s().sub(s(), s(:c))
    assert_equal s(:c), s(:b).sub(s(:b), s(:c))
    assert_equal s(:a), s(:a).sub(s(:b), s(:c))
    assert_equal s(:a, s(:c)), s(:a, s(:c)).sub(s(:b), s(:c))

    assert_equal s(:a, s(:c), s(:b)), s(:a, s(:b), s(:b)).sub(s(:b), s(:c))

    assert_equal(s(:a, s(:c), s(:a)),
                 s(:a, s(:b), s(:a)).sub(s(:b), s(:c)))
    assert_equal(s(:a, s(:c), s(:a, s(:a))),
                 s(:a, s(:b), s(:a, s(:a))).sub(s(:b), s(:c)))
    assert_equal(s(:a, s(:a), s(:a, s(:c), s(:b))),
                 s(:a, s(:a), s(:a, s(:b), s(:b))).sub(s(:b), s(:c)))
    assert_equal(s(:a, s(:c, s(:b))),
                 s(:a, s(:b)).sub(s(:b), s(:c, s(:b))))
  end