public void CollectData() { var dataCollector = new DataCollector(); dataCollector.ObjectFinished += container => collectedDataObjects.Add(container); Assert.IsEmpty(collectedDataObjects); var byteList = new List<byte>(); byteList.AddRange(dataCollector.GetTestBytesWithLengthHeader(6)); byteList.AddRange(dataCollector.GetTestBytesWithLengthHeader(4)); byteList.AddRange(dataCollector.GetTestBytesWithLengthHeader(10)); Assert.AreEqual(32, byteList.Count); var bytePackages = SplitDataStream(byteList, 10, 10, 11, 1); foreach (byte[] package in bytePackages) dataCollector.ReadBytes(package, 0, package.Length); Assert.AreEqual(3, collectedDataObjects.Count); }