Exemple #1
0
def test_gradient_update_before_first_stop_works():
    gr = ColorGradient([(.5, (255, 0, 0))])

    gr[.3] = (0, 255, 0)

    assert gr[1] == Color((255, 0, 0))
    assert gr[.5] == Color((255, 0, 0))
    assert gr[.3] == Color((0, 255, 0))
    assert gr[0] == Color((0, 255, 0))
    assert gr[.4] == Color((.5, .5, 0))
Exemple #2
0
def test_gradient_update_after_last_stop_works():
    gr = ColorGradient([(.5, (255, 0, 0))])

    gr[.7] = (0, 255, 0)

    assert gr[0] == Color((255, 0, 0))
    assert gr[.5] == Color((255, 0, 0))
    assert gr[.7] == Color((0, 255, 0))
    assert gr[1] == Color((0, 255, 0))
    assert gr[.6] == Color((.5, .5, 0))
Exemple #3
0
def test_gradient_works():
    gr = ColorGradient([(0, (0, 0, 0)), (1, (
        1,
        1,
        1,
    ))])

    assert isinstance(gr[0], Color)
    assert gr[0] == Color((0, 0, 0))
    assert gr[1] == Color((1, 1, 1))
    assert gr[.5] == Color((0.5, 0.5, 0.5))
Exemple #4
0
def test_gradient_can_be_updated_with_new_points():
    gr = ColorGradient([(0, (0, 0, 0)), (1, (
        1,
        1,
        1,
    ))])

    assert gr[.5] == Color((0.5, 0.5, 0.5))
    gr[.5] = (0, 255, 0)

    assert gr[.5] == Color((0, 255, 0))
    assert gr[.25] == Color((0, .5, 0))
Exemple #5
0
def test_gradient_can_be_updated_with_point_just_before():
    # Todo: add an "add_stop" method
    gr = ColorGradient([(0, (0, 0, 0)), (1, (
        1,
        1,
        1,
    ))])

    assert gr[.5] == Color((0.5, 0.5, 0.5))
    gr[.5] = (0, 255, 0)

    gr[.5 - EPSILON] = (255, 0, 0)

    assert gr[.5] == Color((0, 255, 0))
    assert gr[.4999] == Color((254, 0, 0))
Exemple #6
0
def test_gradient_can_be_updated_replacing_points():
    # Todo: add an "add_stop" method
    gr = ColorGradient([(0, (0, 0, 0)), (1, (
        1,
        1,
        1,
    ))])

    assert gr[.5] == Color((0.5, 0.5, 0.5))
    gr[.5] = (0, 255, 0)

    assert gr[.5] == Color((0, 255, 0))
    gr[.5] = (255, 0, 0)

    assert gr[.5] == Color((255, 0, 0))
    assert gr[.25] == Color((.5, 0, 0))
Exemple #7
0
def main(text, position, size, color, clear, font):
    """Terminedia example for rendering large text characters
    """
    position = literal_eval(f"({position})")
    if color == "default":
        color = DEFAULT_FG
    else:
        color = Color(
            literal_eval(f"({color})") if color.count(",") >= 2 else color)
    if size.isdigit():
        size = int(size)
    elif size == "square":
        size = (8, 4)
    with Screen(clear_screen=clear) as sc:
        sc.context.color = color
        sc.context.font = font
        sc.text[size].at(position, text)
        pause()
Exemple #8
0
def test_gradient_scaled_can_set_new_color():
    gr = ColorGradient([(0, (0, 0, 0)), (1, (
        1,
        1,
        1,
    ))])
    gr_10 = gr.scale(10)
    gr_10[5] = (255, 0, 0)

    assert gr[0.5] == Color((255, 0, 0))
Exemple #9
0
def test_gradient_scalling_works():
    gr = ColorGradient([(0, (0, 0, 0)), (1, (
        1,
        1,
        1,
    ))])
    gr_10 = gr.scale(10)
    gr_100 = gr.scale(100)

    assert gr_10[0] == Color((0, 0, 0))
    assert gr_10[10] == Color((1, 1, 1))
    assert gr_10[5] == Color((0.5, 0.5, 0.5))
    assert gr[1] == Color((1, 1, 1))
    assert gr_10.parent is gr

    assert gr_100[0] == Color((0, 0, 0))
    assert gr_100[100] == Color((1, 1, 1))
    assert gr_100[50] == Color((0.5, 0.5, 0.5))
    assert gr_100.parent is gr
Exemple #10
0
def test_gradient_with_single_stop_works_before_stop():
    gr = ColorGradient([(.5, (255, 0, 0))])
    assert gr[0] == Color((255, 0, 0))
    assert gr[.5] == Color((255, 0, 0))
    assert gr[1] == Color((255, 0, 0))