################################################################################

''' Helper Function: Make 2D List '''

def make2dList(rows, cols, defaultValue=None):
    a=[]
    for row in range(rows):
        a.append([defaultValue]*cols)
    return a


''' Alternating Sum '''

def alternatingSum(L):
    pass


''' Multiplication Table '''

def createMultiplicationTable(n):
    pass


################################################################################
''' Test Functions '''

def testAlternatingSum():
    print("Testing alternatingSum()...", end="")
    assert(alternatingSum([5,3,8,4]) == 6)
    assert(alternatingSum([]) == 0)
    assert(alternatingSum([12,7,2,18,13,9]) == -7)
    print("... done!")

seven_by_seven =    [
                        [1,2,3,4,5,6,7],
                        [2,4,6,8,10,12,14],
                        [3,6,9,12,15,18,21],
                        [4,8,12,16,20,24,28],
                        [5,10,15,20,25,30,35],
                        [6,12,18,24,30,36,42],
                        [7,14,21,28,35,42,49]
                    ]

def testCreateMultiplicationTable():
    print("Testing createMultiplicationTable()...", end="")
    assert(createMultiplicationTable(0) == [])
    assert(createMultiplicationTable(7) == seven_by_seven)
    print("... done!")

def testAll():
    testAlternatingSum()
    testCreateMultiplicationTable()

testAll()