def showTilsForConcursos(concFrom=None, concTo=None, tilN=None): concursos = sl.getListAllConcursosObjs() if concTo == None: concTo = len(concursos) if concFrom == None: concFrom = concTo - 100 if concFrom < 1: concFrom = 1 if tilN == None: tilN = 5 count=0; tilPatternDict = {} for concurso in concursos[concFrom - 1 : concTo]: count+=1 concursoExt = ConcursoExt(concurso) # an empty obj, just to clue its getTilN() method into concurso obj. #tilPatternStr = concursoExt.getTilN(5) # concurso.getTilN = concursoExt.getTilN tilPatternStr = concursoExt.getTilN(tilN) if tilPatternStr == None: print 'tilPatternStr == None' continue if tilPatternStr in tilPatternDict.keys(): tilPatternDict[tilPatternStr]+=1 else: tilPatternDict[tilPatternStr]=1 nDoConc = concursoExt['nDoConc'] dezenasStr = concursoExt.getDezenasPrintableInOrder() print nDoConc, dezenasStr, tilPatternStr, 'sum =', tilMod.sumUpTilPattern(tilPatternStr) #concursoExt.concurso.getTilN = patterns = tilPatternDict.keys() patterns.sort() for pattern in patterns: print pattern, 'happened', tilPatternDict[pattern], 'times'
def testAdHoc2(): listWithFrequencyFrontiers = fm.calculateTilOfNUpToConcursoI() print 'listWithFrequencyFrontiers', listWithFrequencyFrontiers freqAtEachConcurso = fm.FrequenciesThruConcursos() frequencies = freqAtEachConcurso.frequenciesOfAllDezenasAtConcursoI() print 'frequencies', frequencies concursos = sl.getListAllConcursosObjs() nDoConcurso = len(concursos) print 'nDoConcurso', nDoConcurso, freqAtEachConcurso[nDoConcurso]
def test_totalOfFreqsConsistency(self): ''' This test does the following 6 * n_concs_total = sum of each dezena's frequency at n_concs_total Eg given n_concs_total = 1330, it results: 6 * 1330 = 7980 = f(1) + f(2) + ... + f(60) ie. the summation of every dezena frequency must equal 7980 ''' concursos = sl.getListAllConcursosObjs() n_concs_total = len(concursos) #freqAtEachConcurso = fm.statsStore['freqAtEachConcurso'] freqAtEachConcurso = fm.FrequenciesThruConcursos() for i in range(1, n_concs_total+1): shouldBeSum = 6 * i self.assertEqual(freqAtEachConcurso.sumUpTo(i), shouldBeSum)
def test_mountDezenasFrequencies(self): ''' The fm.mountDezenasFrequencies() sums up all dezenas frequencies concurso by concurso The simplest case is for the very 1st concurso where any dezena frequency should be 1 So the simplest case is a Test Case in here, the first one below The second Test Case is just to check if passing in parameter ate_concurso_n=0 will return the same as passing no parameter at all The two must equal and then pass the assertEqual Some other test combinations may be seen below ''' concursos = sl.getListAllConcursosObjs() concurso1 = concursos[0] dictForConc1 = {} for dezena in concurso1.getDezenas(): dictForConc1[dezena] = 1 self.assertEqual(fm.mountDezenasFrequencies(ate_concurso_n=1), dictForConc1) # self.assertEqual(type(mountDezenasFrequencies()), dict) self.assertEqual(fm.mountDezenasFrequencies(ate_concurso_n=0), fm.mountDezenasFrequencies())