Exemple #1
0
        public void Test003()
        {
            var co      = new CompressionHuffmanCoding();
            var intext  = @"★★★★★★★★★★★★★😊😎🎉😃★★★★★★★★★★★★★★★";
            var bufin   = Encoding.UTF8.GetBytes(intext);
            var bufout  = co.Compress(bufin);
            var outtext = Encoding.UTF8.GetString(co.Decompress(bufout));

            Assert.AreEqual(intext, outtext);
        }
Exemple #2
0
        public void Test002()
        {
            var co     = new CompressionHuffmanCoding();
            var intext = "ウィキペディアより:有茎の種。高さは15 - 20 cmになる。地下茎は太く長く発達し、垂直に伸び、長さ0.3 - 1 mに達し、肥厚して木質化する。多数の地上茎を分枝させ、しばしば大株になり、径50 cmに達する。根出葉の葉身は質が厚く光沢があり、表面が内側に巻き、心形で、花時に長さ幅ともに1 - 2.5 cm、花後に3.5 - 4 cmになり、先は鋭頭または短くとがり、基部は心形、縁には波状の鋸歯があり、両面ともに無毛。葉の表面は濃緑色で、裏面は淡緑色になる。基部にある托葉は狭卵形で、縁は羽状に浅裂-深裂する。葉柄は長さ3-5cmになり、無毛。花期は4月から5月。花柄は根出葉および茎葉の腋から伸び、葉より高く抜く出て花をつける。花は径2 - 2.5 cmと大きく、濃紫色から淡紫色。花弁は長さ13 - 15 mm、花弁の先は円みを帯び、側弁の基部は無毛。唇弁の距は太く短く、長さ約5 mmで、白色。萼片は広披針形で、先端は鋭突頭。雄蕊は5個あり、花柱は筒形になり、柱頭は下向きに突き出る。染色体数は2n=20。1株に20から30以上の花が咲く個体もある。太平洋側では花弁の幅が狭く、花色は淡紫色に、日本海側では花弁の幅が広く円く、花色が濃紫色にになる傾向がある。";
            var bufin  = Encoding.UTF8.GetBytes(intext);
            var bufout = co.Compress(bufin);

            Assert.IsTrue(bufout.Length <= bufin.Length);   // Shuld success good compression

            var bufin2  = co.Decompress(bufout);
            var outtext = Encoding.UTF8.GetString(bufin2);

            Assert.AreEqual(intext, outtext);
        }
Exemple #3
0
        public void Test001()
        {
            var co     = new CompressionHuffmanCoding();
            var intext = "FROM WIKIPEDIA: FLORENCE VAN LEER EARLE COATES (JULY 1, 1850 - APRIL 6, 1927) WAS AN AMERICAN POET. SHE BECAME WELL KNOWN, BOTH AT HOME AND ABROAD, FOR HER WORKS OF POETRY, NEARLY THREE HUNDRED OF WHICH WERE PUBLISHED IN LITERARY MAGAZINES SUCH AS THE ATLANTIC MONTHLY, SCRIBNER'S MAGAZINE, THE LITERARY DIGEST, LIPPINCOTT'S, THE CENTURY MAGAZINE, AND HARPER'S MAGAZINE. SHE WAS ENCOURAGED BY MATTHEW ARNOLD WITH WHOM SHE MAINTAINED A CORRESPONDENCE UNTIL HIS DEATH IN 1888. MANY OF HER NATURE POEMS WERE INSPIRED BY THE FLORA AND FAUNA OF THE ADIRONDACKS, WHERE THE COATES FAMILY SPENT THEIR SUMMER MONTHS AT \"CAMP ELSINORE\" BESIDE UPPER ST. REGIS LAKE; HERE THEY ENTERTAINED MANY FRIENDS SUCH AS OTIS SKINNER, VIOLET OAKLEY, HENRY MILLS ALDEN, AND AGNES REPPLIER.";

            intext = intext.ToUpper();
            var bufin  = Encoding.ASCII.GetBytes(intext);
            var bufout = co.Compress(bufin);

            Assert.IsTrue(bufout.Length <= bufin.Length);   // Shuld success good compression

            var bufin2  = co.Decompress(bufout);
            var outtext = Encoding.ASCII.GetString(bufin2);

            Assert.AreEqual(intext, outtext);
        }
Exemple #4
0
        private static byte[] MakeTableBytes(string intext0)
        {
            var b = new StringBuilder();

            for (var i = 0; i < 512; i++)
            {
                b.Append(intext0);
            }
            var intext = b.ToString();
            var bufin  = new List <byte>(Encoding.UTF8.GetBytes(intext));

            for (byte i = 255; i > 0; i--)
            {
                bufin.Add(i);
            }
            bufin.Add(0);
            var table = CompressionHuffmanCoding.MakeTableBinary(bufin.ToArray(), out var _).ToByteArray();

            return(table);
        }