def setUp(self): unittest.TestCase.setUp(self) self.repository = FileRepository(SentenceValidator, "emptyFile") self.sentence1 = Sentence(["ana", "are", "mere"]) self.sentence2 = Sentence(["Dana", "are", "pere"]) self.sentence3 = Sentence(["Oana", "are", "bere"]) self.repository.save(self.sentence1) self.repository.save(self.sentence2) self.repository.save(self.sentence3)
def __loadFromFile(self, fileName): """Loads from file "fileName" each element""" with open(fileName, "r") as f: for line in f: line = line.strip() listOfWords = line.split(" ") if self.validator == SentenceValidator: self.save(Sentence(listOfWords))
def swapLetters(self, sentence, word1, letter1, word2, letter2): """Checks if coordinates are valid and swap letters""" listSentence = self.__stringToLetters(sentence.words) self.__validateIndex(word1, len(listSentence)) self.__validateIndex(word2, len(listSentence)) self.__validateIndex(letter1 - 1, len(listSentence[word1]) - 2) self.__validateIndex(letter2 - 1, len(listSentence[word2]) - 2) listSentence = self.__swapLetters(listSentence, word1, letter1, word2, letter2) return Sentence(self.__lettersToString(listSentence))
def scramble(self, sentence): """Scrambles(shuffle its letters) a Sentence and returns it. Input sentence - Sentence object Output Sentence - the same sentence with letters shuffled Raise None """ listSentence = self.__stringToLetters(sentence.words) while True: nrOfShuffles = random.randint(10, 50) while nrOfShuffles: nrOfShuffles -= 1 word1 = random.randint(0, len(listSentence) - 1) while True: l = len(listSentence[word1]) - 1 letter1 = random.randint(0, l) if not (letter1 == 0 or letter1 == l): break word2 = random.randint(0, len(listSentence) - 1) while True: l = len(listSentence[word2]) - 1 letter2 = random.randint(0, l) if not (letter2 == 0 or letter2 == l): break listSentence = self.__swapLetters(listSentence, word1, letter1, word2, letter2) resultSentence = Sentence(self.__lettersToString(listSentence)) if resultSentence == sentence: continue return resultSentence
from src.Sentence import Sentence from src.Player import Player from os import system def isLetter(guess): return len(guess) == 1 def isSentence(guess): return len(guess) > 1 if __name__ == '__main__': sentence = Sentence() coveredSentence = sentence.cover() player = Player() inputWarning = "" while True: system('cls') print(coveredSentence) print("Pozostało {} szans.".format(player.chancesLeft)) if player.hasLost(): print("Przegrana") system('pause') break elif coveredSentence.isGuessed(): print("Wygrana") system('pause') break
def testSave(self): s = Sentence(["ana", "are", "mere"]) self.assertIsNone(self.repository.save(s), "There should be no problem") self.assertRaises(Exception, self.repository.save(s))
def test_occurringLetterIsGivenInLowercase_shouldReturnTrue(self): sentence = Sentence("Jak Kuba Bogu, tak Bóg Kubie.") self.assertTrue(sentence.isLetterOccurrs("k"))
def test_cover_shouldReturnCoveredSentenceObject(self): sentence = Sentence("Jak Kuba Bogu, tak Bóg Kubie.") coveredSentence = sentence.cover() self.assertTrue(isinstance(coveredSentence, CoveredSentence))