public void CanUndoProjectDeviceVersion() { using (var dbFactory = new TestDbConnectionFactory()) using (var conn = dbFactory.Database()) { var project = new Project { Name = "Test" }; var device = new Device { IpAddress = "192.168.1.1", Name = "MyTestDevice" }; project = ProjectActions.CreateProject(project).Function(conn); var projectDevice = DeviceActions.AddDeviceToProject(project.Id, device).Function(conn); var projectDeviceVersion = ProjectDeviceActions.SetLatestProjectDeviceVersion(new ProjectDeviceVersion { ProjectDeviceId = projectDevice.Id, HorizontalPercentage = 100, VerticalPercentage = 100, NumberOfHorizontalPixels = 50, NumberOfVerticalPixels = 50, StartAtHorizontalPercentage = 0, StartAtVerticalPercentage = 0 }).Function(conn); var updatedProjectDeviceVersion = ProjectDeviceActions.SetLatestProjectDeviceVersion(new ProjectDeviceVersion { ProjectDeviceId = projectDevice.Id, HorizontalPercentage = 99, VerticalPercentage = 99, NumberOfHorizontalPixels = 30, NumberOfVerticalPixels = 30, StartAtHorizontalPercentage = 1, StartAtVerticalPercentage = 1 }).Function(conn); var undoneProjectDeviceVersion = ProjectDeviceActions.UndoLatestProjectDeviceVersion(projectDevice.Id).Function(conn); var undoEqualsOriginalProjectDeviceVersion = projectDeviceVersion.PropertiesAreEqual(undoneProjectDeviceVersion); Assert.True(undoEqualsOriginalProjectDeviceVersion); } }