示例#1
0
        public void GetSortedItemsTest()
        {
            SortMapItem sortMapItem = new SortMapItem();

            Assert.IsNotNull(sortMapItem.UID);
            Assert.AreNotEqual(Guid.Empty, sortMapItem.UID);

            sortMapItem.AddItems(_unsortArr1);
            var countLines    = sortMapItem.CountLines();
            var expectedCount = _unsortArr1.Length;

            Assert.AreEqual(expectedCount, countLines);

            sortMapItem.AddItems(_unsortArr3);
            countLines     = sortMapItem.CountLines();
            expectedCount += _unsortArr3.Length;
            Assert.AreEqual(expectedCount, countLines);

            sortMapItem.AddItems(_unsortArr2);
            countLines     = sortMapItem.CountLines();
            expectedCount += _unsortArr2.Length;
            Assert.AreEqual(expectedCount, countLines);

            var resultsSorted = this.GetSortedStream(sortMapItem);

            Assert.IsTrue(_sortedArr1.SequenceEqual(resultsSorted));

            sortMapItem.Dispose();
            Assert.Pass("Arrays was sorted as expected");
        }
示例#2
0
        /// <summary>
        /// Gets data from SortMapItem - Sorted Stream of text lines, and coverts it to IEnumerable
        /// </summary>
        /// <param name="sortMapItem">Instance to read from. </param>
        /// <returns> Sorted data from instance </returns>
        private IEnumerable <string> GetSortedStream(SortMapItem sortMapItem)
        {
            using (Stream streamSorted = sortMapItem.GetSortedItems())
            {
                using (StreamReader reader = new StreamReader(streamSorted))
                {
                    string line;

                    while ((line = reader.ReadLine()) != null)
                    {
                        yield return(line);
                    }

                    reader.Close();
                }
            }
        }