예제 #1
0
def test_TableForm_latex():
    s = latex(TableForm([[0, x**3], ["c", S(1)/4], [sqrt(x), sin(x**2)]],
            wipe_zeros=True, headings=("automatic", "automatic")))
    assert s == (
    '\\begin{tabular}{r l l}\n'
    ' & 1 & 2 \\\\\n'
    '\\hline\n'
    '1 &   & $x^{3}$ \\\\\n'
    '2 & $c$ & $\\frac{1}{4}$ \\\\\n'
    '3 & $\\sqrt{x}$ & $\\sin{\\left (x^{2} \\right )}$ \\\\\n'
    '\\end{tabular}'
    )
    s = latex(TableForm([[0, x**3], ["c", S(1)/4], [sqrt(x), sin(x**2)]],
            wipe_zeros=True, headings=("automatic", "automatic"), alignments='l'))
    assert s == (
    '\\begin{tabular}{r l l}\n'
    ' & 1 & 2 \\\\\n'
    '\\hline\n'
    '1 &   & $x^{3}$ \\\\\n'
    '2 & $c$ & $\\frac{1}{4}$ \\\\\n'
    '3 & $\\sqrt{x}$ & $\\sin{\\left (x^{2} \\right )}$ \\\\\n'
    '\\end{tabular}'
    )
    s = latex(TableForm([[0, x**3], ["c", S(1)/4], [sqrt(x), sin(x**2)]],
            wipe_zeros=True, headings=("automatic", "automatic"), alignments='l'*3))
    assert s == (
    '\\begin{tabular}{l l l}\n'
    ' & 1 & 2 \\\\\n'
    '\\hline\n'
    '1 &   & $x^{3}$ \\\\\n'
    '2 & $c$ & $\\frac{1}{4}$ \\\\\n'
    '3 & $\\sqrt{x}$ & $\\sin{\\left (x^{2} \\right )}$ \\\\\n'
    '\\end{tabular}'
    )
    s = latex(TableForm([["a", x**3], ["c", S(1)/4], [sqrt(x), sin(x**2)]],
            headings=("automatic", "automatic")))
    assert s == (
    '\\begin{tabular}{r l l}\n'
    ' & 1 & 2 \\\\\n'
    '\\hline\n'
    '1 & $a$ & $x^{3}$ \\\\\n'
    '2 & $c$ & $\\frac{1}{4}$ \\\\\n'
    '3 & $\\sqrt{x}$ & $\\sin{\\left (x^{2} \\right )}$ \\\\\n'
    '\\end{tabular}'
    )
    s = latex(TableForm([["a", x**3], ["c", S(1)/4], [sqrt(x), sin(x**2)]],
            formats=['(%s)', None], headings=("automatic", "automatic")))
    assert s == (
    '\\begin{tabular}{r l l}\n'
    ' & 1 & 2 \\\\\n'
    '\\hline\n'
    '1 & (a) & $x^{3}$ \\\\\n'
    '2 & (c) & $\\frac{1}{4}$ \\\\\n'
    '3 & (sqrt(x)) & $\\sin{\\left (x^{2} \\right )}$ \\\\\n'
    '\\end{tabular}'
    )
    def neg_in_paren(x, i, j):
        if i%2:
            return ('(%s)' if x < 0 else '%s') % x
        else:
            pass # use default print
    s = latex(TableForm([[-1, 2], [-3, 4]],
            formats=[neg_in_paren]*2, headings=("automatic", "automatic")))
    assert s == (
    '\\begin{tabular}{r l l}\n'
    ' & 1 & 2 \\\\\n'
    '\\hline\n'
    '1 & -1 & 2 \\\\\n'
    '2 & (-3) & 4 \\\\\n'
    '\\end{tabular}'
    )
    s = latex(TableForm([["a", x**3], ["c", S(1)/4], [sqrt(x), sin(x**2)]]))
    assert s == (
    '\\begin{tabular}{l l}\n'
    '$a$ & $x^{3}$ \\\\\n'
    '$c$ & $\\frac{1}{4}$ \\\\\n'
    '$\\sqrt{x}$ & $\\sin{\\left (x^{2} \\right )}$ \\\\\n'
    '\\end{tabular}'
    )
예제 #2
0
def test_TableForm_latex():
    s = latex(
        TableForm(
            [[0, x**3], ["c", S.One / 4], [sqrt(x), sin(x**2)]],
            wipe_zeros=True,
            headings=("automatic", "automatic"),
        ))
    assert s == ("\\begin{tabular}{r l l}\n"
                 " & 1 & 2 \\\\\n"
                 "\\hline\n"
                 "1 &   & $x^{3}$ \\\\\n"
                 "2 & $c$ & $\\frac{1}{4}$ \\\\\n"
                 "3 & $\\sqrt{x}$ & $\\sin{\\left(x^{2} \\right)}$ \\\\\n"
                 "\\end{tabular}")
    s = latex(
        TableForm(
            [[0, x**3], ["c", S.One / 4], [sqrt(x), sin(x**2)]],
            wipe_zeros=True,
            headings=("automatic", "automatic"),
            alignments="l",
        ))
    assert s == ("\\begin{tabular}{r l l}\n"
                 " & 1 & 2 \\\\\n"
                 "\\hline\n"
                 "1 &   & $x^{3}$ \\\\\n"
                 "2 & $c$ & $\\frac{1}{4}$ \\\\\n"
                 "3 & $\\sqrt{x}$ & $\\sin{\\left(x^{2} \\right)}$ \\\\\n"
                 "\\end{tabular}")
    s = latex(
        TableForm(
            [[0, x**3], ["c", S.One / 4], [sqrt(x), sin(x**2)]],
            wipe_zeros=True,
            headings=("automatic", "automatic"),
            alignments="l" * 3,
        ))
    assert s == ("\\begin{tabular}{l l l}\n"
                 " & 1 & 2 \\\\\n"
                 "\\hline\n"
                 "1 &   & $x^{3}$ \\\\\n"
                 "2 & $c$ & $\\frac{1}{4}$ \\\\\n"
                 "3 & $\\sqrt{x}$ & $\\sin{\\left(x^{2} \\right)}$ \\\\\n"
                 "\\end{tabular}")
    s = latex(
        TableForm(
            [["a", x**3], ["c", S.One / 4], [sqrt(x), sin(x**2)]],
            headings=("automatic", "automatic"),
        ))
    assert s == ("\\begin{tabular}{r l l}\n"
                 " & 1 & 2 \\\\\n"
                 "\\hline\n"
                 "1 & $a$ & $x^{3}$ \\\\\n"
                 "2 & $c$ & $\\frac{1}{4}$ \\\\\n"
                 "3 & $\\sqrt{x}$ & $\\sin{\\left(x^{2} \\right)}$ \\\\\n"
                 "\\end{tabular}")
    s = latex(
        TableForm(
            [["a", x**3], ["c", S.One / 4], [sqrt(x), sin(x**2)]],
            formats=["(%s)", None],
            headings=("automatic", "automatic"),
        ))
    assert s == ("\\begin{tabular}{r l l}\n"
                 " & 1 & 2 \\\\\n"
                 "\\hline\n"
                 "1 & (a) & $x^{3}$ \\\\\n"
                 "2 & (c) & $\\frac{1}{4}$ \\\\\n"
                 "3 & (sqrt(x)) & $\\sin{\\left(x^{2} \\right)}$ \\\\\n"
                 "\\end{tabular}")

    def neg_in_paren(x, i, j):
        if i % 2:
            return ("(%s)" if x < 0 else "%s") % x
        else:
            pass  # use default print

    s = latex(
        TableForm(
            [[-1, 2], [-3, 4]],
            formats=[neg_in_paren] * 2,
            headings=("automatic", "automatic"),
        ))
    assert s == ("\\begin{tabular}{r l l}\n"
                 " & 1 & 2 \\\\\n"
                 "\\hline\n"
                 "1 & -1 & 2 \\\\\n"
                 "2 & (-3) & 4 \\\\\n"
                 "\\end{tabular}")
    s = latex(TableForm([["a", x**3], ["c", S.One / 4], [sqrt(x), sin(x**2)]]))
    assert s == ("\\begin{tabular}{l l}\n"
                 "$a$ & $x^{3}$ \\\\\n"
                 "$c$ & $\\frac{1}{4}$ \\\\\n"
                 "$\\sqrt{x}$ & $\\sin{\\left(x^{2} \\right)}$ \\\\\n"
                 "\\end{tabular}")
예제 #3
0
def test_TableForm():
    s = str(TableForm([["a", "b"], ["c", "d"], ["e", 0]],
        headings="automatic"))
    assert s == (
        '  | 1 2\n'
        '-------\n'
        '1 | a b\n'
        '2 | c d\n'
        '3 | e  '
        )
    s = str(TableForm([["a", "b"], ["c", "d"], ["e", 0]],
        headings="automatic", wipe_zeros=False))
    assert s == dedent('''\
          | 1 2
        -------
        1 | a b
        2 | c d
        3 | e 0''')
    s = str(TableForm([[x**2, "b"], ["c", x**2], ["e", "f"]],
            headings=("automatic", None)))
    assert s == (
        '1 | x**2 b   \n'
        '2 | c    x**2\n'
        '3 | e    f   '
        )
    s = str(TableForm([["a", "b"], ["c", "d"], ["e", "f"]],
            headings=(None, "automatic")))
    assert s == dedent('''\
        1 2
        ---
        a b
        c d
        e f''')
    s = str(TableForm([[5, 7], [4, 2], [10, 3]],
            headings=[["Group A", "Group B", "Group C"], ["y1", "y2"]]))
    assert s == (
        '        | y1 y2\n'
        '---------------\n'
        'Group A | 5  7 \n'
        'Group B | 4  2 \n'
        'Group C | 10 3 '
        )
    raises(ValueError,
            dedent('''
            TableForm([[5, 7], [4, 2], [10, 3]],
            headings=[["Group A", "Group B", "Group C"], ["y1", "y2"]],
            alignments="middle")''')
            )
    s = str(TableForm([[5, 7], [4, 2], [10, 3]],
            headings=[["Group A", "Group B", "Group C"], ["y1", "y2"]],
            alignments="right"))
    assert s == dedent('''\
                | y1 y2
        ---------------
        Group A |  5  7
        Group B |  4  2
        Group C | 10  3''')

    # other alignment permutations
    d = [[1,100],[100,1]]
    s = TableForm(d, headings=(('xxx', 'x'),None), alignments='l')
    assert str(s) == (
    'xxx | 1   100\n'
    '  x | 100 1  '
    )
    s = TableForm(d, headings=(('xxx', 'x'),None), alignments='lr')
    assert str(s) == dedent('''\
    xxx | 1   100
      x | 100   1''')
    s = TableForm(d, headings=(('xxx', 'x'),None), alignments='clr')
    assert str(s) == dedent('''\
    xxx | 1   100
     x  | 100   1''')

    s = TableForm(d ,headings=(('xxx','x'),None))
    assert str(s) == (
    'xxx | 1   100\n'
    '  x | 100 1  '
    )

    raises(ValueError, "TableForm(d, alignments='clr')")

    #pad
    s = str(TableForm([[None, "-", 2],[1]], pad='?'))
    assert s == dedent('''\
        ? - 2
        1 ? ?''')
예제 #4
0
def test_TableForm():
    s = str(TableForm([["a", "b"], ["c", "d"], ["e", 0]],
                      headings="automatic"))
    assert s == ("  | 1 2\n" "-------\n" "1 | a b\n" "2 | c d\n" "3 | e  ")
    s = str(
        TableForm([["a", "b"], ["c", "d"], ["e", 0]],
                  headings="automatic",
                  wipe_zeros=False))
    assert s == dedent("""\
          | 1 2
        -------
        1 | a b
        2 | c d
        3 | e 0""")
    s = str(
        TableForm([[x**2, "b"], ["c", x**2], ["e", "f"]],
                  headings=("automatic", None)))
    assert s == ("1 | x**2 b   \n" "2 | c    x**2\n" "3 | e    f   ")
    s = str(
        TableForm([["a", "b"], ["c", "d"], ["e", "f"]],
                  headings=(None, "automatic")))
    assert s == dedent("""\
        1 2
        ---
        a b
        c d
        e f""")
    s = str(
        TableForm(
            [[5, 7], [4, 2], [10, 3]],
            headings=[["Group A", "Group B", "Group C"], ["y1", "y2"]],
        ))
    assert s == ("        | y1 y2\n"
                 "---------------\n"
                 "Group A | 5  7 \n"
                 "Group B | 4  2 \n"
                 "Group C | 10 3 ")
    raises(
        ValueError,
        lambda: TableForm(
            [[5, 7], [4, 2], [10, 3]],
            headings=[["Group A", "Group B", "Group C"], ["y1", "y2"]],
            alignments="middle",
        ),
    )
    s = str(
        TableForm(
            [[5, 7], [4, 2], [10, 3]],
            headings=[["Group A", "Group B", "Group C"], ["y1", "y2"]],
            alignments="right",
        ))
    assert s == dedent("""\
                | y1 y2
        ---------------
        Group A |  5  7
        Group B |  4  2
        Group C | 10  3""")

    # other alignment permutations
    d = [[1, 100], [100, 1]]
    s = TableForm(d, headings=(("xxx", "x"), None), alignments="l")
    assert str(s) == ("xxx | 1   100\n" "  x | 100 1  ")
    s = TableForm(d, headings=(("xxx", "x"), None), alignments="lr")
    assert str(s) == dedent("""\
    xxx | 1   100
      x | 100   1""")
    s = TableForm(d, headings=(("xxx", "x"), None), alignments="clr")
    assert str(s) == dedent("""\
    xxx | 1   100
     x  | 100   1""")

    s = TableForm(d, headings=(("xxx", "x"), None))
    assert str(s) == ("xxx | 1   100\n" "  x | 100 1  ")

    raises(ValueError, lambda: TableForm(d, alignments="clr"))

    # pad
    s = str(TableForm([[None, "-", 2], [1]], pad="?"))
    assert s == dedent("""\
        ? - 2
        1 ? ?""")