// Path: src/main/java/com/github/marcelothebuilder/webpedidos/model/endereco/Estado.java
// @Entity
// @Table(name="estado")
// public class Estado implements Serializable {
// 	private static final long serialVersionUID = 2L;
// 	private Long codigo;
// 	private String sigla;
// 	private String nome;
// 	private List<Cidade> cidades = new ArrayList<>();
// 	
// 	/**
// 	 * Acessor de leitura para o campo codigo
// 	 * @return o codigo
// 	 */
// 	@Id
// 	@GeneratedValue(strategy = GenerationType.IDENTITY)
// 	public Long getCodigo() {
// 		return codigo;
// 	}
// 
// 	/**
// 	 * Define um novo valor para o campo codigo
// 	 * @param codigo o codigo a ser definido
// 	 */
// 	public void setCodigo(Long codigo) {
// 		this.codigo = codigo;
// 	}
// 	
// 	@NotNull
// 	@Column(length = 2)
// 	public String getSigla() {
// 		return sigla;
// 	}
// 
// 	public void setSigla(String sigla) {
// 		this.sigla = sigla;
// 	}
// 	
// 	@Column(nullable = false, length = 50)
// 	public String getNome() {
// 		return nome;
// 	}
// 
// 	public void setNome(String nome) {
// 		this.nome = nome;
// 	}
// 
// 	@OneToMany(cascade=CascadeType.ALL, orphanRemoval=true, mappedBy="estado")
// 	public List<Cidade> getCidades() {
// 		return cidades;
// 	}
// 
// 	public void setCidades(List<Cidade> cidades) {
// 		this.cidades = cidades;
// 	}
// 
// 	@Override
// 	public int hashCode() {
// 		final int prime = 31;
// 		int result = 1;
// 		result = prime * result + ((sigla == null) ? 0 : sigla.hashCode());
// 		return result;
// 	}
// 
// 	@Override
// 	public boolean equals(Object obj) {
// 		if (this == obj)
// 			return true;
// 		if (obj == null)
// 			return false;
// 		if (!(obj instanceof Estado))
// 			return false;
// 		Estado other = (Estado) obj;
// 		if (sigla == null) {
// 			if (other.sigla != null)
// 				return false;
// 		} else if (!sigla.equals(other.sigla))
// 			return false;
// 		return true;
// 	}	
// 
// 	
// }
// 
// Path: src/main/java/com/github/marcelothebuilder/webpedidos/repository/Estados.java
// public class Estados implements Serializable {
// 	private static final long serialVersionUID = 9157858269113943535L;
// 
// 	private @Inject EntityManager manager;
// 
// 	public Set<Estado> todos() {
// 		List<Estado> list = manager.createQuery("from Estado", Estado.class).getResultList();
// 		return new HashSet<>(list);
// 	}
// 
// 	public Estado porCodigo(Long codigo) {
// 		return manager.find(Estado.class, codigo);
// 	}
// 
// 	public Set<Estado> filtrados(EstadoFilter filter) {
// 		// criteriaBuilder
// 		CriteriaBuilder cb = manager.getCriteriaBuilder();
// 
// 		// metamodel
// 		Metamodel metamodel = manager.getMetamodel();
// 
// 		// entity model
// 		EntityType<Estado> type = metamodel.entity(Estado.class);
// 
// 		// criteriaQuery
// 		CriteriaQuery<Estado> cq = cb.createQuery(Estado.class);
// 
// 		// root
// 		Root<Estado> root = cq.from(Estado.class);
// 
// 		List<Predicate> predicates = new LinkedList<>();
// 
// 		if (StringUtils.isNotBlank(filter.getSigla())) {
// 			SingularAttribute<Estado, String> attr = type.getDeclaredSingularAttribute("sigla", String.class);
// 			Path<String> path = root.get(attr);
// 			Predicate siglaPredicate = cb.equal(path, filter.getSigla());
// 			predicates.add(siglaPredicate);
// 		}
// 
// 		if (StringUtils.isNotBlank(filter.getNome())) {
// 			SingularAttribute<Estado, String> attr = type.getDeclaredSingularAttribute("nome", String.class);
// 			Expression<String> lowerCaseNome = cb.lower(root.get(attr));
// 
// 			String likeMatchString = String.format("%s%%", filter.getNome().toLowerCase());
// 
// 			Predicate siglaPredicate = cb.like(lowerCaseNome, likeMatchString);
// 			predicates.add(siglaPredicate);
// 		}
// 
// 		// adiciona predicates
// 		cq.where(predicates.toArray(new Predicate[] {}));
// 
// 		// return query
// 		TypedQuery<Estado> query = manager.createQuery(cq);
// 		List<Estado> resultList = query.getResultList();
// 		return new HashSet<>(resultList);
// 	}
// 
// }


import static org.junit.Assert.assertEquals;
import org.junit.Before;
import org.junit.Test;
import org.mockito.InjectMocks;
import org.mockito.Mock;
import org.mockito.Mockito;
import org.mockito.MockitoAnnotations;
import com.github.marcelothebuilder.webpedidos.model.endereco.Estado;
import com.github.marcelothebuilder.webpedidos.repository.Estados;

package com.github.marcelothebuilder.webpedidos.converter;




public class EstadoConverterTest {
	
	@Mock

// Path: src/main/java/com/github/marcelothebuilder/webpedidos/model/endereco/Estado.java
// @Entity
// @Table(name="estado")
// public class Estado implements Serializable {
// 	private static final long serialVersionUID = 2L;
// 	private Long codigo;
// 	private String sigla;
// 	private String nome;
// 	private List<Cidade> cidades = new ArrayList<>();
// 	
// 	/**
// 	 * Acessor de leitura para o campo codigo
// 	 * @return o codigo
// 	 */
// 	@Id
// 	@GeneratedValue(strategy = GenerationType.IDENTITY)
// 	public Long getCodigo() {
// 		return codigo;
// 	}
// 
// 	/**
// 	 * Define um novo valor para o campo codigo
// 	 * @param codigo o codigo a ser definido
// 	 */
// 	public void setCodigo(Long codigo) {
// 		this.codigo = codigo;
// 	}
// 	
// 	@NotNull
// 	@Column(length = 2)
// 	public String getSigla() {
// 		return sigla;
// 	}
// 
// 	public void setSigla(String sigla) {
// 		this.sigla = sigla;
// 	}
// 	
// 	@Column(nullable = false, length = 50)
// 	public String getNome() {
// 		return nome;
// 	}
// 
// 	public void setNome(String nome) {
// 		this.nome = nome;
// 	}
// 
// 	@OneToMany(cascade=CascadeType.ALL, orphanRemoval=true, mappedBy="estado")
// 	public List<Cidade> getCidades() {
// 		return cidades;
// 	}
// 
// 	public void setCidades(List<Cidade> cidades) {
// 		this.cidades = cidades;
// 	}
// 
// 	@Override
// 	public int hashCode() {
// 		final int prime = 31;
// 		int result = 1;
// 		result = prime * result + ((sigla == null) ? 0 : sigla.hashCode());
// 		return result;
// 	}
// 
// 	@Override
// 	public boolean equals(Object obj) {
// 		if (this == obj)
// 			return true;
// 		if (obj == null)
// 			return false;
// 		if (!(obj instanceof Estado))
// 			return false;
// 		Estado other = (Estado) obj;
// 		if (sigla == null) {
// 			if (other.sigla != null)
// 				return false;
// 		} else if (!sigla.equals(other.sigla))
// 			return false;
// 		return true;
// 	}	
// 
// 	
// }
// 
// Path: src/main/java/com/github/marcelothebuilder/webpedidos/repository/Estados.java
// public class Estados implements Serializable {
// 	private static final long serialVersionUID = 9157858269113943535L;
// 
// 	private @Inject EntityManager manager;
// 
// 	public Set<Estado> todos() {
// 		List<Estado> list = manager.createQuery("from Estado", Estado.class).getResultList();
// 		return new HashSet<>(list);
// 	}
// 
// 	public Estado porCodigo(Long codigo) {
// 		return manager.find(Estado.class, codigo);
// 	}
// 
// 	public Set<Estado> filtrados(EstadoFilter filter) {
// 		// criteriaBuilder
// 		CriteriaBuilder cb = manager.getCriteriaBuilder();
// 
// 		// metamodel
// 		Metamodel metamodel = manager.getMetamodel();
// 
// 		// entity model
// 		EntityType<Estado> type = metamodel.entity(Estado.class);
// 
// 		// criteriaQuery
// 		CriteriaQuery<Estado> cq = cb.createQuery(Estado.class);
// 
// 		// root
// 		Root<Estado> root = cq.from(Estado.class);
// 
// 		List<Predicate> predicates = new LinkedList<>();
// 
// 		if (StringUtils.isNotBlank(filter.getSigla())) {
// 			SingularAttribute<Estado, String> attr = type.getDeclaredSingularAttribute("sigla", String.class);
// 			Path<String> path = root.get(attr);
// 			Predicate siglaPredicate = cb.equal(path, filter.getSigla());
// 			predicates.add(siglaPredicate);
// 		}
// 
// 		if (StringUtils.isNotBlank(filter.getNome())) {
// 			SingularAttribute<Estado, String> attr = type.getDeclaredSingularAttribute("nome", String.class);
// 			Expression<String> lowerCaseNome = cb.lower(root.get(attr));
// 
// 			String likeMatchString = String.format("%s%%", filter.getNome().toLowerCase());
// 
// 			Predicate siglaPredicate = cb.like(lowerCaseNome, likeMatchString);
// 			predicates.add(siglaPredicate);
// 		}
// 
// 		// adiciona predicates
// 		cq.where(predicates.toArray(new Predicate[] {}));
// 
// 		// return query
// 		TypedQuery<Estado> query = manager.createQuery(cq);
// 		List<Estado> resultList = query.getResultList();
// 		return new HashSet<>(resultList);
// 	}
// 
// }


// Path: src/test/java/com/github/marcelothebuilder/webpedidos/converter/EstadoConverterTest.java
import static org.junit.Assert.assertEquals;
import org.junit.Before;
import org.junit.Test;
import org.mockito.InjectMocks;
import org.mockito.Mock;
import org.mockito.Mockito;
import org.mockito.MockitoAnnotations;
import com.github.marcelothebuilder.webpedidos.model.endereco.Estado;
import com.github.marcelothebuilder.webpedidos.repository.Estados;

package com.github.marcelothebuilder.webpedidos.converter;




public class EstadoConverterTest {
	
	@Mock

	private Estados estados;
