public void EnoughData() { ParserContext parserContext = new ParserContext( ParserContext.DefaultBufferSize); VariableLengthManager lengthManager = new VariableLengthManager(1, 480, StringLengthEncoder.GetInstance(480)); parserContext.Write("0"); Assert.IsFalse(lengthManager.EnoughData(ref parserContext)); parserContext.Write("0"); Assert.IsFalse(lengthManager.EnoughData(ref parserContext)); parserContext.Write("9Some data"); Assert.IsTrue(lengthManager.EnoughData(ref parserContext)); }
public void Constructor() { VariableLengthManager lengthManager = new VariableLengthManager(5, 40, StringLengthEncoder.GetInstance(2)); Assert.IsTrue(lengthManager.MinimumLength == 5); Assert.IsTrue(lengthManager.MaximumLength == 40); Assert.IsTrue(lengthManager.LengthEncoder == StringLengthEncoder.GetInstance(2)); lengthManager = new VariableLengthManager(20, 20, StringLengthEncoder.GetInstance(3)); Assert.IsTrue(lengthManager.MinimumLength == 20); Assert.IsTrue(lengthManager.MaximumLength == 20); Assert.IsTrue(lengthManager.LengthEncoder == StringLengthEncoder.GetInstance(3)); try { lengthManager = new VariableLengthManager(-1, 40, StringLengthEncoder.GetInstance(2)); Assert.Fail(); } catch (ArgumentOutOfRangeException e) { Assert.IsTrue(e.ParamName.Equals("minimumLength")); } try { lengthManager = new VariableLengthManager(50, 40, StringLengthEncoder.GetInstance(2)); Assert.Fail(); } catch (ArgumentOutOfRangeException e) { Assert.IsTrue(e.ParamName.Equals("minimumLength")); } try { lengthManager = new VariableLengthManager(10, 20, null); Assert.Fail(); } catch (ArgumentNullException e) { Assert.IsTrue(e.ParamName.Equals("lengthEncoder")); } }
public void WriteLength() { FormatterContext formatterContext = new FormatterContext( FormatterContext.DefaultBufferSize); VariableLengthManager lengthManager = new VariableLengthManager(8, 24, StringLengthEncoder.GetInstance(999)); lengthManager.WriteLength(null, 8, 8, ref formatterContext); string length = formatterContext.GetDataAsString(); Assert.IsTrue(length.Equals("008")); formatterContext.Clear(); lengthManager.WriteLength(null, 15, 15, ref formatterContext); length = formatterContext.GetDataAsString(); Assert.IsTrue(length.Equals("015")); formatterContext.Clear(); lengthManager.WriteLength(null, 24, 24, ref formatterContext); length = formatterContext.GetDataAsString(); Assert.IsTrue(length.Equals("024")); try { lengthManager.WriteLength(null, 1, 1, ref formatterContext); Assert.Fail(); } catch (ArgumentOutOfRangeException e) { Assert.IsTrue(e.ParamName.Equals("dataLength")); } try { lengthManager.WriteLength(null, 90, 90, ref formatterContext); Assert.Fail(); } catch (ArgumentOutOfRangeException e) { Assert.IsTrue(e.ParamName.Equals("dataLength")); } }
public void ReadLength() { ParserContext parserContext = new ParserContext( ParserContext.DefaultBufferSize); VariableLengthManager lengthManager = new VariableLengthManager(120, 180, StringLengthEncoder.GetInstance(999)); parserContext.Write("120"); int length = lengthManager.ReadLength(ref parserContext); Assert.IsTrue(length == 120); parserContext.Write("150"); length = lengthManager.ReadLength(ref parserContext); Assert.IsTrue(length == 150); parserContext.Write("180"); length = lengthManager.ReadLength(ref parserContext); Assert.IsTrue(length == 180); parserContext.Write("005"); try { lengthManager.ReadLength(ref parserContext); Assert.Fail(); } catch (MessagingException) { } parserContext.Clear(); parserContext.Write("999"); try { lengthManager.ReadLength(ref parserContext); Assert.Fail(); } catch (MessagingException) { } }