public void ExoticCoverage() { Executing.This(() => TeaFile <int> .Create((string)null)).Should().Throw <ArgumentNullException>(); Executing.This(() => TeaFile <int> .Create((string)null, "contento", null)).Should().Throw <ArgumentNullException>(); Executing.This(() => TeaFile <int> .Create((string)null, "a", null, true)).Should().Throw <ArgumentNullException>(); Executing.This(() => TeaFile <int> .Create((Stream)null, "a", null, true)).Should().Throw <ArgumentNullException>(); Executing.This(() => TeaFile <int> .Create((Stream)null)).Should().Throw <ArgumentNullException>(); Executing.This(() => TeaFile <int> .Create((Stream)null, "contento", null)).Should().Throw <ArgumentNullException>(); Executing.This(() => TeaFile <int> .OpenRead((Stream)null)).Should().Throw <ArgumentNullException>(); Executing.This(() => TeaFile <int> .OpenRead((Stream)null, ItemDescriptionElements.None)).Should().Throw <ArgumentNullException>(); Executing.This(() => TeaFile <int> .OpenRead((string)null)).Should().Throw <ArgumentNullException>(); Executing.This(() => TeaFile <int> .OpenRead((string)null, ItemDescriptionElements.None)).Should().Throw <ArgumentNullException>(); Executing.This(() => TeaFile <int> .OpenWrite((Stream)null)).Should().Throw <ArgumentNullException>(); Executing.This(() => TeaFile <int> .OpenWrite((Stream)null, ItemDescriptionElements.None)).Should().Throw <ArgumentNullException>(); Executing.This(() => TeaFile <int> .OpenWrite((string)null)).Should().Throw <ArgumentNullException>(); Executing.This(() => TeaFile <int> .OpenWrite((string)null, ItemDescriptionElements.None)).Should().Throw <ArgumentNullException>(); Executing.This(() => TeaFile <int> .Append(null)).Should().Throw <ArgumentNullException>(); Executing.This(() => TeaFile <int> .Append(null)).Should().Throw <ArgumentNullException>(); Executing.This(() => TeaFile <int> .Append(null, ItemDescriptionElements.None)).Should().Throw <ArgumentNullException>(); var stream = new MemoryStream(); using (var tf = TeaFile <int> .Create(stream)) { tf.Write(Enumerable.Range(100, 7)); } stream.Position = 0; using (var tf = TeaFile <int> .OpenRead(stream)) { tf.Items.GetEnumerator().Should().Not.Be.Null(); } }
public void AppendStreamTest() { const string filename = "AppendStreamTest"; using (var tf = TeaFile <int> .Create(filename)) { tf.Write(Enumerable.Range(1, 10)); } using (var tf = TeaFile <int> .Append(filename)) { tf.Write(Enumerable.Range(70, 5)); } using (var tf = TeaFile <int> .OpenRead(filename)) { tf.Count.Should().Be(15); tf.Items.Should().Have.SameSequenceAs(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 70, 71, 72, 73, 74); } }
public void Append() { var filename = "TeaFileTTest_Append.tea"; long fileLength0; FileInfo fi = new FileInfo(filename); using (var tf = TeaFile <int> .Create(filename)) { fi.Refresh(); fileLength0 = fi.Length; tf.Count.Should().Be(0); tf.Write(5); tf.Flush(); fi.Refresh(); tf.Count.Should().Be(1); fi.Length.Should().Be(fileLength0 + 4); } using (var tf = TeaFile <int> .OpenRead(filename)) { Console.WriteLine(tf); fi.Refresh(); fi.Length.Should().Be(fileLength0 + 4); tf.Count.Should().Be(1); } using (var tf = TeaFile <int> .Append(filename)) { fi.Refresh(); fi.Length.Should().Be(fileLength0 + 4); tf.Count.Should().Be(1); tf.Write(711); tf.Flush(); fi.Refresh(); fi.Length.Should().Be(fileLength0 + 8); tf.Count.Should().Be(2); } }