public void SetTransactionsCurrentOpTest() { TransactionManager target = new TransactionManager(); List<Operation> newOps = new List<Operation>(); target.activeTransactions[1] = new Transaction(1, 1); target.activeTransactions[2] = new Transaction(2, 1); newOps.Add(new Operation(Enumerations.OperationMode.Write, 1)); // should work fine List<Operation> actual = target.SetTransactionsCurrentOp(newOps); Assert.AreEqual(0, actual.Count); newOps.Clear(); newOps.Add(new Operation(Enumerations.OperationMode.Write, 1, 1, 1)); // should be returned back newOps.Add(new Operation(Enumerations.OperationMode.Read, 2, 1)); // should be added to transaction correctly actual = target.SetTransactionsCurrentOp(newOps); Assert.AreEqual(1, actual.Count); Assert.AreEqual(Enumerations.OperationMode.Write, actual[0].OpMode); Assert.AreEqual(1, actual[0].TransactionNumber); Assert.AreEqual(1, actual[0].DataItem); actual = target.SetTransactionsCurrentOp(newOps); // this should return 2 ops Assert.AreEqual(2, actual.Count); Assert.AreEqual(Enumerations.OperationMode.Write, actual[0].OpMode); Assert.AreEqual(1, actual[0].TransactionNumber); Assert.AreEqual(1, actual[0].DataItem); Assert.AreEqual(Enumerations.OperationMode.Read, actual[1].OpMode); Assert.AreEqual(2, actual[1].TransactionNumber); Assert.AreEqual(1, actual[0].DataItem); }