public void NewSeries() { var s = new Series <int, int>(Array.Empty <int>(), Array.Empty <int>()); Assert.AreEqual(s.Mutability, Mutability.ReadOnly); Assert.AreEqual(s.KeySorting, KeySorting.Strong); Assert.AreEqual(0, s.RowCount.Value); s.Dispose(); Assert.IsTrue(s.IsDisposed); var aps = new AppendSeries <int, int>(); Assert.AreEqual(aps.Mutability, Mutability.AppendOnly); Assert.AreEqual(aps.KeySorting, KeySorting.Strong); Assert.AreEqual(0, aps.RowCount.Value); aps.Dispose(); Assert.IsTrue(aps.IsDisposed); var mus = new MutableSeries <int, int>(); Assert.AreEqual(mus.Mutability, Mutability.Mutable); Assert.AreEqual(mus.KeySorting, KeySorting.Strong); Assert.AreEqual(0, mus.RowCount.Value); mus.MarkAppendOnly(); mus.MarkAppendOnly(); // ignored, does not throw Assert.AreEqual(Mutability.AppendOnly, mus.Mutability); mus.MarkReadOnly(); mus.MarkReadOnly(); // ignored, does not throw Assert.AreEqual(Mutability.ReadOnly, mus.Mutability); Assert.Throws <InvalidOperationException>(() => { mus.MarkAppendOnly(); }); mus.Dispose(); Assert.IsTrue(mus.IsDisposed); }
public IEnumerable <DataBlock> Values => _blockSeries.Values; //.Select(x => x.TryGetTarget(out var tgt) ? tgt : null); public virtual void Dispose() { foreach (var block in _blockSeries.Values) { block.Dispose(); } _root = null; _blockSeries.Dispose(); }