public void Can_Undo_Move_Operation()
        {
            // arrange
            var file = Path.GetTempFileName();
            var newFilename = Path.GetTempPath() + Guid.NewGuid() + ".tmp";
            var operation = new MoveOperation(
                new FileInfo(file), new FileInfo(newFilename));
            operation.Do();

            // assume
            File.Exists(file).ShouldBe(false);
            File.Exists(newFilename).ShouldBe(true);

            // act
            operation.Undo();

            // assert
            File.Exists(file).ShouldBe(true);
            File.Exists(newFilename).ShouldBe(false);
        }