Exemplo n.º 1
0
        public void ReadFileWithFixedBuffer(string inputFilePath = @"C:\Personal\Git\codinginterview\ArrayProblems\ArrayProblems\Files\Test.txt")
        {
            //const int MAX_BUFFER = 33554432; //32MB
            const int MAX_BUFFER = 1000;

            byte[]        buffer = new byte[MAX_BUFFER];
            int           bytesRead;
            StringBuilder currentLine = new StringBuilder();

            using (FileStream fs = File.Open(inputFilePath, FileMode.Open, FileAccess.Read))
                using (BufferedStream bs = new BufferedStream(fs))
                {
                    string line;
                    bool   stop         = false;
                    var    memoryStream = new MemoryStream(buffer);
                    var    stream       = new StreamReader(memoryStream);
                    while ((bytesRead = bs.Read(buffer, 0, MAX_BUFFER)) != 0)
                    {
                        memoryStream.Seek(0, SeekOrigin.Begin);

                        while (!stream.EndOfStream)
                        {
                            line = ReadLineWithAccumulation(stream, currentLine);

                            if (line != null)
                            {
                                using (StreamWriter file = new StreamWriter(@"C:\Personal\Git\codinginterview\ArrayProblems\ArrayProblems\Files\Test2.txt", true))
                                {
                                    file.WriteLine(ReverseWordsInString.GetReversedWordsInsentence(line));
                                }
                            }
                        }
                    }
                }
        }
Exemplo n.º 2
0
        public void DataDrivenTest(string input, string expected)
        {
            var    sut    = new ReverseWordsInString();
            string actual = sut.ReverseWords(input);

            Assert.Equal(expected, actual);
        }
Exemplo n.º 3
0
        public void TestName2()
        {
            var sb = new StringBuilder();

            for (int i = 0; i < 10000000; i++)
            {
                sb.Append("shit!   ");
            }
            string input    = sb.ToString();
            string expected = input.TrimEnd();

            var sut = new ReverseWordsInString();

            var    timer  = Stopwatch.StartNew();
            string actual = sut.ReverseWords(input);

            timer.Stop();
            output.WriteLine($"Method1 took {timer.ElapsedMilliseconds}");
            //Assert.Equal(expected, actual);

            timer  = Stopwatch.StartNew();
            actual = sut.ReverseWords2(input);
            timer.Stop();
            output.WriteLine($"Method2 took {timer.ElapsedMilliseconds}");
            //Assert.Equal(expected, actual);
        }
Exemplo n.º 4
0
        public void TestName()
        {
            string input    = " the! sky  is blue";
            string expected = "blue is sky the!";
            var    sut      = new ReverseWordsInString();
            string actual   = sut.ReverseWords(input);

            Assert.Equal(expected, actual);
        }
Exemplo n.º 5
0
        static void Main(string[] args)
        {
            //UniqueBinaryTrees.Driver();
            //NodeLevel.Driver();
            //PrintNodesAtGivenLevel.Driver();
            //PrintCousinsNotSiblings.Driver();
            //BinarySearchTree.Drvier();
            //BalancedBinarySearchTreeTriplets.Driver();

            //GlobalMaximum.Driver();
            //ConnectedSum.Driver();

            //SmallestWindowContainingOtherString.Driver();
            ReverseWordsInString.Driver();
        }
Exemplo n.º 6
0
        public void TestReverseWordsInString()
        {
            var r = ReverseWordsInString.ReserveWords("  I am the   king  ");

            Assert.AreEqual(r, "king the am I");
        }