public static void TestWriteCache_ClearNode_LeftGuidIntact() { var wc = new WriteCache( WRITE_CACHE_FILE_INFO, WRITE_CACHE_MAX_RECORD_COUNT, null, null ); var id = Guid.NewGuid(); var node = wc.WriteNode(new StratusAsset { Id = id, }); wc.ClearNode(node); using (var fs = new FileStream(WRITE_CACHE_FILE_INFO.FullName, FileMode.Open, FileAccess.Read)) { try { fs.Seek((long)node.FileOffset, SeekOrigin.Begin); // Check each row. var buffer = new byte[WriteCacheNode.BYTE_SIZE]; fs.Read(buffer, 0, buffer.Length); Assert.AreEqual(id.ToByteArray(), buffer.Skip(1)); } finally { fs.Close(); } } }
public static void TestWriteCache_ClearNode_Null_ArgumentNullException() { var wc = new WriteCache( WRITE_CACHE_FILE_INFO, WRITE_CACHE_MAX_RECORD_COUNT, null, null ); Assert.Throws <ArgumentNullException>(() => wc.ClearNode(null)); }
public static void TestWriteCache_ClearNode_DoesntThrow() { var wc = new WriteCache( WRITE_CACHE_FILE_INFO, WRITE_CACHE_MAX_RECORD_COUNT, null, null ); var node = wc.WriteNode(new StratusAsset { Id = Guid.NewGuid(), }); Assert.DoesNotThrow(() => wc.ClearNode(node)); }