in EsentInteropTests/Windows10EquatableTests.cs [64:204]
public void VerifyJetThreadstats2Inequality()
{
// None of these objects are equal, most differ in only one member from the
// first object. We will compare them all against each other.
var threadstats2 = new[]
{
new JET_THREADSTATS2
{
cbLogRecord = 1,
cLogRecord = 2,
cPageDirtied = 3,
cPagePreread = 4,
cPageRead = 5,
cPageRedirtied = 6,
cPageReferenced = 7,
cusecPageCacheMiss = 8,
cPageCacheMiss = 9,
},
new JET_THREADSTATS2
{
cbLogRecord = 11,
cLogRecord = 2,
cPageDirtied = 3,
cPagePreread = 4,
cPageRead = 5,
cPageRedirtied = 6,
cPageReferenced = 7,
cusecPageCacheMiss = 8,
cPageCacheMiss = 9,
},
new JET_THREADSTATS2
{
cbLogRecord = 1,
cLogRecord = 12,
cPageDirtied = 3,
cPagePreread = 4,
cPageRead = 5,
cPageRedirtied = 6,
cPageReferenced = 7,
cusecPageCacheMiss = 8,
cPageCacheMiss = 9,
},
new JET_THREADSTATS2
{
cbLogRecord = 1,
cLogRecord = 2,
cPageDirtied = 13,
cPagePreread = 4,
cPageRead = 5,
cPageRedirtied = 6,
cPageReferenced = 7,
cusecPageCacheMiss = 8,
cPageCacheMiss = 9,
},
new JET_THREADSTATS2
{
cbLogRecord = 1,
cLogRecord = 2,
cPageDirtied = 3,
cPagePreread = 14,
cPageRead = 5,
cPageRedirtied = 6,
cPageReferenced = 7,
cusecPageCacheMiss = 8,
cPageCacheMiss = 9,
},
new JET_THREADSTATS2
{
cbLogRecord = 1,
cLogRecord = 2,
cPageDirtied = 3,
cPagePreread = 4,
cPageRead = 15,
cPageRedirtied = 6,
cPageReferenced = 7,
cusecPageCacheMiss = 8,
cPageCacheMiss = 9,
},
new JET_THREADSTATS2
{
cbLogRecord = 1,
cLogRecord = 2,
cPageDirtied = 3,
cPagePreread = 4,
cPageRead = 5,
cPageRedirtied = 16,
cPageReferenced = 7,
cusecPageCacheMiss = 8,
cPageCacheMiss = 9,
},
new JET_THREADSTATS2
{
cbLogRecord = 1,
cLogRecord = 2,
cPageDirtied = 3,
cPagePreread = 4,
cPageRead = 5,
cPageRedirtied = 6,
cPageReferenced = 17,
cusecPageCacheMiss = 8,
cPageCacheMiss = 9,
},
new JET_THREADSTATS2
{
cbLogRecord = 1,
cLogRecord = 2,
cPageDirtied = 3,
cPagePreread = 4,
cPageRead = 5,
cPageRedirtied = 6,
cPageReferenced = 7,
cusecPageCacheMiss = 18,
cPageCacheMiss = 9,
},
new JET_THREADSTATS2
{
cbLogRecord = 1,
cLogRecord = 2,
cPageDirtied = 3,
cPagePreread = 4,
cPageRead = 5,
cPageRedirtied = 6,
cPageReferenced = 7,
cusecPageCacheMiss = 8,
cPageCacheMiss = 19,
},
};
// It would be nice if this was a generic helper method, but that won't
// work for operator== and operator!=.
for (int i = 0; i < threadstats2.Length - 1; ++i)
{
for (int j = i + 1; j < threadstats2.Length; ++j)
{
Debug.Assert(i != j, "About to compare the same JET_THREADSTATS2");
TestNotEquals(threadstats2[i], threadstats2[j]);
Assert.IsTrue(threadstats2[i] != threadstats2[j]);
Assert.IsFalse(threadstats2[i] == threadstats2[j]);
}
}
}