Beispiel #1
0
def test_horizontal() -> None:
    """
    A test for the flip_horizontal filter.
    
    *written by Nathan MacDiarmid*
    
    >>> test_horizontal()
    """
    print('=============================')
    print('      TESTING HORIZONTAL     ')
    print('=============================')

    original = create_image(1, 6)
    set_color(original, 0, 0, create_color(0, 0, 0))
    set_color(original, 0, 1, create_color(127, 127, 127))
    set_color(original, 0, 2, create_color(56, 66, 32))
    set_color(original, 0, 3, create_color(150, 177, 132))
    set_color(original, 0, 4, create_color(200, 199, 255))
    set_color(original, 0, 5, create_color(255, 255, 255))

    expected = create_image(1, 6)
    set_color(expected, 0, 0, create_color(255, 255, 255))
    set_color(expected, 0, 1, create_color(200, 199, 255))
    set_color(expected, 0, 2, create_color(150, 177, 132))
    set_color(expected, 0, 3, create_color(56, 66, 32))
    set_color(expected, 0, 4, create_color(127, 127, 127))
    set_color(expected, 0, 5, create_color(0, 0, 0))

    new_horizontal = T.flip_horizontal(original)
    for x, y, col in new_horizontal:
        check_equal('Checking pixel @(' + str(x) + ', ' + str(y) + ')', col,
                    get_color(expected, x, y))
Beispiel #2
0
def test_blue() -> None:
    '''A test function for the blue_channel filter.
    
    written by Yahya Shah.

    >>>test_blue()
    '''
    print('=============================')
    print('     TESTING BLUE FILTER     ')
    print('=============================')

    original = create_image(6, 1)
    set_color(original, 0, 0, create_color(0, 0, 0))
    set_color(original, 1, 0, create_color(255, 0, 0))
    set_color(original, 2, 0, create_color(0, 255, 0))
    set_color(original, 3, 0, create_color(0, 0, 255))
    set_color(original, 4, 0, create_color(127, 127, 127))
    set_color(original, 5, 0, create_color(255, 255, 255))

    expected = create_image(6, 1)
    set_color(expected, 0, 0, create_color(0, 0, 0))
    set_color(expected, 1, 0, create_color(0, 0, 0))
    set_color(expected, 2, 0, create_color(0, 0, 0))
    set_color(expected, 3, 0, create_color(0, 0, 255))
    set_color(expected, 4, 0, create_color(0, 0, 127))
    set_color(expected, 5, 0, create_color(0, 0, 255))

    bluescale = T.blue_channel(original)
    for x, y, col in bluescale:
        check_equal('Checking pixel @(' + str(x) + ', ' + str(y) + ')', col,
                    get_color(expected, x, y))
Beispiel #3
0
def test_vertical() -> None:
    """
    A test for the flip_vertical filter.
    
    Author: Yahya Shah
    
    >>> test_vertical()
    """
    print('=============================')
    print('       TESTING VERTICAL      ')
    print('=============================')

    original = create_image(6, 1)
    set_color(original, 0, 0, create_color(0, 0, 0))
    set_color(original, 1, 0, create_color(127, 127, 127))
    set_color(original, 2, 0, create_color(56, 66, 32))
    set_color(original, 3, 0, create_color(150, 177, 132))
    set_color(original, 4, 0, create_color(200, 199, 255))
    set_color(original, 5, 0, create_color(255, 255, 255))

    expected = create_image(6, 1)
    set_color(expected, 0, 0, create_color(255, 255, 255))
    set_color(expected, 1, 0, create_color(200, 199, 255))
    set_color(expected, 2, 0, create_color(150, 177, 132))
    set_color(expected, 3, 0, create_color(56, 66, 32))
    set_color(expected, 4, 0, create_color(127, 127, 127))
    set_color(expected, 5, 0, create_color(0, 0, 0))

    vert = T.flip_vertical(original)
    for x, y, col in vert:
        check_equal('Checking pixel @(' + str(x) + ', ' + str(y) + ')', col,
                    get_color(expected, x, y))
Beispiel #4
0
def test_green() -> None:
    '''A test function for the green_channel filter.
    
    written by Nathan MacDiarmid.

    >>>test_green()
    '''
    print('=============================')
    print('     TESTING GREEN FILTER    ')
    print('=============================')

    original = create_image(6, 1)
    set_color(original, 0, 0, create_color(0, 0, 0))
    set_color(original, 1, 0, create_color(255, 0, 0))
    set_color(original, 2, 0, create_color(0, 255, 0))
    set_color(original, 3, 0, create_color(0, 0, 255))
    set_color(original, 4, 0, create_color(127, 127, 127))
    set_color(original, 5, 0, create_color(255, 255, 255))

    expected = create_image(6, 1)
    set_color(expected, 0, 0, create_color(0, 0, 0))
    set_color(expected, 1, 0, create_color(0, 0, 0))
    set_color(expected, 2, 0, create_color(0, 255, 0))
    set_color(expected, 3, 0, create_color(0, 0, 0))
    set_color(expected, 4, 0, create_color(0, 127, 0))
    set_color(expected, 5, 0, create_color(0, 255, 0))

    greenscale = T.green_channel(original)
    for x, y, col in greenscale:
        check_equal('Checking pixel @(' + str(x) + ', ' + str(y) + ')', col,
                    get_color(expected, x, y))
Beispiel #5
0
def test_detect_edges() -> None:
    """A test function for the detect_edges filter.
    
    Author: Anita Ntomchukwu
    
    >>>test_detect_edges()
    """

    print('=============================')
    print('    TESTING EDGE DETECTION   ')
    print('=============================')

    original = create_image(1, 6)
    set_color(original, 0, 0, create_color(23, 34, 26))
    set_color(original, 0, 1, create_color(36, 52, 21))
    set_color(original, 0, 2, create_color(16, 10, 52))
    set_color(original, 0, 3, create_color(96, 79, 42))
    set_color(original, 0, 4, create_color(127, 225, 255))
    set_color(original, 0, 5, create_color(80, 200, 160))

    expected = create_image(1, 6)
    set_color(expected, 0, 0, create_color(0, 0, 0))
    set_color(expected, 0, 1, create_color(0, 0, 0))
    set_color(expected, 0, 2, create_color(0, 0, 0))
    set_color(expected, 0, 3, create_color(0, 0, 0))
    set_color(expected, 0, 4, create_color(0, 0, 0))
    set_color(expected, 0, 5, create_color(255, 255, 255))

    detect_edges_image = T.detect_edges(original, 5)
    for x, y, col in detect_edges_image:
        check_equal('Checking pixel @(' + str(x) + ', ' + str(y) + ')', col,
                    get_color(expected, x, y))
Beispiel #6
0
def test_sepia() -> None:
    """
    A test function for the sepia filter.
    
    *written by Nathan MacDiarmid*
    
    >>> test_sepia()
    """
    print('=============================')
    print('        TESTING SEPIA        ')
    print('=============================')

    original = create_image(6, 1)
    set_color(original, 0, 0, create_color(0, 0, 0))
    set_color(original, 1, 0, create_color(127, 127, 127))
    set_color(original, 2, 0, create_color(56, 66, 32))
    set_color(original, 3, 0, create_color(150, 177, 132))
    set_color(original, 4, 0, create_color(200, 199, 255))
    set_color(original, 5, 0, create_color(255, 255, 255))

    expected = create_image(6, 1)
    set_color(expected, 0, 0, create_color(0, 0, 0))
    set_color(expected, 1, 0, create_color(146, 127, 107))
    set_color(expected, 2, 0, create_color(56, 51, 45))
    set_color(expected, 3, 0, create_color(175, 153, 130))
    set_color(expected, 4, 0, create_color(235, 218, 202))
    set_color(expected, 5, 0, create_color(255, 255, 237))

    new_sepia = T.sepia(original)
    for x, y, col in new_sepia:
        check_equal('Checking pixel @(' + str(x) + ', ' + str(y) + ')', col,
                    get_color(expected, x, y))
Beispiel #7
0
def test_posterize() -> None:
    """A test function for the posterize filter.

    Author: Anita Ntomchukwu

    >>>test_posterize()
    """

    print('=============================')
    print('      TESTING POSTERIZE      ')
    print('=============================')

    original = create_image(6, 1)
    set_color(original, 0, 0, create_color(72, 240, 0))
    set_color(original, 1, 0, create_color(80, 127, 255))
    set_color(original, 2, 0, create_color(255, 255, 255))
    set_color(original, 3, 0, create_color(117, 111, 123))
    set_color(original, 4, 0, create_color(33, 72, 66))
    set_color(original, 5, 0, create_color(202, 152, 247))

    expected = create_image(6, 1)
    set_color(expected, 0, 0, create_color(95, 223, 31))
    set_color(expected, 1, 0, create_color(95, 95, 223))
    set_color(expected, 2, 0, create_color(223, 223, 223))
    set_color(expected, 3, 0, create_color(95, 95, 95))
    set_color(expected, 4, 0, create_color(31, 95, 95))
    set_color(expected, 5, 0, create_color(223, 159, 223))

    posterize_image = T.posterize(original)
    for x, y, col in posterize_image:
        check_equal('Checking pixel @(' + str(x) + ', ' + str(y) + ')', col,
                    get_color(expected, x, y))
Beispiel #8
0
def test_red() -> None:
    '''A test function for the red_channel filter.

    *written by Sam Hurd*
    
    >>>test_red()
    '''
    print('=============================')
    print('      TESTING RED FILTER     ')
    print('=============================')

    original = create_image(6, 1)
    set_color(original, 0, 0, create_color(0, 0, 0))
    set_color(original, 1, 0, create_color(255, 0, 0))
    set_color(original, 2, 0, create_color(0, 255, 0))
    set_color(original, 3, 0, create_color(0, 0, 255))
    set_color(original, 4, 0, create_color(127, 127, 127))
    set_color(original, 5, 0, create_color(255, 255, 255))

    expected = create_image(6, 1)
    set_color(expected, 0, 0, create_color(0, 0, 0))
    set_color(expected, 1, 0, create_color(255, 0, 0))
    set_color(expected, 2, 0, create_color(0, 0, 0))
    set_color(expected, 3, 0, create_color(0, 0, 0))
    set_color(expected, 4, 0, create_color(127, 0, 0))
    set_color(expected, 5, 0, create_color(255, 0, 0))

    red = T.red_channel(original)
    for x, y, col in red:
        check_equal('Checking pixel @(' + str(x) + ', ' + str(y) + ')', col,
                    get_color(expected, x, y))
Beispiel #9
0
def test_extreme_contrast() -> None:
    '''A test function for the extreme contrast filter.

    *written by Sam Hurd*
    
    >>>test_extreme_contrast()
    '''
    print('=============================')
    print('   TESTING EXTREME CONTRAST  ')
    print('=============================')

    original = create_image(6, 1)
    set_color(original, 0, 0, create_color(0, 0, 0))
    set_color(original, 1, 0, create_color(255, 127, 129))
    set_color(original, 2, 0, create_color(0, 255, 0))
    set_color(original, 3, 0, create_color(128, 128, 128))
    set_color(original, 4, 0, create_color(127, 127, 127))
    set_color(original, 5, 0, create_color(255, 255, 255))

    expected = create_image(6, 1)
    set_color(expected, 0, 0, create_color(0, 0, 0))
    set_color(expected, 1, 0, create_color(255, 0, 255))
    set_color(expected, 2, 0, create_color(0, 255, 0))
    set_color(expected, 3, 0, create_color(255, 255, 255))
    set_color(expected, 4, 0, create_color(0, 0, 0))
    set_color(expected, 5, 0, create_color(255, 255, 255))

    extreme_contrast_image = T.extreme_contrast(original)
    for x, y, col in extreme_contrast_image:
        check_equal('Checking pixel @(' + str(x) + ', ' + str(y) + ')', col,
                    get_color(expected, x, y))
def test_extreme() -> None:
    """A test function for extreme contrast.
    -Test function written by Leanne Matamoros - 101147405
    
    >>> test_extreme()
    Checking pixel @(0, 0) PASSED
    ------
    Checking pixel @(1, 0) PASSED
    ------
    Checking pixel @(2, 0) PASSED
    ------
    Checking pixel @(3, 0) PASSED
    ------
    Checking pixel @(4, 0) PASSED
    ------
    Checking pixel @(5, 0) PASSED
    ------
    
    >>> test_extreme()
    Checking pixel @(0, 0) PASSED
    ------
    Checking pixel @(1, 0) PASSED
    ------
    Checking pixel @(2, 0) PASSED
    ------
    Checking pixel @(3, 0) FAILED: expected Color(red=0, green=0, blue=255), got Color(red=0, green=0, blue=25)
    ------
    Checking pixel @(4, 0) PASSED
    ------
    Checking pixel @(5, 0) PASSED
    ------
    """
    original = create_image(6, 1)
    set_color(original, 0, 0, create_color(0, 0, 0))
    set_color(original, 1, 0, create_color(0, 0, 1))
    set_color(original, 2, 0, create_color(127, 127, 127))
    set_color(original, 3, 0, create_color(125, 73, 224))
    set_color(original, 4, 0, create_color(254, 255, 255))
    set_color(original, 5, 0, create_color(255, 255, 255))

    expected = create_image(6, 1)
    set_color(expected, 0, 0, create_color(0, 255, 0))
    set_color(expected, 1, 0, create_color(0, 0, 0))
    set_color(expected, 2, 0, create_color(0, 0, 0))
    set_color(expected, 3, 0, create_color(0, 0, 255))
    set_color(expected, 4, 0, create_color(255, 255, 255))
    set_color(expected, 5, 0, create_color(255, 255, 255))

    extreme_image = extreme_contrast(original)
    for x, y, col in extreme_image:
        check_equal('Checking pixel @(' + str(x) + ', ' + str(y) + ')', col,
                    get_color(expected, x, y))
Beispiel #11
0
def test_combine() -> None:
    '''A test function for the combine filter.
    
    written by Anita Ntomchukwu.

    >>>test_combine()
    '''
    print('=============================')
    print('      TESTING COMBINE        ')
    print('=============================')

    original1 = create_image(6, 1)
    set_color(original1, 0, 0, create_color(0, 0, 0))
    set_color(original1, 1, 0, create_color(255, 0, 0))
    set_color(original1, 2, 0, create_color(0, 0, 0))
    set_color(original1, 3, 0, create_color(0, 0, 0))
    set_color(original1, 4, 0, create_color(127, 0, 0))
    set_color(original1, 5, 0, create_color(255, 0, 0))

    original2 = create_image(6, 1)
    set_color(original2, 0, 0, create_color(0, 0, 0))
    set_color(original2, 1, 0, create_color(0, 0, 0))
    set_color(original2, 2, 0, create_color(0, 255, 0))
    set_color(original2, 3, 0, create_color(0, 0, 0))
    set_color(original2, 4, 0, create_color(0, 127, 0))
    set_color(original2, 5, 0, create_color(0, 255, 0))

    original3 = create_image(6, 1)
    set_color(original3, 0, 0, create_color(0, 0, 0))
    set_color(original3, 1, 0, create_color(0, 0, 0))
    set_color(original3, 2, 0, create_color(0, 0, 0))
    set_color(original3, 3, 0, create_color(0, 0, 255))
    set_color(original3, 4, 0, create_color(0, 0, 127))
    set_color(original3, 5, 0, create_color(0, 0, 255))

    expected = create_image(6, 1)
    set_color(expected, 0, 0, create_color(0, 0, 0))
    set_color(expected, 1, 0, create_color(255, 0, 0))
    set_color(expected, 2, 0, create_color(0, 255, 0))
    set_color(expected, 3, 0, create_color(0, 0, 255))
    set_color(expected, 4, 0, create_color(127, 127, 127))
    set_color(expected, 5, 0, create_color(255, 255, 255))

    combined = T.combine(original1, original2, original3)
    for x, y, col in combined:
        check_equal('Checking pixel @(' + str(x) + ', ' + str(y) + ')', col,
                    get_color(expected, x, y))
def test_detect_edges():
    '''print PASSED if the sample image matches the expected image, print FAILED if the sample imgae does not match the expected image
    '''
    sample = create_image(2, 2)
    set_color(sample, 0, 0, create_color(1, 2, 3))
    set_color(sample, 1, 0, create_color(62, 62, 62))
    set_color(sample, 0, 1, create_color(63, 63, 63))
    set_color(sample, 1, 1, create_color(63, 63, 63))

    expected = create_image(2, 2)
    set_color(expected, 0, 0, create_color(0, 0, 0))
    set_color(expected, 1, 0, create_color(255, 255, 255))
    set_color(expected, 0, 1, create_color(255, 255, 255))
    set_color(expected, 1, 1, create_color(255, 255, 255))

    image = detect_edges_better(sample, 6)
    for x, y, col in image:
        check_equal('Checking pixel @(' + str(x) + ', ' + str(y) + ')', col,
                    get_color(expected, x, y))
def test_sepia():

    original = create_image(6, 1)
    set_color(original, 0, 0, create_color(0, 0, 0))
    set_color(original, 1, 0, create_color(62, 62, 62))
    set_color(original, 2, 0, create_color(63, 63, 63))
    set_color(original, 3, 0, create_color(191, 191, 191))
    set_color(original, 4, 0, create_color(192, 192, 192))
    set_color(original, 5, 0, create_color(255, 255, 255))

    expected = create_image(6, 1)
    set_color(expected, 0, 0, create_color(0, 0, 0))
    set_color(expected, 1, 0, create_color(62 * 1.1, 62, 62 * 0.9))
    set_color(expected, 2, 0, create_color(63 * 1.15, 63, 63 * 0.85))
    set_color(expected, 3, 0, create_color(191 * 1.15, 191, 191 * 0.85))
    set_color(expected, 4, 0, create_color(192 * 1.08, 192, 192 * 0.93))
    set_color(expected, 5, 0, create_color(255 * 1.08, 255, 255 * 0.93))

    sepia_tint = tinting(original)
    for x, y, col in sepia_tint:

        check_equal('Checking pixel @(' + str(x) + ', ' + str(y) + ')', col,
                    get_color(expected, x, y))
Beispiel #14
0
def test_detect_edges_better() -> None:
    '''A test function for the detect edges better filter.

    *written by Sam Hurd*
    
    >>>test_detect_edges_better()
    '''

    print('===============================')
    print('TESTING IMPROVED EDGE DETECTION')
    print('===============================')

    print('===============================')
    print('            TEST 1             ')
    print('===============================')

    original = create_image(6, 1)
    set_color(original, 0, 0, create_color(0, 0, 0))
    set_color(original, 1, 0, create_color(255, 127, 129))
    set_color(original, 2, 0, create_color(0, 255, 0))
    set_color(original, 3, 0, create_color(128, 128, 128))
    set_color(original, 4, 0, create_color(127, 127, 127))
    set_color(original, 5, 0, create_color(255, 255, 255))

    expected = create_image(6, 1)
    set_color(expected, 0, 0, create_color(0, 0, 0))
    set_color(expected, 1, 0, create_color(0, 0, 0))
    set_color(expected, 2, 0, create_color(0, 0, 0))
    set_color(expected, 3, 0, create_color(255, 255, 255))
    set_color(expected, 4, 0, create_color(0, 0, 0))
    set_color(expected, 5, 0, create_color(255, 255, 255))

    detect_edges_better_image = T.detect_edges_better(original, 5)
    for x, y, col in detect_edges_better_image:
        check_equal('Checking pixel @(' + str(x) + ', ' + str(y) + ')', col,
                    get_color(expected, x, y))

    print('===============================')
    print('            TEST 2             ')
    print('===============================')

    original2 = create_image(1, 6)
    set_color(original2, 0, 0, create_color(0, 0, 0))
    set_color(original2, 0, 1, create_color(255, 127, 129))
    set_color(original2, 0, 2, create_color(0, 255, 0))
    set_color(original2, 0, 3, create_color(128, 128, 128))
    set_color(original2, 0, 4, create_color(127, 127, 127))
    set_color(original2, 0, 5, create_color(255, 255, 255))

    expected2 = create_image(1, 6)
    set_color(expected2, 0, 0, create_color(0, 0, 0))
    set_color(expected2, 0, 1, create_color(0, 0, 0))
    set_color(expected2, 0, 2, create_color(0, 0, 0))
    set_color(expected2, 0, 3, create_color(255, 255, 255))
    set_color(expected2, 0, 4, create_color(0, 0, 0))
    set_color(expected2, 0, 5, create_color(255, 255, 255))

    detect_edges_better_image = T.detect_edges_better(original2, 5)
    for x, y, col in detect_edges_better_image:
        check_equal('Checking pixel @(' + str(x) + ', ' + str(y) + ')', col,
                    get_color(expected2, x, y))
Beispiel #15
0
def test_three_tone() -> None:
    '''A test function for the three_tone filter.
    
    Author: Yahya Shah

    >>>test_three_tone()
    '''

    print('=============================')
    print('      TESTING THREE TONE     ')
    print('=============================')

    print('=============================')
    print('            TEST 1           ')
    print('=============================')

    original = create_image(3, 1)
    set_color(original, 0, 0, create_color(0, 0, 0))
    set_color(original, 1, 0, create_color(127, 127, 127))
    set_color(original, 2, 0, create_color(255, 255, 255))

    expected = create_image(3, 1)
    set_color(expected, 0, 0, create_color(0, 0, 255))
    set_color(expected, 1, 0, create_color(255, 0, 0))
    set_color(expected, 2, 0, create_color(0, 0, 0))

    two = T.three_tone(original, 'blue', 'red', 'black')
    for x, y, col in two:
        check_equal('Checking pixel @(' + str(x) + ', ' + str(y) + ')', col,
                    get_color(expected, x, y))

    print('=============================')
    print('            TEST 2           ')
    print('=============================')

    original = create_image(3, 1)
    set_color(original, 0, 0, create_color(0, 0, 0))
    set_color(original, 1, 0, create_color(127, 127, 127))
    set_color(original, 2, 0, create_color(255, 255, 255))

    expected = create_image(3, 1)
    set_color(expected, 0, 0, create_color(0, 255, 0))
    set_color(expected, 1, 0, create_color(0, 255, 255))
    set_color(expected, 2, 0, create_color(255, 255, 0))

    two = T.three_tone(original, 'lime', 'cyan', 'yellow')
    for x, y, col in two:
        check_equal('Checking pixel @(' + str(x) + ', ' + str(y) + ')', col,
                    get_color(expected, x, y))

    print('=============================')
    print('            TEST 3           ')
    print('=============================')

    original = create_image(3, 1)
    set_color(original, 0, 0, create_color(0, 0, 0))
    set_color(original, 1, 0, create_color(127, 127, 127))
    set_color(original, 2, 0, create_color(255, 255, 255))

    expected = create_image(3, 1)
    set_color(expected, 0, 0, create_color(255, 0, 255))
    set_color(expected, 1, 0, create_color(128, 128, 128))
    set_color(expected, 2, 0, create_color(255, 255, 255))

    two = T.three_tone(original, 'magenta', 'gray', 'white')
    for x, y, col in two:
        check_equal('Checking pixel @(' + str(x) + ', ' + str(y) + ')', col,
                    get_color(expected, x, y))