def test_full_spec(rows, columns, figwidth, figheight, units):
    """Full specification (width and height) only."""
    l = FigureSizeLocator(rows, columns, figwidth=figwidth,
                          figheight=figheight, units=units)
    figwidth_c, figheight_c = l.figsize_in(units)
    assert almost_equal(figwidth_c, figwidth)
    assert almost_equal(figheight_c, figheight)
예제 #2
0
def test_iterate_column_major(rows, columns):
    l = PanelSizeLocator(rows, columns, 1, 1)
    dx = 1. / columns
    dy = 1. / rows
    for n, pp in enumerate(l.panel_position_iterator(order='column')):
        assert almost_equal((n // rows) * dx, pp[0])
        assert almost_equal(1 - (n % rows + 1) * dy, pp[1])
def test_full_spec_with_vsep(rows, columns, figwidth, figheight, vsep, units):
    """Full specification with vertical separation."""
    assume(figheight > vsep * (rows - 1))
    l = FigureSizeLocator(rows, columns,
                          figwidth=figwidth, figheight=figheight,
                          vsep=vsep, units=units)
    figwidth_c, figheight_c = l.figsize_in(units)
    assert almost_equal(figwidth_c, figwidth)
    assert almost_equal(figheight_c, figheight)
def test_full_spec_with_padbottom(rows, columns, figwidth, figheight,
                                  padbottom, units):
    """Full specification with bottom edge padding."""
    assume(figheight > padbottom)
    l = FigureSizeLocator(rows, columns,
                          figwidth=figwidth, figheight=figheight,
                          padbottom=padbottom, units=units)
    figwidth_c, figheight_c = l.figsize_in(units)
    assert almost_equal(figwidth_c, figwidth)
    assert almost_equal(figheight_c, figheight)
def test_full_spec_with_padleft(rows, columns, figwidth, figheight, padleft,
                                units):
    """Full specification with left side padding."""
    assume(figwidth > padleft)
    l = FigureSizeLocator(rows, columns,
                          figwidth=figwidth, figheight=figheight,
                          padleft=padleft, units=units)
    figwidth_c, figheight_c = l.figsize_in(units)
    assert almost_equal(figwidth_c, figwidth)
    assert almost_equal(figheight_c, figheight)
def test_full_spec_with_pad(rows, columns, figwidth, figheight, padleft,
                            padright, padtop, padbottom, units):
    """Full specification with padding on all sides."""
    assume(figwidth > padleft + padright)
    assume(figheight > padbottom + padtop)
    l = FigureSizeLocator(rows, columns,
                          figwidth=figwidth, figheight=figheight,
                          padleft=padleft, padright=padright,
                          padtop=padtop, padbottom=padbottom, units=units)
    figwidth_c, figheight_c = l.figsize_in(units)
    assert almost_equal(figwidth_c, figwidth)
    assert almost_equal(figheight_c, figheight)
def test_full_spec_with_all(rows, columns, figwidth, figheight, hsep, vsep,
                            padleft, padright, padtop, padbottom, units):
    """Full specification with separation and padding."""
    assume(figwidth > padleft + (columns - 1) * hsep + padright)
    assume(figheight > padtop + (rows - 1) * vsep + padbottom)
    l = FigureSizeLocator(rows, columns,
                          figwidth=figwidth, figheight=figheight,
                          hsep=hsep, vsep=vsep,
                          padleft=padleft, padright=padright,
                          padtop=padtop, padbottom=padbottom, units=units)
    figwidth_c, figheight_c = l.figsize_in(units)
    assert almost_equal(figwidth_c, figwidth)
    assert almost_equal(figheight_c, figheight)
def test_width_spec_with_hsep(rows, columns, figwidth, hsep, units):
    """Width specification with horizontal separation."""
    assume(figwidth > hsep * (columns - 1))
    l = FigureSizeLocator(rows, columns, figwidth=figwidth, hsep=hsep,
                          units=units)
    figwidth_c, _ = l.figsize_in(units)
    assert almost_equal(figwidth_c, figwidth)
def test_width_spec_with_ratio(rows, columns, figwidth, panelratio, units):
    """Width specification with aspect ratio."""
    l = FigureSizeLocator(rows, columns, figwidth=figwidth,
                          panelratio=panelratio, units=units)
    _, figheight_c = l.figsize_in(units)
    assert almost_equal(figheight_c,
                        (figwidth * rows) / (panelratio * columns))
예제 #10
0
def test_width_spec_with_padright(rows, columns, figwidth, padright, units):
    """Width specification with right side padding."""
    assume(figwidth > padright)
    l = FigureSizeLocator(rows, columns, figwidth=figwidth, padright=padright,
                          units=units)
    figwidth_c, _ = l.figsize_in(units)
    assert almost_equal(figwidth_c, figwidth)
예제 #11
0
def test_height_spec_with_padtop(rows, columns, figheight, padtop, units):
    """Height specification with top edge padding."""
    assume(figheight > padtop)
    l = FigureSizeLocator(rows, columns, figheight=figheight, padtop=padtop,
                          units=units)
    _, figheight_c = l.figsize_in(units)
    assert almost_equal(figheight_c, figheight)
예제 #12
0
def test_height_spec_with_hsep_and_vsep(rows, columns, figheight, hsep, vsep,
                                        units):
    """Height specification with horizontal and vertical separation."""
    assume(figheight > vsep * (rows - 1))
    l = FigureSizeLocator(rows, columns, figheight=figheight,
                          hsep=hsep, vsep=vsep, units=units)
    _, figheight_c = l.figsize_in(units)
    assert almost_equal(figheight_c, figheight)
예제 #13
0
def test_height_spec_with_pad(rows, columns, figheight, padleft, padright,
                              padtop, padbottom, units):
    """Height specification with padding on all sides."""
    assume(figheight > padtop + padbottom)
    l = FigureSizeLocator(rows, columns, figheight=figheight, padleft=padleft,
                          padright=padright, padtop=padtop,
                          padbottom=padbottom, units=units)
    _, figheight_c = l.figsize_in(units)
    assert almost_equal(figheight_c, figheight)
예제 #14
0
def test_height_spec(rows, columns, figheight, units):
    """Height specification only."""
    l = FigureSizeLocator(rows, columns, figheight=figheight, units=units)
    _, figheight_c = l.figsize_in(units)
    assert almost_equal(figheight_c, figheight)
예제 #15
0
def test_width_spec(rows, columns, figwidth, units):
    """Width specification only."""
    l = FigureSizeLocator(rows, columns, figwidth=figwidth, units=units)
    figwidth_c, _ = l.figsize_in(units)
    assert almost_equal(figwidth_c, figwidth)
예제 #16
0
def test_width_spec_with_vsep(rows, columns, figwidth, vsep, units):
    """Width specification with vertical separation."""
    l = FigureSizeLocator(rows, columns, figwidth=figwidth, vsep=vsep,
                          units=units)
    figwidth_c, _ = l.figsize_in(units)
    assert almost_equal(figwidth_c, figwidth)
예제 #17
0
def test_height_spec_with_padright(rows, columns, figheight, padright, units):
    """Height specification with right side padding."""
    l = FigureSizeLocator(rows, columns, figheight=figheight, padright=padright,
                          units=units)
    _, figheight_c = l.figsize_in(units)
    assert almost_equal(figheight_c, figheight)
예제 #18
0
def test_height_spec_with_hsep(rows, columns, figheight, hsep, units):
    """Height specification with horizontal separation."""
    l = FigureSizeLocator(rows, columns, figheight=figheight, hsep=hsep,
                          units=units)
    _, figheight_c = l.figsize_in(units)
    assert almost_equal(figheight_c, figheight)
예제 #19
0
def test_height_spec_with_ratio(rows, columns, figheight, panelratio, units):
    """Height specification with aspect ratio."""
    l = FigureSizeLocator(rows, columns, figheight=figheight,
                          panelratio=panelratio, units=units)
    figwidth_c, _ = l.figsize_in(units)
    assert almost_equal(figwidth_c, columns * panelratio * figheight / rows)
예제 #20
0
def test_width_spec_with_padbottom(rows, columns, figwidth, padbottom, units):
    """Width specification with bottom edge padding."""
    l = FigureSizeLocator(rows, columns, figwidth=figwidth,
                          padbottom=padbottom, units=units)
    figwidth_c, _ = l.figsize_in(units)
    assert almost_equal(figwidth_c, figwidth)
예제 #21
0
def test_roundtrip(value, source_units, target_units):
    """Round-trip conversion should not change the value."""
    converted = convert_units(value, source_units, target_units)
    round_tripped = convert_units(converted, target_units, source_units)
    assert almost_equal(round_tripped, value)