当前位置: 首页>>代码示例>>C#>>正文


C# Record.ToBool方法代码示例

本文整理汇总了C#中Record.ToBool方法的典型用法代码示例。如果您正苦于以下问题:C# Record.ToBool方法的具体用法?C# Record.ToBool怎么用?C# Record.ToBool使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Record的用法示例。


在下文中一共展示了Record.ToBool方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: Run

        public void Run(TestConfig config)
        {
            int i;
            Record r=null;
            int count = config.Count;
            var res = new TestIndexBooleanResult();
            config.Result = res;
            var start = DateTime.Now;
            IDatabase db = config.GetDatabase();
            Tests.Assert(null == db.Root);
            var idx = db.CreateIndex<Boolean, Record>(IndexType.NonUnique);
            db.Root = idx;

            long val = 1999;
            int falseCount = 0;
            int trueCount = 0;
            for (i = 0; i < count; i++)
            {
                r = new Record();
                r.val = val;
                idx.Put(r.ToBool(), r);
                if (r.ToBool())
                    trueCount += 1;
                else
                    falseCount += 1;
                if (i % 1000 == 0)
                    db.Commit();
                val = (3141592621L * val + 2718281829L) % 1000000007L;
            }
            Tests.Assert(count == trueCount + falseCount);
            db.Commit();
            Tests.Assert(idx.Count == count);
            res.InsertTime = DateTime.Now - start;

            start = System.DateTime.Now;
            Tests.AssertDatabaseException(() => { r = idx[true]; }, DatabaseException.ErrorCode.KEY_NOT_UNIQUE );

            Tests.AssertDatabaseException(() => { r = idx[false]; },
             DatabaseException.ErrorCode.KEY_NOT_UNIQUE );

            Record[] recs = idx[true, true];
            Tests.Assert(recs.Length == trueCount);
            foreach (var r2 in recs)
            {
                Tests.Assert(r2.ToBool());
            }
            recs = idx[false, false];
            Tests.Assert(recs.Length == falseCount);
            foreach (var r2 in recs)
            {
                Tests.Assert(!r2.ToBool());
            }

            var e1 = idx.GetEnumerator(false, true, IterationOrder.AscentOrder);
            Record first = null;
            i = 0;
            while (e1.MoveNext())
            {
                r = e1.Current;
                if (null == first)
                    first = r;
                if (i<falseCount)
                    Tests.Assert(!r.ToBool());
                else
                    Tests.Assert(r.ToBool());
                i++;
            }
            Tests.VerifyEnumeratorDone(e1);

            e1 = idx.GetEnumerator(false, true, IterationOrder.DescentOrder);
            i = 0;
            while (e1.MoveNext())
            {
                r = e1.Current;
                if (i<trueCount)
                    Tests.Assert(r.ToBool());
                else
                    Tests.Assert(!r.ToBool());
                i++;
            }
            Tests.Assert(first.val == r.val);
            Tests.VerifyEnumeratorDone(e1);

            i = 0;
            foreach (var r2 in idx.Range(false, true))
            {
                if (i < falseCount)
                    Tests.Assert(!r2.ToBool());
                else
                    Tests.Assert(r2.ToBool());
                i++;
            }
            Tests.Assert(i == count);

            i = 0;
            foreach (var r2 in idx.Range(false, true, IterationOrder.DescentOrder))
            {
                if (i < trueCount)
                    Tests.Assert(r2.ToBool());
                else
//.........这里部分代码省略.........
开发者ID:kjk,项目名称:volante,代码行数:101,代码来源:TestIndexBoolean.cs


注:本文中的Record.ToBool方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。