public void PlaceSolution(string theme, string hiddenWord)
        {
            Solution = hiddenWord;
            List <string> themeWords = _repository.GetRelatedWordsForTheme(theme);

            if (Shuffle)
            {
                themeWords.Shuffle();
            }
            foreach (char letter in hiddenWord)
            {
                foreach (string puzzleCandidate in themeWords)
                {
                    if (!puzzleCandidate.Contains(letter.ToString()))
                    {
                        continue;
                    }
                    if (puzzleCandidate.Contains(hiddenWord))
                    {
                        continue;                                       //Don't include any part of the hidden word.
                    }
                    if (Words.Contains(puzzleCandidate))
                    {
                        continue;                                  //don't repeat any words.
                    }
                    Words.Add(puzzleCandidate);
                    break;
                }
            }
        }
Ejemplo n.º 2
0
            public void Alcohol_ReturnsExpectedList()
            {
                WordRepository repository = new WordRepository()
                {
                    IgnoreCache = false
                };
                List <string> relatedWords = repository.GetRelatedWordsForTheme("#AlcoholWeek");

                Assert.LessOrEqual(27, relatedWords.Count, "Should be at least 27 items.");
            }
Ejemplo n.º 3
0
            public void MissingWord_DoesNotThrow()
            {
                WordRepository wordRepository = new WordRepository();

                wordRepository.GetRelatedWordsForTheme("#VegetableWeek");
            }