public void CreateStreamPartIncreasesStreamPartsCreatedAsNew() { StreamPart.Create(); Assert.That(StreamPartStatistics.StreamPartsCreatedAsNew, Is.EqualTo(1)); Assert.That(StreamPartStatistics.StreamPartsCreatedFromDisposed, Is.EqualTo(0)); }
/// <summary> /// Splits the specified stream into stream parts. /// </summary> /// <param name="stream">The stream.</param> public void Split(Stream stream) { foreach (var streamPart in StreamPart.Create(stream)) { this.OnStreamPartAvailable(streamPart); } }
public void DisposeStreamPartIncreasesStreamPartsCurrentlyDisposed() { var streamPart = StreamPart.Create(); streamPart.Dispose(); Assert.That(StreamPartStatistics.StreamPartsCurrentlyDisposed, Is.EqualTo(1)); }
public void ValueMustNotBeGreaterThanMaximumValueSize() { var streamPart = StreamPart.Create(); var tooBig = StreamPart.MaximumValueSize + 1; var input = new byte[tooBig]; Assert.That(() => streamPart.Value = input, Throws.Exception.TypeOf(typeof(ArgumentException))); }
public void DisposeResultsInAnObjectDisposedException() { var streamPart = StreamPart.Create(); streamPart.Dispose(); Assert.That(() => streamPart.Value = new byte[0], Throws.Exception.TypeOf(typeof(ObjectDisposedException))); }
public void CreateStreamPartFromEmptyStream() { var stream = StreamHelper.GetStream(0); var streamParts = StreamPart.Create(stream); Assert.That(streamParts.Count(), Is.EqualTo(0)); }
public void LengthReturnsLengthOfValue() { var streamPart = StreamPart.Create(); var input = new byte[] { 0, 1, 2 }; streamPart.Value = input; Assert.That(streamPart.Length, Is.EqualTo(3)); }
public void LengthIsZeroOnReusedStreamParts() { var streamPart = StreamPart.Create(); streamPart.Dispose(); streamPart = StreamPart.Create(); Assert.That(streamPart.Length, Is.EqualTo(0)); }
public void ValueCanOnlyBeSetOnce() { var streamPart = StreamPart.Create(); var input = new byte[] { 0, 1, 2, 3, 4 }; streamPart.Value = input; Assert.That(() => streamPart.Value = input, Throws.Exception.TypeOf(typeof(InvalidOperationException))); }
public void ValueReturnsTheValueOriginallyStored() { var streamPart = StreamPart.Create(); var input = new byte[] { 0, 1, 2 }; streamPart.Value = input; var value = streamPart.Value; Assert.That(value, Is.EqualTo(input)); }
public void CreateStreamPartReusesDisposedInstances() { var streamPart1 = StreamPart.Create(); streamPart1.Dispose(); var streamPart2 = StreamPart.Create(); Assert.That(streamPart2, Is.SameAs(streamPart1)); }
public void CreateStreamPartFromDisposedStreamPartIncreasesStreamPartsCreatedFromDisposed() { var streamPart = StreamPart.Create(); streamPart.Dispose(); StreamPart.Create(); Assert.That(StreamPartStatistics.StreamPartsCreatedAsNew, Is.EqualTo(1)); Assert.That(StreamPartStatistics.StreamPartsCreatedFromDisposed, Is.EqualTo(1)); }
public void CreateStreamPartCreatesMultipleInstances() { var streamPart1 = StreamPart.Create(); var streamPart2 = StreamPart.Create(); Assert.That(streamPart1, Is.InstanceOf(typeof(StreamPart))); Assert.That(streamPart2, Is.InstanceOf(typeof(StreamPart))); Assert.That(streamPart1, Is.Not.SameAs(streamPart2)); }
public void CombineReturnsARewindedStream() { const int size = SizeOf64KByte + 1; var stream = StreamHelper.GetStream(size); var streamParts = StreamPart.Create(stream); var combinedStream = StreamPart.Combine(streamParts); Assert.That(combinedStream.Position, Is.EqualTo(0)); }
public void CreateStreamPartIncreasesStreamPartsCreatedTotal() { var streamPart = StreamPart.Create(); streamPart.Dispose(); StreamPart.Create(); StreamPart.Create(); StreamPart.Create(); Assert.That(StreamPartStatistics.StreamPartsCreatedTotal, Is.EqualTo(4)); }
public void InitializeTypeEnforcesNewlyCreatedInstances() { var streamPart1 = StreamPart.Create(); streamPart1.Dispose(); StreamPart.InitializeType(); var streamPart2 = StreamPart.Create(); Assert.That(streamPart1, Is.Not.SameAs(streamPart2)); }
public void LengthIsZeroOnReusedStreamPartsWithPreviousValue() { var streamPart = StreamPart.Create(); var input = new byte[] { 0, 1, 2 }; streamPart.Value = input; streamPart.Dispose(); streamPart = StreamPart.Create(); Assert.That(streamPart.Length, Is.EqualTo(0)); }
public void CombineMultipleStreamParts() { const int size = SizeOf64KByte + 1; var stream = StreamHelper.GetStream(size); var streamParts = StreamPart.Create(stream); var combinedStream = StreamPart.Combine(streamParts); Assert.That(combinedStream.Length, Is.EqualTo(size)); }
public void DisposeIsClearedAfterReuse() { var streamPart = StreamPart.Create(); streamPart.Dispose(); streamPart = StreamPart.Create(); streamPart.Value = new byte[0]; Assert.That(true); }
public void DisposeRaisesDisposedEvent() { int count = 0; StreamPart.Disposed += () => count++; var streamPart = StreamPart.Create(); streamPart.Dispose(); Assert.That(count, Is.EqualTo(1)); }
public void InitializedTypeEnforcesResetOfStatistics() { StreamPart.Create(); StreamPartStatistics.InitializeType(); Assert.That(StreamPartStatistics.StreamPartsCurrentlyInMemory, Is.EqualTo(0)); Assert.That(StreamPartStatistics.StreamPartsCurrentlyDisposed, Is.EqualTo(0)); Assert.That(StreamPartStatistics.StreamPartsCreatedTotal, Is.EqualTo(0)); Assert.That(StreamPartStatistics.StreamPartsCreatedAsNew, Is.EqualTo(0)); Assert.That(StreamPartStatistics.StreamPartsCreatedFromDisposed, Is.EqualTo(0)); }
public void ValueReturnsAnEmptyArrayOnReusedStreamPart() { var streamPart = StreamPart.Create(); var input = new byte[] { 0, 1, 2 }; streamPart.Value = input; streamPart.Dispose(); streamPart = StreamPart.Create(); var value = streamPart.Value; Assert.That(value.Length, Is.EqualTo(0)); }
public void CreateStreamPartFromDisposedStreamPartDecreasesStreamPartsCurrentlyDisposed() { var streamPart1 = StreamPart.Create(); var streamPart2 = StreamPart.Create(); streamPart1.Dispose(); streamPart2.Dispose(); StreamPart.Create(); Assert.That(StreamPartStatistics.StreamPartsCurrentlyDisposed, Is.EqualTo(1)); Assert.That(StreamPartStatistics.StreamPartsCreatedAsNew, Is.EqualTo(2)); Assert.That(StreamPartStatistics.StreamPartsCreatedFromDisposed, Is.EqualTo(1)); }
public void CreateRaisesCreatedWithCreationModeNewly() { int count = 0; StreamPart.Created += streamPartCreationMode => { if (streamPartCreationMode == StreamPartCreationMode.Newly) { count++; } }; var streamPart = StreamPart.Create(); Assert.That(count, Is.EqualTo(1)); }
public void CreateStreamPartFromStreamWhichIs64KByte() { const int size = SizeOf64KByte; var stream = StreamHelper.GetStream(size); var streamParts = StreamPart.Create(stream); Assert.That(streamParts.Count(), Is.EqualTo(1)); foreach (var streamPart in streamParts) { Assert.That(streamPart, Is.InstanceOf(typeof(StreamPart))); Assert.That(streamPart.Length, Is.EqualTo(size)); Assert.That(streamPart.Value.Length, Is.EqualTo(size)); } }
public void ValueReturnsCorrectValueOnReusedStreamPart() { var streamPart = StreamPart.Create(); var input = new byte[] { 0, 1, 2, 3, 4 }; streamPart.Value = input; streamPart.Dispose(); streamPart = StreamPart.Create(); input = new byte[] { 0, 1, 2 }; streamPart.Value = input; var value = streamPart.Value; Assert.That(value.Length, Is.EqualTo(3)); }
public void MergeNonEmptyList() { var streamParts = StreamPart.Create(StreamHelper.GetStream(SizeOf64KByte + 1)); var streamMerger = new StreamMerger(); int count = 0; streamMerger.StreamAvailable += stream => { count++; Assert.That(stream.Length, Is.EqualTo(SizeOf64KByte + 1)); }; streamMerger.Merge(streamParts); Assert.That(count, Is.EqualTo(1)); }
public void CombineMarksAllStreamPartsAsDisposed() { const int size = SizeOf64KByte + 1; var stream = StreamHelper.GetStream(size); var streamParts = StreamPart.Create(stream); var combinedStream = StreamPart.Combine(streamParts); // NOTE: The number of currently disposed stream parts is 1 and not 2 as one might // have expected. This is due to the fact that the Combine method disposes the // first stream part before creating the second one. Assert.That(StreamPartStatistics.StreamPartsCurrentlyDisposed, Is.EqualTo(1)); Assert.That(StreamPartStatistics.StreamPartsCreatedTotal, Is.EqualTo(2)); Assert.That(StreamPartStatistics.StreamPartsCreatedAsNew, Is.EqualTo(1)); Assert.That(StreamPartStatistics.StreamPartsCreatedFromDisposed, Is.EqualTo(1)); }
public void CreateRaisesCreatedWithCreationModeFromDisposedWhenReusingADisposedStreamPart() { int count = 0; StreamPart.Created += streamPartCreationMode => { if (streamPartCreationMode == StreamPartCreationMode.FromDisposed) { count++; } }; var streamPart = StreamPart.Create(); streamPart.Dispose(); streamPart = StreamPart.Create(); Assert.That(count, Is.EqualTo(1)); }
public void CreateStreamPartFromStreamWhichIsLargerThan64KByte() { const int size = SizeOf64KByte + 1; var stream = StreamHelper.GetStream(size); var streamParts = StreamPart.Create(stream); Assert.That(streamParts.Count(), Is.EqualTo(2)); var sizes = new[] { SizeOf64KByte, 1 }; int current = 0; foreach (var streamPart in streamParts) { Assert.That(streamPart, Is.InstanceOf(typeof(StreamPart))); Assert.That(streamPart.Length, Is.EqualTo(sizes[current])); Assert.That(streamPart.Value.Length, Is.EqualTo(sizes[current++])); } }