예제 #1
0
def main(fileName:str = None):
    fileName = mainStart(fileName, %d%)

    data, tokens = loadExerciseDataFrom(fileName)
    rawText = loadRawExerciseTextFrom(fileName)
    textRecords = loadExerciseDataAsTextRecordsFrom(fileName)

    # ------------------------------------------
    # Answer 1
    # ------------------------------------------
    answer1 = resolvePuzzle01Using(data, tokens, rawText, textRecords)
    answer2 = resolvePuzzle02Using(data, tokens, rawText, textRecords)

    print('answer 1: %d, answer 2: %d' % (answer1, answer2))

    return answer1, answer2
예제 #2
0
def test_loadRawExerciseTextFrom():
    rawText = loadRawExerciseTextFrom(TEST_RAW_TEXT_FILE_NAME)

    assert type(rawText) == str
예제 #3
0
from aoc.%t% import resolvePuzzle02Using
from util import loadExerciseDataAsTextRecordsFrom
from util import loadExerciseDataFrom
from util import loadRawExerciseTextFrom


# +++ constants +++

TEST_%T%_FILE_NAME = 'resources/test/%t%-test-data.txt'


# +++ tests +++

_data, _tokens = loadExerciseDataFrom(TEST_%T%_FILE_NAME)

_rawText = loadRawExerciseTextFrom(TEST_%T%_FILE_NAME)

_textRecords = loadExerciseDataAsTextRecordsFrom(TEST_%T%_FILE_NAME)


def test_resolvePuzzle01Using():
    answer = resolvePuzzle01Using(_data, _tokens, _rawText, _textRecords)

    assert answer == -1


def test_resolvePuzzle02Using():
    answer = resolvePuzzle02Using(_data, _tokens, _rawText, _textRecords)

    assert answer == -1
예제 #4
0
####.#...#
##.##.###.
##...#.###
.#.#.#..##
..#....#..
###...#.#.
..###..###
"""

TEST_DAY_20_IMGTILES_FILE_NAME = 'resources/test/day_20_imgtiles-test-data.txt'

# +++ tests +++

_data, _tokens = loadExerciseDataFrom(TEST_DAY_20_IMGTILES_FILE_NAME)

_rawText = loadRawExerciseTextFrom(TEST_DAY_20_IMGTILES_FILE_NAME)

_textRecords = loadExerciseDataAsTextRecordsFrom(
    TEST_DAY_20_IMGTILES_FILE_NAME)


def test__edgesOf():
    tile = SAMPLE_TILE.split(':\n')[1]
    northEdge = bitarray('0011010010')
    westEdge = bitarray('0111110010')

    edges = _edgesOf(tile)

    assert northEdge == edges.north
    assert westEdge == edges.west
예제 #5
0
from aoc.day_21_allergen import _extractFoodItemFrom
from aoc.day_21_allergen import _classifyByPotentialAllergen

from util import loadExerciseDataAsTextRecordsFrom
from util import loadExerciseDataFrom
from util import loadRawExerciseTextFrom

# +++ constants +++

TEST_DAY_21_ALLERGEN_FILE_NAME = 'resources/test/day_21_allergen-test-data.txt'

# +++ tests +++

_data, _tokens = loadExerciseDataFrom(TEST_DAY_21_ALLERGEN_FILE_NAME)

_rawText = loadRawExerciseTextFrom(TEST_DAY_21_ALLERGEN_FILE_NAME)

_textRecords = loadExerciseDataAsTextRecordsFrom(
    TEST_DAY_21_ALLERGEN_FILE_NAME)


def test__extractFoodItemFrom():
    foodItem = _extractFoodItemFrom('sqjhc fvjkl (contains soy')
    assert 'fvjkl' in foodItem.ingredients
    assert 'soy' in foodItem.allergens

    foodItem = _extractFoodItemFrom(
        'mxmxvkd kfcds sqjhc nhms (contains dairy, fish)')
    assert 'mxmxvkd' in foodItem.ingredients
    assert 'fish' in foodItem.allergens