// Path: annotation/src/test/java/me/chanjar/annotation/jsontest/ex1/Foo.java
// public class Foo {
// 
//   private String name;
// 
//   private int age;
// 
//   public Foo() {
//   }
// 
//   public Foo(String name, int age) {
//     this.name = name;
//     this.age = age;
//   }
// 
//   public String getName() {
//     return name;
//   }
// 
//   public void setName(String name) {
//     this.name = name;
//   }
// 
//   public int getAge() {
//     return age;
//   }
// 
//   public void setAge(int age) {
//     this.age = age;
//   }
// 
//   @Override
//   public boolean equals(Object o) {
//     if (this == o) return true;
//     if (o == null || getClass() != o.getClass()) return false;
// 
//     Foo foo = (Foo) o;
// 
//     if (age != foo.age) return false;
//     return name != null ? name.equals(foo.name) : foo.name == null;
//   }
// 
//   @Override
//   public int hashCode() {
//     int result = name != null ? name.hashCode() : 0;
//     result = 31 * result + age;
//     return result;
//   }
// 
//   @Override
//   public String toString() {
//     return new ToStringBuilder(this)
//         .append("name", name)
//         .append("age", age)
//         .toString();
//   }
// }


import me.chanjar.annotation.jsontest.ex1.Foo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.autoconfigure.json.JsonTest;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.boot.test.json.JacksonTester;
import org.springframework.test.context.testng.AbstractTestNGSpringContextTests;
import org.testng.annotations.Test;
import static org.assertj.core.api.Assertions.assertThat;
package me.chanjar.annotation.jsontest.ex2;



@SpringBootTest(classes = { JsonComponentJacksonTest.class, FooJsonComponent.class })
@JsonTest
public class JsonComponentJacksonTest extends AbstractTestNGSpringContextTests {

  @Autowired
// Path: annotation/src/test/java/me/chanjar/annotation/jsontest/ex1/Foo.java
// public class Foo {
// 
//   private String name;
// 
//   private int age;
// 
//   public Foo() {
//   }
// 
//   public Foo(String name, int age) {
//     this.name = name;
//     this.age = age;
//   }
// 
//   public String getName() {
//     return name;
//   }
// 
//   public void setName(String name) {
//     this.name = name;
//   }
// 
//   public int getAge() {
//     return age;
//   }
// 
//   public void setAge(int age) {
//     this.age = age;
//   }
// 
//   @Override
//   public boolean equals(Object o) {
//     if (this == o) return true;
//     if (o == null || getClass() != o.getClass()) return false;
// 
//     Foo foo = (Foo) o;
// 
//     if (age != foo.age) return false;
//     return name != null ? name.equals(foo.name) : foo.name == null;
//   }
// 
//   @Override
//   public int hashCode() {
//     int result = name != null ? name.hashCode() : 0;
//     result = 31 * result + age;
//     return result;
//   }
// 
//   @Override
//   public String toString() {
//     return new ToStringBuilder(this)
//         .append("name", name)
//         .append("age", age)
//         .toString();
//   }
// }


// Path: annotation/src/test/java/me/chanjar/annotation/jsontest/ex2/JsonComponentJacksonTest.java
import me.chanjar.annotation.jsontest.ex1.Foo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.autoconfigure.json.JsonTest;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.boot.test.json.JacksonTester;
import org.springframework.test.context.testng.AbstractTestNGSpringContextTests;
import org.testng.annotations.Test;
import static org.assertj.core.api.Assertions.assertThat;

package me.chanjar.annotation.jsontest.ex2;



@SpringBootTest(classes = { JsonComponentJacksonTest.class, FooJsonComponent.class })
@JsonTest
public class JsonComponentJacksonTest extends AbstractTestNGSpringContextTests {

  @Autowired
  private JacksonTester<Foo> json;