Пример #1
0
def test_table_chars():
    data = []
    data.append({
        "total_misses": 10,
        "total_hits": 115,
        "who_cares": 42,
        "short_name": "short",
        "marketing_source": "The Best"
    })
    data.append({
        "total_misses": 150,
        "short_name": "A very long value goes here",
        "who_cares": 1977,
        "sometimes_name": "present and accounted for sir",
        "total_hits": 15,
        "marketing_source": "The Worst"
    })
    data.append({
        "total_misses": 20,
        "short_name": "Something",
        "who_cares": 1977,
        "sometimes_name": "Here",
        "total_hits": 10,
        "marketing_source": "Shorty"
    })

    tp = TablePrint()
    tph = TablePrintHeader()
    tp.set_column_char("!")
    tp.set_header_char("~")
    tp.set_joint_char("*")

    # Add headers in order from left to right
    tph.add("marketing_source", "Marketing Source")
    tph.add("total_hits", "Total Hits")
    tph.add("short_name", "Short Name")
    tph.add("missing_name", "Missing Name")
    tph.add("sometimes_name", "Sometimes Name")

    print("\nTest Table Chars results:\n")
    tp.set_data(data, tph)
    tp.display_table()
Пример #2
0
def test_iter():
    data = []
    data.append({
        "total_misses": 10,
        "total_hits": 115,
        "who_cares": 42,
        "short_name": "short",
        "marketing_source": "The Best"
    })
    data.append({
        "total_misses": 150,
        "short_name": "A very long value goes here",
        "who_cares": 1977,
        "sometimes_name": "present and accounted for sir",
        "total_hits": 15,
        "marketing_source": "The Worst"
    })
    data.append({
        "total_misses": 20,
        "short_name": "Something",
        "who_cares": 1977,
        "sometimes_name": "Here",
        "total_hits": 10,
        "marketing_source": "Shorty"
    })

    tp = TablePrint()
    tph = TablePrintHeader()

    # Add headers in order from left to right
    tph.add("marketing_source", "Marketing Source")
    tph.add("total_hits", "Total Hits")
    tph.add("short_name", "Short Name")
    tph.add("missing_name", "Missing Name")
    tph.add("sometimes_name", "Sometimes Name")

    print("\nTest table iterator results:\n")
    tp.set_data(data, tph)
    for row in tp:
        print(row)
Пример #3
0
def test_right():
    data = []
    data.append({
        "total_misses": 11,
        "total_hits": 116,
        "who_cares": 42,
        "short_name": "short",
        "marketing_source": "The Best"
    })
    data.append({
        "total_misses": 151,
        "short_name": "A very long value goes here",
        "who_cares": 1978,
        "sometimes_name": "present and accounted for sir",
        "total_hits": 16,
        "marketing_source": "The Worst"
    })
    data.append({
        "total_misses": 20,
        "short_name": "Something",
        "who_cares": 1977,
        "sometimes_name": "Here",
        "total_hits": 10,
        "marketing_source": "Shorty"
    })

    tp = TablePrint()
    tph = TablePrintHeader()

    # Add headers in order from left to right
    tph.add("marketing_source", "Marketing Source", "right", "right")
    tph.add("total_hits", "Right Hits", "right", "right")
    tph.add("short_name", "Short Name", "right", "right")
    tph.add("missing_name", "Missing Name")
    tph.add("sometimes_name", "Sometimes Name", "right", "right")

    print("\nTest right results:\n")
    tp.print_table(data, tph)
Пример #4
0
 def test_header_defaults(self):
     index = 0
     header_key = ["header_1", "header_2", "header_3"]
     header_val = ["Header 1", "Header 2", "Header 3"]
     tph = TablePrintHeader()
     tph.add(header_key[0], header_val[0])
     tph.add(header_key[1], header_val[1])
     tph.add(header_key[2], header_val[2])
     for header in tph:
         self.assertEqual(header["key"], header_key[index])
         self.assertEqual(header["column_name"], header_val[index])
         self.assertEqual(header["header_align"], "center")
         self.assertEqual(header["column_align"], "center")
         index += 1
Пример #5
0
 def test_header_mixed(self):
     index = 0
     header_key = [
         "header_1", "header_2", "header_3", "header_4", "header_5",
         "header_6"
     ]
     header_val = [
         "Header 1", "Header 2", "Header 3", "Header 4", "Header 5",
         "Header 6"
     ]
     header_align = ["center", "left", "right", "left", "right", "center"]
     column_align = ["left", "right", "left", "center", "center", "right"]
     tph = TablePrintHeader()
     tph.add(header_key[0], header_val[0], header_align[0].capitalize(),
             column_align[0].lower())
     tph.add(header_key[1], header_val[1], header_align[1].lower(),
             column_align[1].capitalize())
     tph.add(header_key[2], header_val[2], header_align[2].capitalize(),
             column_align[2].capitalize())
     tph.add(header_key[3], header_val[3], header_align[3].lower(),
             column_align[3].lower())
     tph.add(header_key[4], header_val[4], header_align[4].upper(),
             column_align[4].lower())
     tph.add(header_key[5], header_val[5], header_align[5].lower(),
             column_align[5].upper())
     for header in tph:
         self.assertEqual(header["key"], header_key[index])
         self.assertEqual(header["column_name"], header_val[index])
         self.assertEqual(header["header_align"],
                          header_align[index].lower())
         self.assertEqual(header["column_align"],
                          column_align[index].lower())
         index += 1
Пример #6
0
 def header_tester(self, align):
     index = 0
     header_key = [
         "header_1", "header_2", "header_3", "header_4", "header_5",
         "header_6"
     ]
     header_val = [
         "Header 1", "Header 2", "Header 3", "Header 4", "Header 5",
         "Header 6"
     ]
     tph = TablePrintHeader()
     tph.add(header_key[0], header_val[0], align.capitalize(),
             align.lower())
     tph.add(header_key[1], header_val[1], align.lower(),
             align.capitalize())
     tph.add(header_key[2], header_val[2], align.capitalize(),
             align.capitalize())
     tph.add(header_key[3], header_val[3], align.lower(), align.lower())
     tph.add(header_key[4], header_val[4], align.upper(), align.lower())
     tph.add(header_key[5], header_val[5], align.lower(), align.upper())
     for header in tph:
         self.assertEqual(header["key"], header_key[index])
         self.assertEqual(header["column_name"], header_val[index])
         self.assertEqual(header["header_align"], align.lower())
         self.assertEqual(header["column_align"], align.lower())
         index += 1
Пример #7
0
def test_table_dict():
    data = []
    data.append({
        "misses": 10,
        "hits": 115,
        "villan": {
            "name": "Freddy",
            "age": 40
        },
        "director": {
            "name": "Craven",
            "sequels": {
                "first": {
                    "name": "Seq1",
                    "year": 1985
                }
            }
        },
        "victim": {
            "name": "Mary",
            "age": 20
        },
        "short_name": "short"
    })
    data.append({
        "misses": 150,
        "director": {
            "name": "Carpenter",
            "sequels": {
                "first": {
                    "name": "Sq1",
                    "fans": {
                        "name": "mike, one"
                        " eyed pirate"
                    }
                }
            }
        },
        "short_name": "A very long value goes here",
        "villan": {
            "name": "Jason",
            "age": 30
        },
        "sometimes_name": "present and accounted for sir",
        "hits": 15
    })
    data.append({
        "misses": 20,
        "short_name": "Something",
        "sometimes_name": "Here",
        "hits": 10,
        "director": {
            "name": "Donner",
            "sequels": {
                "first": {
                    "name": "Sq1",
                    "year": 1987,
                    "fans": {
                        "name": "dave"
                    }
                }
            }
        },
        "victim": {
            "name": "Jane",
            "age": 25
        }
    })

    tp = TablePrint()
    tph = TablePrintHeader()

    # Add headers in order from left to right
    tph.add("hits", "Total Hits")
    tph.add("villan:name", "Villan Name")
    tph.add("misses", "Total Misses")
    tph.add("short_name", "Short Name")
    tph.add("victim:age", "Victim Age")
    tph.add("victim:not_here", "Victim Not Here")
    tph.add("director:sequels:first:year", "Sequel Year")
    tph.add("director:sequels:first:fans:name", "Fan Name")

    print("\nTest dictionary entry results:\n")
    tp.print_table(data, tph)