Exemplo n.º 1
0
    def test_testTestTun100000(self):
        t1_start = perf_counter()  
        cupCircle = [3,8,9,1,2,5,4,6,7]
        for n in range(10,1000001):
            cupCircle.append(n)
        self.assertEqual(len(cupCircle),1000000)

        copyCircle = cupCircle.copy()

        gameTracker = []

        currentCupIndex = 0
        for m in range(1000000):

            #game = (cupCircle,currentCupIndex)
            if cupCircle == copyCircle:
                print("Loops at %d"%(m))
            #else:
            #    gameTracker.append( game )
            singleTurn(cupCircle,currentCupIndex,m+1)


            currentCupIndex = nextCurrentCupIndex(cupCircle,currentCupIndex)
        answer = getAnswer(cupCircle)
        self.assertEqual(len(answer),2)
        self.assertEqual(149245887792,answer[0]*answer[1])
        t1_stop = perf_counter() 
        print("Elapsed time for test test_testTestTun100000 in seconds:",t1_stop-t1_start) 
Exemplo n.º 2
0
 def test_testRunReal100(self):
     cupCircle = [3,2,6,5,1,9,4,7,8]
     currentCupIndex = 0
     for m in range(100):
         singleTurn(cupCircle,currentCupIndex,m+1)
         currentCupIndex = nextCurrentCupIndex(cupCircle,currentCupIndex)
     self.assertEqual("25368479",getAnswer(cupCircle))
Exemplo n.º 3
0
 def test_testRun100(self):
     cupCircle = [3,8,9,1,2,5,4,6,7]
     currentCupIndex = 0
     for m in range(100):
         singleTurn(cupCircle,currentCupIndex,m+1)
         currentCupIndex = nextCurrentCupIndex(cupCircle,currentCupIndex)
     self.assertEqual("67384529",getAnswer(cupCircle))
Exemplo n.º 4
0
    def test_testRound(self):
        #            0,1,2,3,4,5,6,7,8
        cupCircle = [3,8,9,1,2,5,4,6,7]
        #The crab picks up the three cups that are immediately clockwise of the current cup.
        
        self.assertEqual([1,2,3],getNextupIndices(cupCircle,0))
        
        self.assertEqual([7,8,0],getNextupIndices(cupCircle,6))

        self.assertEqual(2,getDestinationCup(cupCircle,0,[1,2,3]))

        addBack = pickupCups(cupCircle,[1,2,3])
        self.assertEqual([8,9,1],addBack)
        self.assertEqual([3,2,5,4,6,7],cupCircle)

        insertCupsAfterCup(cupCircle,2,addBack,0,3)
        self.assertEqual([3,2,8,9,1,5,4,6,7],cupCircle)

        currentCupIndex = 0
        currentCupIndex = nextCurrentCupIndex(cupCircle,currentCupIndex)
        self.assertEqual(1,currentCupIndex)

        cupCircle = [3,2,8,9,1,5,4,6,7]
        nextCupIndices = getNextupIndices(cupCircle,currentCupIndex)
        self.assertEqual([2,3,4],nextCupIndices)
        destinationCupLabel = getDestinationCup(cupCircle,currentCupIndex,nextCupIndices)
        self.assertEqual(7,destinationCupLabel)
        # There will be fewer things in cup
        addBack = pickupCups(cupCircle,nextCupIndices)
        self.assertEqual([8,9,1],addBack)
        insertCupsAfterCup(cupCircle,destinationCupLabel,addBack,1,2)
        self.assertEqual([3,2,5,4,6,7,8,9,1],cupCircle)
Exemplo n.º 5
0
 def test_testRunReal100(self):
     cupCircle = [3,2,6,5,1,9,4,7,8]
     for n in range(10,1000001):
         cupCircle.append(n)
     self.assertEqual(len(cupCircle),1000000)
     currentCupIndex = 0
     for m in range(1):
         singleTurn(cupCircle,currentCupIndex,m+1)
         currentCupIndex = nextCurrentCupIndex(cupCircle,currentCupIndex)
     print(getAnswer(cupCircle))
Exemplo n.º 6
0
 def test_testRunReal1(self):
     t1_start = perf_counter()  
     cupCircle = [3,2,6,5,1,9,4,7,8]
     for n in range(10,1000001):
         cupCircle.append(n)
     self.assertEqual(len(cupCircle),1000000)
     
     currentCupIndex = 0
     for m in range(1):
         singleTurn(cupCircle,currentCupIndex,m+1)
         currentCupIndex = nextCurrentCupIndex(cupCircle,currentCupIndex)
     getAnswer(cupCircle)
     t1_stop = perf_counter() 
     print("Elapsed time for test test_testRunReal1 in seconds:",t1_stop-t1_start)