Esempio n. 1
0
 public void TestAlreadyLocked()
 {
     Assert.ThrowsException <AlreadyLockedException>(() => {
         using var _  = new StringPlaneDB(new DirectoryInfo("testdb"), FileMode.OpenOrCreate, planeDBOptions);
         using var __ = new StringPlaneDB(new DirectoryInfo("testdb"), FileMode.OpenOrCreate, planeDBOptions);
     });
 }
Esempio n. 2
0
        public void TestTyped()
        {
            using (var db = new StringPlaneDB(new DirectoryInfo("testdb"), FileMode.CreateNew, planeDBOptions)) {
                for (var i = 0; i < COUNT; ++i)
                {
                    db[i.ToString()] = i.ToString() + i + i + i + i;
                }
            }

            using (var db = new StringPlaneDB(new DirectoryInfo("testdb"), FileMode.Open, planeDBOptions)) {
                for (var i = 0; i < COUNT; ++i)
                {
                    Assert.AreEqual(db[i.ToString()], i.ToString() + i + i + i + i);
                }

                Assert.IsTrue(db.TryRemove("0", out var removed));
                Assert.AreEqual("00000", removed);
            }

            using (var db = new StringPlaneDB(new DirectoryInfo("testdb"), FileMode.Open, planeDBOptions)) {
                for (var i = 1; i < COUNT; ++i)
                {
                    Assert.AreEqual(db[i.ToString()], i.ToString() + i + i + i + i);
                }
            }

            using (var db = new StringPlaneDB(new DirectoryInfo("testdb"), FileMode.Open, planeDBOptions)) {
                for (var i = 0; i < COUNT; ++i)
                {
                    var k = i.ToString();
                    if (i == 0)
                    {
                        Assert.IsFalse(db.TryGetValue(k, out _));
                    }
                    else
                    {
                        Assert.IsTrue(db.TryGetValue(k, out var v));
                        Assert.AreEqual(v, i.ToString() + i + i + i + i);
                    }
                }
            }

            using (var db = new StringPlaneDB(new DirectoryInfo("testdb"), FileMode.Open, planeDBOptions)) {
                db.Add("test1", "test1");
            }

            using (var db = new StringPlaneDB(new DirectoryInfo("testdb"), FileMode.Open, planeDBOptions)) {
                db.Add("test2", "test2");
            }

            using (var db = new StringPlaneDB(new DirectoryInfo("testdb"), FileMode.Open, planeDBOptions)) {
                db.AddOrUpdate("test2", "test3", (_, __) => "test3");
            }

            using (var db = new StringPlaneDB(new DirectoryInfo("testdb"), FileMode.Open, planeDBOptions)) {
                db.Add("test3", "test4");
            }

            using (var db = new StringPlaneDB(new DirectoryInfo("testdb"), FileMode.Open, planeDBOptions)) {
                foreach (var i in new[] {
                    new[] { "test1", "test1" }, new[] { "test2", "test3" }, new[] { "test3", "test4" }
                })
                {
                    Assert.IsTrue(db.TryGetValue(i[0], out var v));
                    Assert.AreEqual(i[1], v);
                }
            }
        }