本文整理汇总了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
//.........这里部分代码省略.........