Пример #1
0
        public void ObjectDiskWriteRead()
        {
            for (int i = 0; i < 2000; i++)
            {
                fht.Upsert(new MyKey {
                    key = i
                }, new MyValue {
                    value = i
                }, default(MyContext), 0);
            }

            MyOutput g1     = new MyOutput();
            var      status = fht.Read(new MyKey {
                key = 23
            }, new MyInput(), ref g1, new MyContext(), 0);

            if (status == Status.PENDING)
            {
                fht.CompletePending(true);
            }
            else
            {
                Assert.IsTrue(status == Status.OK);
            }

            Assert.IsTrue(g1.value.value == 23);

            status = fht.Read(new MyKey {
                key = 99999
            }, new MyInput(), ref g1, new MyContext(), 0);

            if (status == Status.PENDING)
            {
                fht.CompletePending(true);
            }
            else
            {
                Assert.IsTrue(status == Status.NOTFOUND);
            }
        }