public void VerifyJetThreadstats2Inequality()

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]);
                }
            }
        }