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)
Beispiel #2
0
    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))
Beispiel #3
0
 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))
Beispiel #4
0
 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
Beispiel #5
0
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))
Beispiel #7
0
 def test_occurringLetterIsGivenInLowercase_shouldReturnTrue(self):
     sentence = Sentence("Jak Kuba Bogu, tak Bóg Kubie.")
     self.assertTrue(sentence.isLetterOccurrs("k"))
Beispiel #8
0
 def test_cover_shouldReturnCoveredSentenceObject(self):
     sentence = Sentence("Jak Kuba Bogu, tak Bóg Kubie.")
     coveredSentence = sentence.cover()
     self.assertTrue(isinstance(coveredSentence, CoveredSentence))