// Path: src/test/java/org/simondean/vertx/async/unit/examples/RetryExample.java
// public class RetryExample extends BaseExample {
//   private final boolean succeed;
//   private String result;
// 
//   public RetryExample(boolean succeed) {
//     this.succeed = succeed;
//   }
// 
//   public void retryExample(AsyncResultHandler<String> handler) {
//     Async.retry()
//       .<String>task(taskHandler -> {
//         someAsyncMethodThatTakesAHandler(taskHandler);
//       })
//       .times(5)
//       .run(result -> {
//         if (result.failed()) {
//           handler.handle(DefaultAsyncResult.fail(result));
//           return;
//         }
// 
//         String resultValue = result.result();
// 
//         doSomethingWithTheResults(resultValue);
// 
//         handler.handle(DefaultAsyncResult.succeed(resultValue));
//       });
//   }
// 
//   private void someAsyncMethodThatTakesAHandler(AsyncResultHandler<String> handler) {
//     if (!succeed) {
//       handler.handle(DefaultAsyncResult.fail(new Exception("Fail")));
//       return;
//     }
// 
//     handler.handle(DefaultAsyncResult.succeed("Async result"));
//   }
// 
//   private void doSomethingWithTheResults(String result) {
//     this.result = result;
//   }
// 
//   public String result() {
//     return result;
//   }
// }


import org.junit.Test;
import org.simondean.vertx.async.unit.examples.RetryExample;
import static org.assertj.core.api.Assertions.assertThat;
package org.simondean.vertx.async.unit;



public class RetryExampleTest {
  @Test
  public void itHandlesSuccess() {
// Path: src/test/java/org/simondean/vertx/async/unit/examples/RetryExample.java
// public class RetryExample extends BaseExample {
//   private final boolean succeed;
//   private String result;
// 
//   public RetryExample(boolean succeed) {
//     this.succeed = succeed;
//   }
// 
//   public void retryExample(AsyncResultHandler<String> handler) {
//     Async.retry()
//       .<String>task(taskHandler -> {
//         someAsyncMethodThatTakesAHandler(taskHandler);
//       })
//       .times(5)
//       .run(result -> {
//         if (result.failed()) {
//           handler.handle(DefaultAsyncResult.fail(result));
//           return;
//         }
// 
//         String resultValue = result.result();
// 
//         doSomethingWithTheResults(resultValue);
// 
//         handler.handle(DefaultAsyncResult.succeed(resultValue));
//       });
//   }
// 
//   private void someAsyncMethodThatTakesAHandler(AsyncResultHandler<String> handler) {
//     if (!succeed) {
//       handler.handle(DefaultAsyncResult.fail(new Exception("Fail")));
//       return;
//     }
// 
//     handler.handle(DefaultAsyncResult.succeed("Async result"));
//   }
// 
//   private void doSomethingWithTheResults(String result) {
//     this.result = result;
//   }
// 
//   public String result() {
//     return result;
//   }
// }


// Path: src/test/java/org/simondean/vertx/async/unit/RetryExampleTest.java
import org.junit.Test;
import org.simondean.vertx.async.unit.examples.RetryExample;
import static org.assertj.core.api.Assertions.assertThat;

package org.simondean.vertx.async.unit;



public class RetryExampleTest {
  @Test
  public void itHandlesSuccess() {
    RetryExample example = new RetryExample(true);