public void EncodeTest1() { MockBitWriter io = new MockBitWriter(); Shannon shannon = new Shannon(io); shannon.Encode(5); Assert.AreEqual(io.values.Count(), 8); Assert.AreEqual(io.values[0], false); Assert.AreEqual(io.values[1], false); Assert.AreEqual(io.values[2], false); Assert.AreEqual(io.values[3], false); Assert.AreEqual(io.values[4], false); Assert.AreEqual(io.values[5], true); Assert.AreEqual(io.values[6], false); Assert.AreEqual(io.values[7], true); io.Clear(); shannon.Encode(5); Assert.AreEqual(io.values.Count(), 7); Assert.AreEqual(io.values[0], false); Assert.AreEqual(io.values[1], false); Assert.AreEqual(io.values[2], false); Assert.AreEqual(io.values[3], false); Assert.AreEqual(io.values[4], false); Assert.AreEqual(io.values[5], false); Assert.AreEqual(io.values[6], false); }
public void EncodeDecodeTest() { MockBitWriter io = new MockBitWriter(); Shannon encoder = new Shannon(io); foreach (char character in "Lorem ipsum dolor sit amet consectetur adepiscig nullam") { encoder.Encode(character); } Shannon decoder = new Shannon(io); foreach (char character in "Lorem ipsum dolor sit amet consectetur adepiscig nullam") { Assert.AreEqual(decoder.Decode(), character); } }
public void SameCharacterTest() { MockBitWriter writer = new MockBitWriter(); LZWAS encoder = new LZWAS(writer); LZWAS decoder = new LZWAS(writer); for (int i = 0; i < 10; i++) { encoder.Encode(42); } encoder.EncoderFinalize(); for (int i = 0; i < 10; i++) { byte actual = decoder.Decode(); Assert.AreEqual(42, actual); } }
public void LZWASTest() { MockBitWriter writer = new MockBitWriter(); LZWAS encoder = new LZWAS(writer); LZWAS decoder = new LZWAS(writer); foreach (byte character in V) { encoder.Encode(character); } encoder.EncoderFinalize(); string output = ""; foreach (byte character in V) { byte actual = decoder.Decode(); output += (char)actual; Assert.AreEqual(character, actual); } }
public void DecodeTest() { MockBitWriter io = new MockBitWriter(); Shannon shannon = new Shannon(io); io.WriteBit(false); io.WriteBit(false); io.WriteBit(false); io.WriteBit(false); io.WriteBit(false); io.WriteBit(true); io.WriteBit(false); io.WriteBit(true); Assert.AreEqual(shannon.Decode(), 5); io.WriteBit(false); io.WriteBit(false); io.WriteBit(false); io.WriteBit(false); io.WriteBit(false); io.WriteBit(false); io.WriteBit(false); Assert.AreEqual(shannon.Decode(), 5); }