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);
            }
        }