Esempio n. 1
0
def test_strings():
    assert rcall("identical", robject("abc"), rstring("abc"), _convert=True)
    assert rcall("identical", robject("β"), rstring("β"), _convert=True)
    assert rcall("identical", robject("你"), rstring("你"), _convert=True)
    assert rcall("identical",
                 robject(['a', 'b']),
                 reval("c('a', 'b')"),
                 _convert=True)
Esempio n. 2
0
def test_functions():
    def f(x):
        return x + 3

    fun = robject(f)
    assert "PyCallable" in rclass(fun)
    assert rcopy(rcall(fun, 4)) == f(4)
    assert rcopy(rcall(fun, x=4)) == f(4)

    fun = robject(lambda x: x + 3, convert=False)
    assert "PyCallable" in rclass(fun)
    ret = rcall(fun, 4)
    assert "PyObject" in rclass(ret)
    assert rcopy(ret) == f(4)

    makef = robject(lambda: f, convert=False)
    ret = rcall(makef)
    assert "PyCallable" in rclass(ret)
    assert rcopy(ret) == f
Esempio n. 3
0
def test_numbers():
    assert rcall("identical", robject(1), rint(1), _convert=True)
    assert rcall("identical", robject(1.0), rdouble(1), _convert=True)
    assert not rcall("identical", robject(1), rdouble(1), _convert=True)
    assert not rcall("identical", robject(1.0), rint(1), _convert=True)

    assert rcall("identical",
                 robject(complex(1, 2)),
                 reval("1 + 2i"),
                 _convert=True)

    assert rcall("identical",
                 robject([1, 2]),
                 reval("c(1L, 2L)"),
                 _convert=True)
    assert rcall("identical",
                 robject([1.0, 2.0]),
                 reval("c(1, 2)"),
                 _convert=True)
    assert rcall("identical",
                 robject([complex(1, 2), complex(2, 1)]),
                 reval("c(1 + 2i, 2 + 1i)"),
                 _convert=True)
Esempio n. 4
0
def test_rfunction(gctorture):
    f = reval("function() {}")
    assert unbox(robject(rcopy(f))) == unbox(f)
Esempio n. 5
0
def test_pyfunction(gctorture):
    def f():
        pass

    assert rcopy(robject(f)) == f
Esempio n. 6
0
def test_r_to_py_rchitect_object():
    reval("library(reticulate)")
    foo = Foo()
    x = rcall("r_to_py", robject(foo))
    assert "python.builtin.object" in rcopy(rcall("class", x))
Esempio n. 7
0
def test_lambda():
    rcopy(rcall(robject(lambda x: x + 3), 4)) == 7
Esempio n. 8
0
def test_booleans():
    assert rcall("identical",
                 robject([True, False]),
                 reval("c(TRUE, FALSE)"),
                 _convert=True)
Esempio n. 9
0
def test_ordered_list():
    d = OrderedDict([("a", 2), ("b", "hello")])
    assert rcall("identical",
                 robject(d),
                 reval("list(a = 2L, b = 'hello')"),
                 _convert=True)
Esempio n. 10
0
def test_none():
    assert rcall("identical", robject(None), reval("NULL"), _convert=True)
Esempio n. 11
0
def test_raw():
    assert rcall("rawToChar", robject("raw", b"hello"),
                 _convert=True) == "hello"
Esempio n. 12
0
def test_rprint(gctorture):
    la = rlang(robject(rprint, asis=True, invisible=True), robject(1))
    assert rcall("capture.output", la, _convert=True) == "[1] 1"
Esempio n. 13
0
def test_rprint():
    la = rlang(robject(rprint, asis=True), robject(1))
    assert rcall("capture.output", la, _convert=True) == ['[1] 1', 'NULL']