private void GetTrailing() { IndexGenerator.BitString bs = new IndexGenerator.BitString(); bs.AppendBits((byte)78); IndexGenerator.BitString bs2 = bs.GetTrailing(3); BitStringEquals(bs2, new byte[] { 6 }); bs = new IndexGenerator.BitString(); bs.AppendBits((byte)78); bs.AppendBits(unchecked((byte)-5)); bs2 = bs.GetTrailing(9); BitStringEquals(bs2, new byte[] { 78, 1 }); bs2.AppendBits((byte)100); BitStringEquals(bs2, ByteUtils.ToBytes(new sbyte[] { 78, -55 })); bs = bs2.GetTrailing(13); BitStringEquals(bs, new byte[] { 78, 9 }); bs2 = bs2.GetTrailing(11); BitStringEquals(bs2, new byte[] { 78, 1 }); bs2.AppendBits((byte)100); BitStringEquals(bs2, new byte[] { 78, 33, 3 }); bs2 = bs2.GetTrailing(16); BitStringEquals(bs2, new byte[] { 78, 33 }); }
private void GetLeadingAsInt() { IndexGenerator.BitString bs = new IndexGenerator.BitString(); bs.AppendBits((byte)78); bs.AppendBits((byte)42); if (!Compare.Equals(1, bs.GetLeadingAsInt(3))) throw new Exception("BitString LeadingAsInt test failed!"); if (!Compare.Equals(84, bs.GetLeadingAsInt(9))) throw new Exception("BitString LeadingAsInt test failed!"); if (!Compare.Equals(338, bs.GetLeadingAsInt(11))) throw new Exception("BitString LeadingAsInt test failed!"); IndexGenerator.BitString bs2 = bs.GetTrailing(11); BitStringEquals(bs2, new byte[] { 78, 2 }); if (!Compare.Equals(590, bs2.GetLeadingAsInt(11))) throw new Exception("BitString LeadingAsInt test failed!"); if (!Compare.Equals(9, bs2.GetLeadingAsInt(5))) throw new Exception("BitString LeadingAsInt test failed!"); bs2.AppendBits((byte)115); if (!Compare.Equals(230, bs2.GetLeadingAsInt(9))) throw new Exception("BitString LeadingAsInt test failed!"); if (!Compare.Equals(922, bs2.GetLeadingAsInt(11))) throw new Exception("BitString LeadingAsInt test failed!"); bs2.AppendBits(unchecked((byte)-36)); if (!Compare.Equals(55, bs2.GetLeadingAsInt(6))) throw new Exception("BitString LeadingAsInt test failed!"); }