public virtual void TestOpenIfChangedAndRefCount() { Directory dir = new RAMDirectory(); // no need for random directories here var taxoWriter = new DirectoryTaxonomyWriter(dir); taxoWriter.AddCategory(new FacetLabel("a")); taxoWriter.Commit(); var taxoReader = new DirectoryTaxonomyReader(dir); Assert.AreEqual(1, taxoReader.RefCount, "wrong refCount"); taxoReader.IncRef(); Assert.AreEqual(2, taxoReader.RefCount, "wrong refCount"); taxoWriter.AddCategory(new FacetLabel("a", "b")); taxoWriter.Commit(); var newtr = TaxonomyReader.OpenIfChanged(taxoReader); Assert.IsNotNull(newtr); taxoReader.Dispose(); taxoReader = newtr; Assert.AreEqual(1, taxoReader.RefCount, "wrong refCount"); taxoWriter.Dispose(); taxoReader.Dispose(); dir.Dispose(); }
public virtual void TestCloseAfterIncRef() { Directory dir = NewDirectory(); var ltw = new DirectoryTaxonomyWriter(dir); ltw.AddCategory(new FacetLabel("a")); ltw.Dispose(); DirectoryTaxonomyReader ltr = new DirectoryTaxonomyReader(dir); ltr.IncRef(); ltr.Dispose(); // should not fail as we IncRef() before close var tmpSie = ltr.Size; ltr.DecRef(); dir.Dispose(); }
public virtual void TestCloseAfterIncRef() { Directory dir = NewDirectory(); var ltw = new DirectoryTaxonomyWriter(dir); ltw.AddCategory(new FacetLabel("a")); ltw.Dispose(); DirectoryTaxonomyReader ltr = new DirectoryTaxonomyReader(dir); ltr.IncRef(); ltr.Dispose(); // should not fail as we IncRef() before close var _ = ltr.Count; ltr.DecRef(); dir.Dispose(); }
public virtual void TestOpenIfChangedAndRefCount() { Directory dir = new RAMDirectory(); // no need for random directories here var taxoWriter = new DirectoryTaxonomyWriter(dir); taxoWriter.AddCategory(new FacetLabel("a")); taxoWriter.Commit(); var taxoReader = new DirectoryTaxonomyReader(dir); Assert.AreEqual(1, taxoReader.RefCount, "wrong refCount"); taxoReader.IncRef(); Assert.AreEqual(2, taxoReader.RefCount, "wrong refCount"); taxoWriter.AddCategory(new FacetLabel("a", "b")); taxoWriter.Commit(); var newtr = TaxonomyReader.OpenIfChanged(taxoReader); Assert.NotNull(newtr); taxoReader.Dispose(); taxoReader = newtr; Assert.AreEqual(1, taxoReader.RefCount, "wrong refCount"); taxoWriter.Dispose(); taxoReader.Dispose(); dir.Dispose(); }