public void Read_ReturnCollectionOfDictionaryWordObjectsWithDataFromStreamRowsSkipFirst()
        {
            // arrange
            var stream = new MemoryStream();

            var streamWriter = new StreamWriter(stream);
            streamWriter.WriteLine(3);
            streamWriter.WriteLine("element1 10");
            streamWriter.WriteLine("element2 20");
            streamWriter.WriteLine("element3 30");
            streamWriter.Flush();
            stream.Seek(0, SeekOrigin.Begin);

            var expectedResultArray = new DictionaryWord[]
            {
                new DictionaryWord("element1", 10),
                new DictionaryWord("element2", 20),
                new DictionaryWord("element3", 30)
            };

            var streamReader = new StreamReader(stream);
            var dictionaryWordsInputReader =
                new DictionaryWordsInputReader(streamReader);

            // act
            var actualResultCollection = dictionaryWordsInputReader.Read();

            //assert
            var actualResultArray = actualResultCollection.ToArray();
            CollectionAssert.AreEqual(
                expectedResultArray,
                actualResultArray,
                new DictionaryWordComparer());
        }
        public void Write_WhenAutocompleteCollectionIsEmpty_ShouldWriteStringWithTwoLineBreaks()
        {
            // arrange
            var stream = new MemoryStream();
            var streamWriter = new StreamWriter(stream);
            streamWriter.AutoFlush = true;
            var autocompleteOutputWriter = new AutocompleteOutputWriter(streamWriter);

            IEnumerable<DictionaryWord> autocompleteCollection = new DictionaryWord[0];

            var expectedStreamContent = string.Format("{0}{0}", Environment.NewLine);

            // act
            autocompleteOutputWriter.Write(autocompleteCollection);

            //assert
            stream.Seek(0, SeekOrigin.Begin);
            var resultStreamReader = new StreamReader(stream);
            var actualStreamContent = resultStreamReader.ReadToEnd();

            Assert.AreEqual(
                expectedStreamContent,
                actualStreamContent,
                false);
        }
Exemplo n.º 3
0
        public void Constructor_MustSetPropertyFrequencyFromFrequencyArgumentOfConstructor()
        {
            // arrange
            string text = "abcdefgh";
            int frequency = 123456;

            // act
            var dictionaryWord = new DictionaryWord(text, frequency);

            //assert
            Assert.AreEqual(
                frequency,
                dictionaryWord.Frequency,
                "Значение свойства Frequency отличается от аргумента, переданного в конструктор");
        }
Exemplo n.º 4
0
        public void Constructor_WhenFrequencyLess1_ShouldThrowArgumentOutOfRangeException()
        {
            // arrange
            string text = "a";
            int frequency = 0;

            // act
            try
            {
                var dictionaryWord = new DictionaryWord(text, frequency);
            }
            catch (ArgumentOutOfRangeException e)
            {
                //assert
                Assert.AreEqual("frequency", e.ParamName, false);
                return;
            }

            Assert.Fail("Ожидаемое исключение не было выброшено.");
        }
Exemplo n.º 5
0
        public void Constructor_WhenTextIsEmpty_ShouldThrowArgumentException()
        {
            // arrange
            string text = string.Empty;
            int frequency = 1;

            // act
            try
            {
                var dictionaryWord = new DictionaryWord(text, frequency);
            }
            catch (ArgumentException e)
            {
                //assert
                Assert.AreEqual("text", e.ParamName, false);
                return;
            }

            Assert.Fail("Ожидаемое исключение не было выброшено.");
        }
Exemplo n.º 6
0
        public void ToString_ReturnStringWithValuesOfTextAndFrequencyProperties()
        {
            // arrange
            string text = "abcdefgh";
            int frequency = 123456;

            var dictionaryWord = new DictionaryWord(text, frequency);

            // act
            var result = dictionaryWord.ToString();

            //assert
            Assert.AreEqual(
                "(Text: 'abcdefgh'; Frequency: 123456)",
                result,
                false);
        }