public void ProcessWaitingOpsTest() { TransactionManager target = new TransactionManager(); target.ProcessWaitingOps(); Assert.AreEqual(0, target.waitingOps.Count); Assert.AreEqual(0, target.waitingTransactions.Count); target.activeTransactions[1] = new Transaction(1, 1); target.activeTransactions[2] = new Transaction(2, 1); target.activeTransactions[2].CurrentOp = new Operation(Enumerations.OperationMode.Read, 2, 4); Assert.IsNull(target.activeTransactions[1].CurrentOp); Assert.IsNotNull(target.activeTransactions[2].CurrentOp); target.waitingOps.Add(new Operation(Enumerations.OperationMode.Write, 1, 2, 2)); target.waitingOps.Add(new Operation(Enumerations.OperationMode.Read, 2, 2)); target.ProcessWaitingOps(); Assert.AreEqual(1, target.waitingOps.Count); Assert.AreEqual(Enumerations.OperationMode.Write, target.activeTransactions[1].CurrentOp.OpMode); Assert.AreEqual(2, target.waitingOps[0].TransactionNumber); Assert.AreEqual(1, target.activeTransactions[1].CurrentOp.TransactionNumber); Assert.AreEqual(2, target.activeTransactions[1].CurrentOp.DataItem); Assert.AreEqual(2, target.activeTransactions[1].CurrentOp.NewValue); target.activeTransactions[2].CurrentOp = null; target.ProcessWaitingOps(); Assert.AreEqual(0, target.waitingOps.Count); Assert.AreEqual(2, target.activeTransactions[2].CurrentOp.TransactionNumber); Assert.AreEqual(2, target.activeTransactions[2].CurrentOp.DataItem); Assert.AreEqual(Enumerations.OperationMode.Read, target.activeTransactions[2].CurrentOp.OpMode); }