public void DataManagerConstructorTest() { DataManager target = new DataManager(1); int i = 0; Assert.AreEqual(20, target.Read(2, 1)); Assert.AreEqual(40, target.Read(4, 1)); Assert.AreEqual(60, target.Read(6, 1)); Assert.AreEqual(80, target.Read(8, 1)); Assert.AreEqual(100, target.Read(10, 1)); Assert.AreEqual(120, target.Read(12, 1)); Assert.AreEqual(140, target.Read(14, 1)); Assert.AreEqual(160, target.Read(16, 1)); Assert.AreEqual(180, target.Read(18, 1)); Assert.AreEqual(200, target.Read(20, 1)); target = new DataManager(2); Assert.AreEqual(10, target.Read(1, 1)); Assert.AreEqual(110, target.Read(11, 1)); target = new DataManager(4); Assert.AreEqual(30, target.Read(3, 1)); Assert.AreEqual(130, target.Read(13, 1)); target = new DataManager(6); Assert.AreEqual(50, target.Read(5, 1)); Assert.AreEqual(150, target.Read(15, 1)); target = new DataManager(8); Assert.AreEqual(70, target.Read(7, 1)); Assert.AreEqual(170, target.Read(17, 1)); target = new DataManager(10); Assert.AreEqual(90, target.Read(9, 1)); Assert.AreEqual(190, target.Read(19, 1)); }
/// <summary> /// 10/20/2011 /// Initializes a new instance of the <see cref = "Site" /> class. /// </summary> /// <param name = "sNumber">The site number.</param> /// <remarks> /// Side effects: the dataManager is initialized, the site number is set /// </remarks> public Site(int sNumber) : this() { siteNumber = sNumber; dataManager = new DataManager(sNumber); }
public void DataManagerReadTest() { DataManager target = new DataManager(2); target.Write(1, 30, 1, 1); target.Write(2, 20, 1, 1); int actual = target.Read(1, 1); Assert.AreEqual(30, actual); actual = target.Read(1, 2); Assert.AreNotEqual(30, actual); actual = target.Read(2, 1); Assert.AreEqual(20, actual); actual = target.Read(-1, 1); actual = target.Read(20, 1); }
public void RecoverTest() { int siteNumber = 2; DataManager target = new DataManager(siteNumber); target.Write(2, 5, 1, 1); // a different trasnaction reads the original data item int actual = target.Read(2, 2); Assert.AreEqual(20, actual); // the same transaction will read the value it has written actual = target.Read(2, 1); Assert.AreEqual(5, actual); // recover target.Recover(); // same transaction can no longer see the value it ahs written (uncomitted value was lost) actual = target.Read(2, 1); Assert.AreEqual(20, actual); // now write and commit, then recover target.Write(2, 5, 1, 1); target.CommitAllWrites(new Operation(Enumerations.OperationMode.Commit, 1, ts: 0)); target.Recover(); actual = target.Read(2, 1); Assert.AreEqual(5, actual); }
public void ReadTest() { int siteNumber = 0; DataManager target = new DataManager(siteNumber); int dataItem = 2; int transactionId = 0; int timeStamp = 0; int expected = 20; int actual; actual = target.Read(dataItem, transactionId, timeStamp); Assert.AreEqual(expected, actual); target.Write(2, 30, 2, 2); target.CommitAllWrites(new Operation(Enumerations.OperationMode.Commit, 2, ts: 1)); actual = target.Read(dataItem, transactionId, timeStamp); Assert.AreEqual(expected, actual); timeStamp = 3; expected = 30; actual = target.Read(dataItem, transactionId, timeStamp); Assert.AreEqual(expected, actual); }
public void DeleteOldValuesTest() { int siteNumber = 0; DataManager target = new DataManager(siteNumber); int dataItem = 0; int timeStamp = 2; target.Write(2, 5, 1, timeStamp); target.Write(4, 10, 1, timeStamp); target.CommitAllWrites(new Operation(Enumerations.OperationMode.Commit, 1, ts: timeStamp)); timeStamp = 4; target.Write(2, 10, 1, timeStamp); target.Write(4, 10, 1, timeStamp); target.CommitAllWrites(new Operation(Enumerations.OperationMode.Commit, 1, ts: timeStamp)); //Assert.AreEqual(3, target.DataItems[2].OldValues.Count); //Assert.AreEqual(3, target.DataItems[4].OldValues.Count); //target.DeleteOldValues(2, 3); //Assert.AreEqual(1, target.DataItems[2].OldValues.Count); //Assert.AreEqual(10, target.DataItems[2].OldValues[4]); //target.DeleteOldValues(4, 1); //Assert.AreEqual(2, target.DataItems[4].OldValues.Count); //target.DeleteOldValues(4, 4); //Assert.AreEqual(1, target.DataItems[4].OldValues.Count); //Assert.AreEqual(10, target.DataItems[4].OldValues[4]); }
public void DataManagerWriteTest() { DataManager target = new DataManager(1); target.Write(2, 5, 1, 1); Assert.AreEqual(5, target.Read(2, 1)); target.Write(4, 10, 1, 1); Assert.AreEqual(10, target.Read(4, 1)); target.Write(21, 10,1,1); target.Write(-1, 10, 1, 1); }