public void TestDecoding1() { Assert.Catch <ArgumentOutOfRangeException>(() => { HeaderConvertor.Decode(new byte[] { 0 }, 4); }); // decode a test header. var header = HeaderConvertor.Decode(new byte[] { 11 }, 0); Assert.AreEqual(3, header.Version); Assert.AreEqual(false, header.ArF0); Assert.AreEqual(false, header.IsPoint); Assert.AreEqual(false, header.ArF1); Assert.AreEqual(true, header.HasAttributes); // decode another test header. header = HeaderConvertor.Decode(new byte[] { 35 }, 0); Assert.AreEqual(3, header.Version); Assert.AreEqual(false, header.ArF0); Assert.AreEqual(true, header.IsPoint); Assert.AreEqual(false, header.ArF1); Assert.AreEqual(false, header.HasAttributes); // decode another test header. header = HeaderConvertor.Decode(new byte[] { 43 }, 0); Assert.AreEqual(3, header.Version); Assert.AreEqual(false, header.ArF0); Assert.AreEqual(true, header.IsPoint); Assert.AreEqual(false, header.ArF1); Assert.AreEqual(true, header.HasAttributes); // decode another test header. header = HeaderConvertor.Decode(new byte[] { 3 }, 0); Assert.AreEqual(3, header.Version); Assert.AreEqual(false, header.ArF0); Assert.AreEqual(false, header.IsPoint); Assert.AreEqual(false, header.ArF1); Assert.AreEqual(false, header.HasAttributes); // decode another test header. header = HeaderConvertor.Decode(new byte[] { 67 }, 0); Assert.AreEqual(3, header.Version); Assert.AreEqual(false, header.ArF0); Assert.AreEqual(false, header.IsPoint); Assert.AreEqual(true, header.ArF1); Assert.AreEqual(false, header.HasAttributes); // decode another test header. header = HeaderConvertor.Decode(new byte[] { 19 }, 0); Assert.AreEqual(3, header.Version); Assert.AreEqual(true, header.ArF0); Assert.AreEqual(false, header.IsPoint); Assert.AreEqual(false, header.ArF1); Assert.AreEqual(false, header.HasAttributes); }
/// <summary> /// Returns true if the given data can be decoded by this decoder. /// </summary> /// <param name="data"></param> /// <returns></returns> protected override bool CanDecode(byte[] data) { // decode the header first. var header = HeaderConvertor.Decode(data, 0); // check header info. if (!header.ArF1 || header.IsPoint || !header.ArF0 || !header.HasAttributes) { // header is incorrect. return(false); } return(true); }
/// <summary> /// Returns true if the given data can be decoded by this decoder. /// </summary> public static bool CanDecode(byte[] data) { // decode the header first. var header = HeaderConvertor.Decode(data, 0); // check header info. if (header.ArF1 && !header.IsPoint && header.ArF0 && !header.HasAttributes) { // header is incorrect. return(false); } return(data != null && (data.Length == 20 || data.Length == 21)); }
/// <summary> /// Returns true if the given data can be decoded by this decoder. /// </summary> /// <param name="data"></param> /// <returns></returns> protected override bool CanDecode(byte[] data) { // decode the header first. var header = HeaderConvertor.Decode(data, 0); // check header info. if (header.ArF1 || header.IsPoint || header.ArF0 || header.HasAttributes) { // header is incorrect. return(false); } return(data != null && (data.Length == 8 || data.Length == 9 || data.Length == 10 || data.Length == 11)); }
/// <summary> /// Returns true if the given data can be decoded but this decoder. /// </summary> public static bool CanDecode(byte[] data) { if (data != null) { // decode the header first. var header = HeaderConvertor.Decode(data, 0); // check header info. if (header.ArF1 || header.IsPoint || header.ArF0 || !header.HasAttributes) { // header is incorrect. return(false); } return(true); } return(false); }
/// <summary> /// Returns true if the given data can be decoded but this decoder. /// </summary> /// <param name="data"></param> /// <returns></returns> protected override bool CanDecode(byte[] data) { if (data != null) { // decode the header first. var header = HeaderConvertor.Decode(data, 0); // check header info. if (header.ArF1 || header.IsPoint || !header.ArF0 || header.HasAttributes) { // header is incorrect. return(false); } int count = (data.Length - 15); return(count % 4 == 0); } return(false); }
/// <summary> /// Returns true if the given data can be decoded but this decoder. /// </summary> /// <param name="data"></param> /// <returns></returns> protected override bool CanDecode(byte[] data) { if (data != null) { // decode the header first. var header = HeaderConvertor.Decode(data, 0); // check header info. if (header.ArF1 || header.IsPoint || header.ArF0 || !header.HasAttributes) { // header is incorrect. return(false); } //// check size. //int count = data.Length - 16; //int mod7 = count % 7; //return mod7 == 0 || mod7 == 1 || mod7 == 2; return(true); } return(false); }