Exemplo n.º 1
0
        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();
                }
            }
        }
Exemplo n.º 2
0
        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));
        }
Exemplo n.º 3
0
        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));
        }