public void CompressContentTest()
        {
            Stream       s      = File.OpenWrite(@"D:\MFF\ZS_2019\c#_repos\Huffman1\Huffman1Tests\bin\Debug\netcoreapp3.0\TestFiles\Huff2\Outs\Compressed.out");
            BinaryWriter writer = new BinaryWriter(s);

            Stream       ins    = File.OpenRead(@"D:\MFF\ZS_2019\c#_repos\Huffman1\Huffman1Tests\bin\Debug\netcoreapp3.0\TestFiles\Huff2\Ins\simple4.in");
            BinaryReader reader = new BinaryReader(ins);


            HuffmanReader HuffReader = new HuffmanReader(reader);
            bool          NotEmpty   = HuffReader.ReadFileUsingBuffer();
            //Build Huffman tree
            TreeBuilder Builder = new TreeBuilder(HuffReader.ProvideSymbolsWihtWeights());
            Node        Root    = Builder.BuildHuffTree();

            ins.Seek(0, 0);

            HuffCompresor.CompressContent(Root, writer, reader);

            writer.Close();
            reader.Close();
            bool same = Utils.FileDiff(@"D:\MFF\ZS_2019\c#_repos\Huffman1\Huffman1Tests\bin\Debug\netcoreapp3.0\TestFiles\Huff2\Outs\Compressed.huff", @"D:\MFF\ZS_2019\c#_repos\Huffman1\Huffman1Tests\bin\Debug\netcoreapp3.0\TestFiles\Huff2\Outs\Compressed.out");

            Assert.IsTrue(same);
        }
        public void CodeBytesTest() //no assert!
        {
            Stream       ins    = File.OpenRead(@"D:\MFF\ZS_2019\c#_repos\Huffman1\Huffman1Tests\bin\Debug\netcoreapp3.0\TestFiles\Huff2\Ins\simple4.in");
            BinaryReader reader = new BinaryReader(ins);

            HuffmanReader HuffReader = new HuffmanReader(reader);
            bool          NotEmpty   = HuffReader.ReadFileUsingBuffer();
            //Build Huffman tree
            TreeBuilder Builder = new TreeBuilder(HuffReader.ProvideSymbolsWihtWeights());
            Node        Root    = Builder.BuildHuffTree();

            TreePrinter.PrintNiceTree(Root, 0);

            Stack <byte> path = new Stack <byte>();

            HuffCompresor.CodeBytes(Root, path);

            for (int i = 0; i < HuffCompresor.Codes.Length; i++)
            {
                if (HuffCompresor.Codes[i] != null)
                {
                    Console.Write($"{i}: ");
                    for (int j = 0; j < HuffCompresor.Codes[i].Length; j++)
                    {
                        Console.Write($"{HuffCompresor.Codes[i][j]} ");
                    }
                    Console.WriteLine();
                }
            }
        }
        public void GenHeaderTest()
        {
            //ulong b = 0x2B;
            Stream       s      = File.OpenWrite(@"D:\MFF\ZS_2019\c#_repos\Huffman1\Huffman1Tests\bin\Debug\netcoreapp3.0\TestFiles\Huff2\Outs\Header.out");
            BinaryWriter writer = new BinaryWriter(s);

            HuffCompresor.GenHeader(writer);
            writer.Flush();
            writer.Close();
            s.Close();
            bool same = Utils.FileDiff(@"D:\MFF\ZS_2019\c#_repos\Huffman1\Huffman1Tests\bin\Debug\netcoreapp3.0\TestFiles\Huff2\Ins\header.in", @"D:\MFF\ZS_2019\c#_repos\Huffman1\Huffman1Tests\bin\Debug\netcoreapp3.0\TestFiles\Huff2\Outs\Header.out");

            Assert.IsTrue(same);
        }
        public void CompressFileTest()
        {
            Stream       s      = File.OpenWrite(@"D:\MFF\ZS_2019\c#_repos\Huffman1\Huffman1Tests\bin\Debug\netcoreapp3.0\TestFiles\Huff2\Outs\simple4Comp.out");
            BinaryWriter writer = new BinaryWriter(s);

            Stream       ins    = File.OpenRead(@"D:\MFF\ZS_2019\c#_repos\Huffman1\Huffman1Tests\bin\Debug\netcoreapp3.0\TestFiles\Huff2\Ins\simple4.in");
            BinaryReader reader = new BinaryReader(ins);

            HuffCompresor.CompressFile(writer, reader);

            s.Close();
            ins.Close();
            bool same = Utils.FileDiff(@"D:\MFF\ZS_2019\c#_repos\Huffman1\Huffman1Tests\bin\Debug\netcoreapp3.0\TestFiles\Huff2\Outs\simple4.in.huff", @"D:\MFF\ZS_2019\c#_repos\Huffman1\Huffman1Tests\bin\Debug\netcoreapp3.0\TestFiles\Huff2\Outs\simple4Comp.out");

            Assert.IsTrue(same);
        }
        public void GenTreeTest()
        {
            Stream       s      = File.OpenWrite(@"D:\MFF\ZS_2019\c#_repos\Huffman1\Huffman1Tests\bin\Debug\netcoreapp3.0\TestFiles\Huff2\Outs\PrintTreeBin.out");
            BinaryWriter writer = new BinaryWriter(s);

            Stream       ins    = File.OpenRead(@"D:\MFF\ZS_2019\c#_repos\Huffman1\Huffman1Tests\bin\Debug\netcoreapp3.0\TestFiles\Huff2\Ins\simple4.in");
            BinaryReader reader = new BinaryReader(ins);

            HuffCompresor.GenTree(reader, writer);

            writer.Flush();
            writer.Close();
            reader.Close();
            bool same = Utils.FileDiff(@"D:\MFF\ZS_2019\c#_repos\Huffman1\Huffman1Tests\bin\Debug\netcoreapp3.0\TestFiles\Huff2\Ins\Tree.in", @"D:\MFF\ZS_2019\c#_repos\Huffman1\Huffman1Tests\bin\Debug\netcoreapp3.0\TestFiles\Huff2\Outs\PrintTreeBin.out");

            Assert.IsTrue(same);
        }