public void CheckHeaderTest() { Stream s = File.OpenRead(@"TestFiles\Huff3Tests\simple.in.huff"); BinaryReader br = new BinaryReader(s); ulong u = br.ReadUInt64(); Huff3TreeBuilder b = new Huff3TreeBuilder(); bool correct = b.checkHeader(u); Assert.IsTrue(correct); ulong something = 238723328; correct = b.checkHeader(something); Assert.IsFalse(correct); }
public void ReadTreeAndHeaderTest() { string inputFile = @"TestFiles\Huff3Tests\simple4.in.huff"; string[] arg = new string[1]; arg[0] = inputFile; Program.Huff3OpenFiles(arg, out BinaryReader reader, out BinaryWriter writer); Huff3TreeBuilder b = new Huff3TreeBuilder(); bool success = b.ReadHeaderAndTreeFromBinaryFile(reader); Assert.IsNotNull(b.Root); TreePrinter.PrintNiceTree(b.Root, 0); reader.Close(); writer.Close(); }
public void ReadTreeTest() { string inputFile = @"TestFiles\Huff3Tests\simple4.in.huff"; string[] arg = new string[1]; arg[0] = inputFile; Program.Huff3OpenFiles(arg, out BinaryReader reader, out BinaryWriter writer); reader.ReadUInt64(); //skip header Huff3TreeBuilder b = new Huff3TreeBuilder(); bool f = false; Node n = b.ReadTreeFromBinaryFile(reader, ref f); Assert.IsNotNull(n); TreePrinter.PrintNiceTree(n, 0); Console.WriteLine(b.NumberOfSymbols); reader.Close(); writer.Close(); }
public void CreateNodeTest() { string inputFile = @"TestFiles\Huff3Tests\simple.in.huff"; string[] arg = new string[1]; arg[0] = inputFile; Program.Huff3OpenFiles(arg, out BinaryReader reader, out BinaryWriter writer); Huff3TreeBuilder b = new Huff3TreeBuilder(); reader.ReadInt64(); //header ulong input = reader.ReadUInt64(); Node node = b.IdentifyAndCreateNode(input); if (node is Leaf) { Assert.Fail("typecheck error"); } Console.WriteLine("something"); Assert.AreEqual((ulong)6, node.Weight); input = reader.ReadUInt64(); node = b.IdentifyAndCreateNode(input); if (node is InnerNode) { Assert.Fail("typecheck error"); } Console.WriteLine("something"); Assert.AreEqual((ulong)3, node.Weight); Assert.AreEqual((byte)97, ((Leaf)node).Symbol); input = reader.ReadUInt64(); node = b.IdentifyAndCreateNode(input); if (node is Leaf) { Assert.Fail("typecheck error"); } Console.WriteLine("something"); Assert.AreEqual((ulong)3, node.Weight); input = reader.ReadUInt64(); node = b.IdentifyAndCreateNode(input); if (node is InnerNode) { Assert.Fail("typecheck error"); } Console.WriteLine("something"); Assert.AreEqual((ulong)1, node.Weight); Assert.AreEqual((byte)99, ((Leaf)node).Symbol); input = reader.ReadUInt64(); node = b.IdentifyAndCreateNode(input); if (node is InnerNode) { Assert.Fail("typecheck error"); } Console.WriteLine("something"); Assert.AreEqual((ulong)2, node.Weight); Assert.AreEqual((byte)98, ((Leaf)node).Symbol); input = reader.ReadUInt64(); Console.WriteLine(input); reader.Close(); writer.Close(); }