Example #1
0
        public void RandomChars_outOfBounds_returnNull()
        {
            //Arrange
            HiraganaCharacters hiragana = new HiraganaCharacters();

            //Act
            var result1 = hiragana.getRandomChars(47);
            var result2 = hiragana.getRandomChars(-5);

            //Assert
            Assert.IsNull(result1);
            Assert.IsNull(result2);
        }
Example #2
0
        public void SetDifficulty_DecreaseDifficulty_ExpectDecreasingAmountOfEntries()
        {
            //Arrange
            HiraganaCharacters hiragana = new HiraganaCharacters();

            //Act and Assert
            hiragana.setDifficulty(4);
            Assert.IsTrue(hiragana.getRandomChars(40).Count == 40);
            Assert.IsNull(hiragana.getRandomChars(46));
            hiragana.setDifficulty(2);
            Assert.IsNull(hiragana.getRandomChars(22));
            Assert.IsTrue(hiragana.getRandomChars(20).Count == 20);
            hiragana.setDifficulty(-5);
            Assert.IsTrue(hiragana.getRandomChars(10).Count == 10);
        }
Example #3
0
        public void RandomChars_inRange_returnStringOfSizeN()
        {
            //Arrange
            HiraganaCharacters hiragana = new HiraganaCharacters();

            //Act
            var result = hiragana.getRandomChars(46);

            //Assert
            Assert.IsNotNull(result);
            Assert.IsTrue(result.Count == 46);
        }
        private void setTextForButtons()
        {
            Random rng = new Random();
            int    next;
            //3*2 = 6
            Dictionary <string, string> keyValuePairs = hiragana.getRandomChars(3);

            //all of this only works because the amount of buttons has to be even
            do
            {
                var keyValuePair = keyValuePairs.First();
                next = rng.Next(buttons.Count);
                buttons[next].Text = keyValuePair.Key;
                buttons.RemoveAt(next);
                next = rng.Next(buttons.Count);
                buttons[next].Text = keyValuePair.Value;
                buttons.RemoveAt(next);
                keyValuePairs.Remove(keyValuePair.Key);
            } while (buttons.Count > 0 && keyValuePairs.Count > 0);
        }