package org.n3r.eql.impl; import org.junit.BeforeClass; import org.junit.Test; import org.n3r.eql.Eql; import java.util.List; import static org.hamcrest.CoreMatchers.equalTo; import static org.hamcrest.CoreMatchers.is; import static org.junit.Assert.assertThat; public class NestedObjectQueryTest { @BeforeClass public static void beforeClass() { new Eql("mysql").execute(); } @Test public void test1() { List<CoachMe> coachMes = new Eql("mysql").returnType(CoachMe.class).execute(); CoachMe coachMe = coachMes.get(0); assertThat(coachMe.getCoachId(), is(equalTo("123"))); assertThat(coachMe.getCoach().getCoachId(), is(equalTo("123"))); assertThat(coachMe.getCoach().getCoachName(), is(equalTo("bingoo"))); assertThat(coachMe.getCoach().getAddr().getDetail(), is(equalTo("nanjing"))); assertThat(coachMe.getCoach().getAddr().getPostcode(), is(equalTo("210000"))); } public static class CoachMe { private String coachId; private Coach coach; public String getCoachId() { return coachId; } public void setCoachId(String coachId) { this.coachId = coachId; } public Coach getCoach() { return coach; } public void setCoach(Coach coach) { this.coach = coach; } } public static class Coach { private String coachId; private String coachName; private Addr addr; public String getCoachId() { return coachId; } public void setCoachId(String coachId) { this.coachId = coachId; } public String getCoachName() { return coachName; } public void setCoachName(String coachName) { this.coachName = coachName; } public Addr getAddr() { return addr; } public void setAddr(Addr addr) { this.addr = addr; } } public static class Addr { private String postcode; private String detail; public String getPostcode() { return postcode; } public void setPostcode(String postcode) { this.postcode = postcode; } public String getDetail() { return detail; } public void setDetail(String detail) { this.detail = detail; } } }