Пример #1
0
        public void TagsAreNotReWrittenOnOpen()
        {
            var tags = new[]
            {
                "alpha", "beta", "charlie", "delta", "echo", "foxtrot", "golf"
            };

            foreach (var tag in tags)
            {
                _cache.AddOrGet(tag);
            }
            _cache.Dispose();
            _cache = null;

            using (var opened = new TagsCache())
            {
                opened.Open(_path);
                opened.Dispose();
            }

            using (var file = new RecordStream <int>())
            {
                file.Open(_path);
                file.DeclareRecordType(0, typeof(TagStorageClass));

                Assert.That(file.ReadRecords <TagStorageClass>().Count(t => t.Tag == "charlie"), Is.EqualTo(1));
            }
        }
Пример #2
0
        public void TagsCanBeRetrievedByKeyAfterOpen()
        {
            var tags = new[]
            {
                "alpha", "beta", "charlie", "delta", "echo", "foxtrot", "golf"
            };

            var id = 0;

            foreach (var tag in tags)
            {
                id = _cache.AddOrGet(tag);
            }

            var opened = new TagsCache();

            _cache.Dispose();

            _cache = opened;
            opened.Open(_path);

            var result = _cache.Get(id);

            Assert.That(result, Is.EqualTo("golf"));
        }
Пример #3
0
        public void TagsAreLoadedOnOpen()
        {
            var tags = new[]
            {
                "alpha", "beta", "charlie", "delta", "echo", "foxtrot", "golf"
            };

            foreach (var tag in tags)
            {
                _cache.AddOrGet(tag);
            }

            var opened = new TagsCache();

            _cache.Dispose();

            _cache = opened;
            opened.Open(_path);

            var result = LoadTags(opened);

            Console.WriteLine(result);
            Approvals.Verify(result);
        }