def test_find_first_collision(self): # arrange mc = MineCart() mc.loadTracksAndCarts(testTrack) # act result = mc.findFirstCollision() # assert self.assertEqual(result, [[7, 3]])
def test_load_track_and_carts_minecart(self): # arrange mc = MineCart() # act mc.loadTracksAndCarts(testTrack) # assert self.assertEqual(mc.numCarts(), 2) self.assertEqual(mc.track.numTrackParts(), 48)
def test_find_last_cart(self): # arrange mc = MineCart() mc.loadTracksAndCarts(testTrack2) # act result = mc.findLastCart() # assert # self.assertEqual(result.print(),True) self.assertEqual([result.x, result.y], [6, 4])
def test_move_bends_and_crossses(self): # arrange mc = MineCart() mc.loadTracksAndCarts(testTrack) # act mc.moveSteps(3) result = [] posMoved = [[4, 1], [11, 4]] # assert for c in mc.carts: result.append([c.x, c.y]) self.assertEqual(result, posMoved)
def test_move_one_step_minecart(self): # arrange mc = MineCart() mc.loadTracksAndCarts(testTrack) # act mc.moveAllOneStep() result = [] posMoved = [[3, 0], [9, 4]] # assert for c in mc.carts: result.append([c.x, c.y]) self.assertEqual(result, posMoved)
# Advent of Code 2018: https://adventofcode.com/2018/day/13 # # Main file from AoC13_classes import MineCart inputData = open('../data/input13.txt', 'r') liveData = inputData.readlines() mc = MineCart() mc.loadTracksAndCarts(liveData) t = mc.track.validateAllTracks() if t != None: print(t.print()) # mc.track.print() crash = mc.findFirstCollision() print('\nPart 1: The point of the first crash is', crash) mc.loadTracksAndCarts(liveData) cart = mc.findLastCart() print('\nPart 2: The location of the last cart is', cart.print())