Пример #1
0
def test_parse():
    global data
    data = parse(TESTDATA)
    assert data == [
        35,
        20,
        15,
        25,
        47,
        40,
        62,
        55,
        65,
        95,
        102,
        117,
        150,
        182,
        127,
        219,
        299,
        277,
        309,
        576,
    ]
Пример #2
0
def test_parse():
    global data
    data = parse(TESTDATA)
    assert data == (
        {
            "dairy": {"mxmxvkd"},
            "fish": {"mxmxvkd", "sqjhc"},
            "soy": {"sqjhc", "fvjkl"},
        },
        [
            "mxmxvkd",
            "kfcds",
            "sqjhc",
            "nhms",
            "trh",
            "fvjkl",
            "sbzzf",
            "mxmxvkd",
            "sqjhc",
            "fvjkl",
            "sqjhc",
            "mxmxvkd",
            "sbzzf",
        ],
    )
Пример #3
0
def test_parse():
    global data
    data = parse(TESTDATA)
    assert data == [
        (1, 3, "a", "abcde"),
        (1, 3, "b", "cdefg"),
        (2, 9, "c", "ccccccccc"),
    ]
Пример #4
0
def test_parse():
    global data
    data = parse(TESTDATA)
    assert data == [
        "mask = XXXXXXXXXXXXXXXXXXXXXXXXXXXXX1XXXX0X",
        "mem[8] = 11",
        "mem[7] = 101",
        "mem[8] = 0",
    ]
Пример #5
0
def test_parse():
    global data
    data = parse(TESTDATA)
    assert data == [
        "FBFBBFFRLR",
        "BFFFBBFRRR",
        "FFFBBBFRRR",
        "BBFFBBFRLL",
    ]
Пример #6
0
def test_parse():
    global data
    data = parse(TESTDATA)
    assert data == [
        ["F", 10],
        ["N", 3],
        ["F", 7],
        ["R", 90],
        ["F", 11],
    ]
Пример #7
0
def test_solve2():
    NEWDATA = """
mask = 000000000000000000000000000000X1001X
mem[42] = 100
mask = 00000000000000000000000000000000X0XX
mem[26] = 1
"""
    data = parse(NEWDATA)
    solution = solve2(data)
    assert solution == 208
Пример #8
0
def test_parse():
    global data
    data = parse(TESTDATA)
    assert data == [
        ["abc"],
        ["a", "b", "c"],
        ["ab", "ac"],
        ["a", "a", "a", "a"],
        ["b"],
    ]
Пример #9
0
def test_parse():
    global data
    data = parse(TESTDATA)
    print(data)
    assert data[0] == {
        "bright white": ["light red", "dark orange"],
        "muted yellow": ["light red", "dark orange"],
        "shiny gold": ["bright white", "muted yellow"],
        "faded blue": ["muted yellow", "dark olive", "vibrant plum"],
        "dark olive": ["shiny gold"],
        "vibrant plum": ["shiny gold"],
        "dotted black": ["dark olive", "vibrant plum"],
    }
Пример #10
0
def test_solve():
    testFormulae = [
            'a',
            '!a',
            'a+b',
            'a+b+c',
            'a&b',
            'a&b&c',
            'a&b+c',
            'a+b&c',
            'a+(b+c)',
            '(a+b)+c',
            'a&(b&c)',
            '(a&b)&c',
            'a+(b&c)',
            'a&(b+c)',
            '(a+b)&c',
            '(a&b)+c',
            'a&b+b&c+a&b&c',
            '(a&b)&(b&c)&(a&b&c)',
            '(a+b)&(b+c)&(a+b+c)',
            '!a+b',
            '!a&b',
            'a+!b',
            'a&!b',
            '!a&b+b&c+a&b&c',
            'a+!(b&!(a&!c))',
            '!!a',
            '!(!a)',
            '!(!(a+b)&!(a&c))',
            'b&!!a',
            'b&(!!(a))'
            ]
    for formula in testFormulae:
        print "solution(s) to %s:" % formula
        ast = parse(formula)
        varList = ''.join(sorted(set(re.findall('[a-z]', formula))))
        solutions = ast.solve(varList)
        if len(solutions) > 0:
            thickBorder = '=' * (len(varList) * 2 - 1)
            thinBorder = '-' * (len(varList) * 2 - 1)
            print thickBorder
            print '|'.join(list(varList))
            print thinBorder
            print '\n'.join(map(lambda s: '|'.join(list(str(s))), \
                solutions))
            print thinBorder
        else:
            print 'None'
        print ''
    pass
Пример #11
0
def test_parse():
    global data
    data = parse(TESTDATA)
    assert data == [
        ("nop", +0),
        ("acc", +1),
        ("jmp", +4),
        ("acc", +3),
        ("jmp", -3),
        ("acc", -99),
        ("acc", +1),
        ("jmp", -4),
        ("acc", +6),
    ]
Пример #12
0
def test_parse():
    global data
    data = parse(TESTDATA)
    assert data == [
        "..##.......",
        "#...#...#..",
        ".#....#..#.",
        "..#.#...#.#",
        ".#...##..#.",
        "..#.##.....",
        ".#.#.#....#",
        ".#........#",
        "#.##...#...",
        "#...##....#",
        ".#..#...#.#",
    ]
Пример #13
0
def math_exp():
    userData = str(entry.get())
    entry.delete(0, 'end')

    #if entry box is empty, don't do anything
    if userData == '':
        return None
    else:
        pinp = solver.parse(userData)

        if type(pinp) == str:
            math_exp.ans = solver.sol_func(pinp)
        else:
            math_exp.ans = solver.sol(pinp)

        if math_exp.ans == 'Syntax Error':
            #math_exp.ans=0
            return entry.insert(END, 'Syntax Error')
        else:
            return entry.insert(END, math_exp.ans)
Пример #14
0
def test_parse():
    global data
    data = parse(TESTDATA)
    assert data == [
        {
            "ecl": "gry",
            "pid": "860033327",
            "eyr": "2020",
            "hcl": "#fffffd",
            "byr": "1937",
            "iyr": "2017",
            "cid": "147",
            "hgt": "183cm",
        },
        {
            "iyr": "2013",
            "ecl": "amb",
            "cid": "350",
            "eyr": "2023",
            "pid": "028048884",
            "hcl": "#cfa07d",
            "byr": "1929",
        },
        {
            "hcl": "#ae17e1",
            "iyr": "2013",
            "eyr": "2024",
            "ecl": "brn",
            "pid": "760753108",
            "byr": "1931",
            "hgt": "179cm",
        },
        {
            "hcl": "#cfa07d",
            "eyr": "2025",
            "pid": "166559648",
            "iyr": "2011",
            "ecl": "brn",
            "hgt": "59in",
        },
    ]
Пример #15
0
def test_cnf():
    testFormulae = [
            'a',
            '!a',
            'a+b',
            'a+!b',
            'a&b',
            '!a&b',
            'a+b&c',
            'a+!a&b+!a&c',
            '!a&(b+c)',
            '(a+b)&(!b+c+!d)&(d+!e)',
            'a+b',
            'a&b',
            '!(b+c)',
            '(a&b)+c',
            'a&(b+(d&e))'
            ]
    for formula in testFormulae:
        ast = parse(formula)
        print "%s => %s => %s" % (formula, str(ast), str(ast.toCNF()))
Пример #16
0
def test_dnf():
    testFormulae = [
            'a',
            '!a',
            'a+b',
            'a&b',
            'a&b&c',
            'a&b+c',
            'a&(b+c)',
            'a&!b',
            '!(a+b)',
            '!(a&b)',
            '!(a+b&c)',
            '(a+b)&(b+c)',
            '(!a+b)&(a+b)',
            '(!a+b+c)&(a+!b+c)',
            '(!a+b+c)&(a+!b+c)&(a+b+!c)'
            ]
    for formula in testFormulae:
        ast = parse(formula)
        print "%s => %s => %s" % (formula, str(ast), str(ast.toDNF()))
Пример #17
0
def test_parse():
    testFormulae = [
            'a+b',
            'a+b+c',
            'a&b',
            'a&b&c',
            'a&b+c',
            'a+b&c',
            'a+(b+c)',
            '(a+b)+c',
            'a&(b&c)',
            '(a&b)&c',
            'a+(b&c)',
            'a&(b+c)',
            '(a+b)&c',
            '(a&b)+c',
            'a&b+b&c+a&b&c',
            '(a&b)&(b&c)&(a&b&c)',
            '(a+b)&(b+c)&(a+b+c)',
            '!a',
            '!a+b',
            '!a&b',
            'a+!b',
            'a&!b',
            '!a&b+b&c+a&b&c',
            'a+!(b&!(a&!c))',
            '!!a',
            '!(!a)',
            '!(!(a+b)&!(a&c))',
            'b&!!a',
            'b&(!!(a))'
            ]
    for formula in testFormulae:
        ast = parse(formula)
        print "%s => %s" % (formula, str(ast))
        print '---'
        print ast.output()
        print '==='
Пример #18
0
def test_parse():
    global data
    data = parse(TESTDATA)
    assert data == [
        28,
        33,
        18,
        42,
        31,
        14,
        46,
        20,
        48,
        47,
        24,
        23,
        49,
        45,
        19,
        38,
        39,
        11,
        1,
        32,
        25,
        35,
        8,
        17,
        7,
        9,
        4,
        2,
        34,
        10,
        3,
    ]
Пример #19
0
def test_parse():
    global data
    data = parse(TESTDATA)
    assert data == ["1 + (2 * 3) + (4 * (5 + 6))"]
Пример #20
0
def test_parse():
    global data
    data = parse(TESTDATA)
    assert data == 
Пример #21
0
import solver

with open('samples_many.txt', 'r') as f:
    lines = [line.strip() for line in f.readlines()[:5]]
    PUZZLES = [solver.parse(p) for p in lines]


class TestSolver:
    """Unit tests for sudoku solver."""
    def test_transforms(self):
        """Test rows cols boxs transofmrations."""
        r = solver.rows
        c = solver.cols
        b = solver.boxs
        p = PUZZLES[0]
        assert p == b(b(c(c(r(r(p))))))

    def test_singletons(self):
        """Test singletons."""
        assert solver.singletons([{1}, {1, 2}, {}]) == [1]
        assert solver.singletons([{1}, {1, 2}, {3}, {4, 5, 6}]) == [1, 3]

    def test_singleton_nums(self):
        """Test singleton_nums."""
        f = solver.singleton_nums
        assert f([{2, 3}, {4}]) == [2, 3]
        assert (f([{1}, {2}, {3, 4, 5}, {3}, {5, 6, 7}, {5, 7,
                                                         9}]) == [4, 6, 9])

    def test_verify(self):
        """Verify some validation and sample board properties."""
Пример #22
0
def test_parse():
    global data
    data = parse(TESTDATA)
    assert data == (939, [(0, 7), (1, 13), (4, 59), (6, 31), (7, 19)])
Пример #23
0
def test_parse():
    global data
    data = parse(TESTDATA)
    assert data == [1721, 979, 366, 299, 675, 1456]
Пример #24
0
def test_parse():
    global data
    data = parse(TESTDATA)
    assert data == {
        "ticket_rules": {
            "class": {1, 2, 3, 5, 6, 7},
            "row": {
                6,
                7,
                8,
                9,
                10,
                11,
                33,
                34,
                35,
                36,
                37,
                38,
                39,
                40,
                41,
                42,
                43,
                43,
                44,
            },
            "seat": {
                13,
                14,
                15,
                16,
                17,
                18,
                19,
                20,
                21,
                22,
                23,
                24,
                25,
                26,
                27,
                28,
                29,
                30,
                31,
                32,
                33,
                34,
                35,
                36,
                37,
                38,
                39,
                40,
                45,
                46,
                47,
                48,
                49,
                50,
            },
        },
        "my_ticket": [7, 1, 14],
        "nearby_tickets": [
            [7, 3, 47],
            [40, 4, 50],
            [55, 2, 20],
            [38, 6, 12],
        ],
    }
Пример #25
0
from solver import parse, Solver
from sys import argv
import numpy as np
import pandas as pd

if __name__=="__main__":
    # open the rules
    solver = parse(open('sudoku_rules_9x9.cnf', 'r').read())
    sudokus = pd.read_csv('sudoku.csv')
    print(sudokus.iloc[1][0])

    for i, c in enumerate(sudokus.iloc[0][0]):
        col = i % 9 
        row = int((i - col) / 9) 
        if col == 0:
            print("")
        print(c, end="")
        unit = 

    #string = arguments.file.read()
    #solver = parse(string)