public void LockTransitionsToAwaitingRetryDataFileWhenOperationFails() { var servantMock = new Mock <DataFileServant>(); DataFileServant.Instance = servantMock.Object; const string filePath = "201306158F341A2D6FD7416B87073A0132DD51AE.chk.20150627111406.released"; var sut = new ReleasedDataFile(filePath); var messageBodyMock = new Mock <MessageBody>(sut); messageBodyMock.SetupAllProperties(); servantMock.Setup(s => s.TryMoveFile(filePath, It.IsAny <string>())).Returns(false); sut.Lock(messageBodyMock.Object); Assert.That(messageBodyMock.Object.DataFile, Is.TypeOf <AwaitingRetryDataFile>()); }
public void LockTransitionsToNewReleasedDataFileWhenOperationSucceeds() { var servantMock = new Mock <DataFileServant>(); DataFileServant.Instance = servantMock.Object; const string filePath = "201306158F341A2D6FD7416B87073A0132DD51AE.chk.20150627111406.released"; var sut = new ReleasedDataFile(filePath); var messageBodyMock = new Mock <MessageBody>(sut); messageBodyMock.SetupAllProperties(); servantMock.Setup(s => s.TryMoveFile(filePath, It.IsAny <string>())).Returns(true); sut.Lock(messageBodyMock.Object); Assert.That(messageBodyMock.Object.DataFile, Is.TypeOf <ReleasedDataFile>()); Assert.That(messageBodyMock.Object.DataFile, Is.Not.SameAs(sut)); Assert.That(sut.Path.Tokenize().LockTime < messageBodyMock.Object.DataFile.Path.Tokenize().LockTime); }