@public
def sring(exprs, *symbols, **options):
    single = False

    if not is_sequence(exprs):
        exprs, single = [exprs], True

    exprs = list(map(sympify, exprs))
    opt = build_options(symbols, options)

    # TODO: rewrite this so that it doesn't use expand() (see poly()).
    reps, opt = _parallel_dict_from_expr(exprs, opt)

    if opt.domain is None:
        # NOTE: this is inefficient because construct_domain() automatically
        # performs conversion to the target domain. It shouldn't do this.
        coeffs = sum([ list(rep.values()) for rep in reps ], [])
        opt.domain, _ = construct_domain(coeffs, opt=opt)

    _ring = PolyRing(opt.gens, opt.domain, opt.order)
    polys = list(map(_ring.from_dict, reps))

    if single:
        return (_ring, polys[0])
    else:
        return (_ring, polys)
Test the Is? functions.
dataset/ETHPy150Open sympy/sympy/sympy/polys/rings.py/sring--crossover with--dataset/ETHPy150Open log2timeline/dfvfs/tests/vfs/fake_file_entry.py/FakeFileEntryTest.testIsFunctions