static void VerifyStructs(int key, ref KeyStruct keyStruct, ref InputStruct inputStruct, ref OutputStruct outputStruct, ref ContextStruct contextStruct, bool useRMW) { Assert.AreEqual(key, keyStruct.kfield1); Assert.AreEqual(key + numRecords * 10, keyStruct.kfield2); Assert.AreEqual(key + numRecords * 30, inputStruct.ifield1); Assert.AreEqual(key + numRecords * 40, inputStruct.ifield2); // RMW causes the InPlaceUpdater to be called, which adds input fields to the value. Assert.AreEqual(key + (useRMW ? inputStruct.ifield1 : 0), outputStruct.value.vfield1); Assert.AreEqual(key + numRecords * 10 + (useRMW ? inputStruct.ifield2 : 0), outputStruct.value.vfield2); Assert.AreEqual(key + numRecords * 50, contextStruct.cfield1); Assert.AreEqual(key + numRecords * 60, contextStruct.cfield2); }
static void VerifyStructs(int key, ref KeyStruct keyStruct, ref InputStruct inputStruct, ref OutputStruct outputStruct, ref ContextStruct contextStruct) { Assert.AreEqual(key, keyStruct.kfield1); Assert.AreEqual(key + numRecords * 10, keyStruct.kfield2); Assert.AreEqual(key + numRecords * 30, inputStruct.ifield1); Assert.AreEqual(key + numRecords * 40, inputStruct.ifield2); Assert.AreEqual(key, outputStruct.value.vfield1); Assert.AreEqual(key + numRecords * 10, outputStruct.value.vfield2); Assert.AreEqual(key + numRecords * 50, contextStruct.cfield1); Assert.AreEqual(key + numRecords * 60, contextStruct.cfield2); }