// Path: server/budgeting/src/test/java/de/budgetfreak/BudgetingIntegrationTestApplication.java
// @SpringBootApplication
// public class BudgetingIntegrationTestApplication {
// }
// 
// Path: server/budgeting/src/main/java/de/budgetfreak/budgeting/domain/Category.java
// @Entity(name = "BF_CATEGORY")
// public class Category {
// 
//     @Id
//     @GeneratedValue(strategy = GenerationType.IDENTITY)
//     @Column(name = "ID")
//     private Long id;
// 
//     @Column(name = "NAME")
//     private String name;
// 
//     @Column(name = "DESCRIPTION")
//     private String description;
// 
//     @ManyToOne(fetch = FetchType.LAZY)
//     @JoinColumn(name = "MASTERCATEGORY_ID")
//     private MasterCategory masterCategory;
// 
//     public Long getId() {
//         return id;
//     }
// 
//     public Category setId(Long id) {
//         this.id = id;
//         return this;
//     }
// 
//     public String getName() {
//         return name;
//     }
// 
//     public Category setName(String name) {
//         this.name = name;
//         return this;
//     }
// 
//     public String getDescription() {
//         return description;
//     }
// 
//     public Category setDescription(String description) {
//         this.description = description;
//         return this;
//     }
// 
//     public MasterCategory getMasterCategory() {
//         return masterCategory;
//     }
// 
//     public Category setMasterCategory(MasterCategory masterCategory) {
//         this.masterCategory = masterCategory;
//         return this;
//     }
// }
// 
// Path: server/budgeting/src/main/java/de/budgetfreak/budgeting/domain/CategoryRepository.java
// public interface CategoryRepository extends JpaRepository<Category, Long>, JpaSpecificationExecutor<Category> {
// }
// 
// Path: server/budgeting/src/main/java/de/budgetfreak/budgeting/domain/MasterCategory.java
// @Entity(name = "BF_MASTERCATEGORY")
// public class MasterCategory {
// 
//     @Id
//     @GeneratedValue(strategy = GenerationType.IDENTITY)
//     @Column(name = "ID")
//     private Long id;
// 
//     @Column(name = "NAME")
//     private String name;
// 
//     @Column(name = "DESCRIPTION")
//     private String description;
// 
//     @ManyToOne(fetch = FetchType.LAZY)
//     @JoinColumn(name = "USER_ID")
//     private User user;
// 
//     public Long getId() {
//         return id;
//     }
// 
//     public MasterCategory setId(Long id) {
//         this.id = id;
//         return this;
//     }
// 
//     public String getName() {
//         return name;
//     }
// 
//     public MasterCategory setName(String name) {
//         this.name = name;
//         return this;
//     }
// 
//     public String getDescription() {
//         return description;
//     }
// 
//     public MasterCategory setDescription(String description) {
//         this.description = description;
//         return this;
//     }
// 
//     public User getUser() {
//         return user;
//     }
// 
//     public MasterCategory setUser(User user) {
//         this.user = user;
//         return this;
//     }
// }
// 
// Path: server/budgeting/src/main/java/de/budgetfreak/budgeting/domain/MasterCategoryRepository.java
// public interface MasterCategoryRepository extends JpaRepository<MasterCategory, Long> {
// }
// 
// Path: server/user-management/src/main/java/de/budgetfreak/usermanagement/domain/User.java
// @Entity(name = "BF_USER")
// public class User {
// 
//     @Id
//     @GeneratedValue(strategy = GenerationType.IDENTITY)
//     @Column(name = "ID")
//     private Long id;
// 
//     @Column(name = "NAME")
//     private String name;
// 
//     @Column(name = "CURRENCY")
//     private String currency;
// 
//     public User() {
//     }
// 
//     public User(String name, String currency) {
//         this.name = name;
//         this.currency = currency;
//     }
// 
//     public Long getId() {
//         return id;
//     }
// 
//     public User setId(Long id) {
//         this.id = id;
//         return this;
//     }
// 
//     public String getName() {
//         return name;
//     }
// 
//     public User setName(String name) {
//         this.name = name;
//         return this;
//     }
// 
//     public String getCurrency() {
//         return currency;
//     }
// 
//     public User setCurrency(String currency) {
//         this.currency = currency;
//         return this;
//     }
// }
// 
// Path: server/user-management/src/main/java/de/budgetfreak/usermanagement/domain/UserRepository.java
// @Repository
// public interface UserRepository extends JpaRepository<User, Long> {
// 
//     User findByName(String name);
// }


import de.budgetfreak.BudgetingIntegrationTestApplication;
import de.budgetfreak.budgeting.domain.Category;
import de.budgetfreak.budgeting.domain.CategoryRepository;
import de.budgetfreak.budgeting.domain.MasterCategory;
import de.budgetfreak.budgeting.domain.MasterCategoryRepository;
import de.budgetfreak.usermanagement.domain.User;
import de.budgetfreak.usermanagement.domain.UserRepository;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.jdbc.EmbeddedDatabaseConnection;
import org.springframework.boot.test.autoconfigure.jdbc.AutoConfigureTestDatabase;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.data.jpa.domain.Specification;
import org.springframework.test.context.junit4.SpringRunner;
import java.util.List;
import static java.util.Arrays.asList;
import static org.assertj.core.api.Assertions.assertThat;
package de.budgetfreak.budgeting.specification;




@RunWith(SpringRunner.class)
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.NONE, classes = BudgetingIntegrationTestApplication.class)
@AutoConfigureTestDatabase(connection = EmbeddedDatabaseConnection.H2)
public class CategorySpecificationsTest {

    @Autowired
    private CategorySpecifications testSubject;

    @Autowired
    private UserRepository userRepository;

    @Autowired
// Path: server/budgeting/src/test/java/de/budgetfreak/BudgetingIntegrationTestApplication.java
// @SpringBootApplication
// public class BudgetingIntegrationTestApplication {
// }
// 
// Path: server/budgeting/src/main/java/de/budgetfreak/budgeting/domain/Category.java
// @Entity(name = "BF_CATEGORY")
// public class Category {
// 
//     @Id
//     @GeneratedValue(strategy = GenerationType.IDENTITY)
//     @Column(name = "ID")
//     private Long id;
// 
//     @Column(name = "NAME")
//     private String name;
// 
//     @Column(name = "DESCRIPTION")
//     private String description;
// 
//     @ManyToOne(fetch = FetchType.LAZY)
//     @JoinColumn(name = "MASTERCATEGORY_ID")
//     private MasterCategory masterCategory;
// 
//     public Long getId() {
//         return id;
//     }
// 
//     public Category setId(Long id) {
//         this.id = id;
//         return this;
//     }
// 
//     public String getName() {
//         return name;
//     }
// 
//     public Category setName(String name) {
//         this.name = name;
//         return this;
//     }
// 
//     public String getDescription() {
//         return description;
//     }
// 
//     public Category setDescription(String description) {
//         this.description = description;
//         return this;
//     }
// 
//     public MasterCategory getMasterCategory() {
//         return masterCategory;
//     }
// 
//     public Category setMasterCategory(MasterCategory masterCategory) {
//         this.masterCategory = masterCategory;
//         return this;
//     }
// }
// 
// Path: server/budgeting/src/main/java/de/budgetfreak/budgeting/domain/CategoryRepository.java
// public interface CategoryRepository extends JpaRepository<Category, Long>, JpaSpecificationExecutor<Category> {
// }
// 
// Path: server/budgeting/src/main/java/de/budgetfreak/budgeting/domain/MasterCategory.java
// @Entity(name = "BF_MASTERCATEGORY")
// public class MasterCategory {
// 
//     @Id
//     @GeneratedValue(strategy = GenerationType.IDENTITY)
//     @Column(name = "ID")
//     private Long id;
// 
//     @Column(name = "NAME")
//     private String name;
// 
//     @Column(name = "DESCRIPTION")
//     private String description;
// 
//     @ManyToOne(fetch = FetchType.LAZY)
//     @JoinColumn(name = "USER_ID")
//     private User user;
// 
//     public Long getId() {
//         return id;
//     }
// 
//     public MasterCategory setId(Long id) {
//         this.id = id;
//         return this;
//     }
// 
//     public String getName() {
//         return name;
//     }
// 
//     public MasterCategory setName(String name) {
//         this.name = name;
//         return this;
//     }
// 
//     public String getDescription() {
//         return description;
//     }
// 
//     public MasterCategory setDescription(String description) {
//         this.description = description;
//         return this;
//     }
// 
//     public User getUser() {
//         return user;
//     }
// 
//     public MasterCategory setUser(User user) {
//         this.user = user;
//         return this;
//     }
// }
// 
// Path: server/budgeting/src/main/java/de/budgetfreak/budgeting/domain/MasterCategoryRepository.java
// public interface MasterCategoryRepository extends JpaRepository<MasterCategory, Long> {
// }
// 
// Path: server/user-management/src/main/java/de/budgetfreak/usermanagement/domain/User.java
// @Entity(name = "BF_USER")
// public class User {
// 
//     @Id
//     @GeneratedValue(strategy = GenerationType.IDENTITY)
//     @Column(name = "ID")
//     private Long id;
// 
//     @Column(name = "NAME")
//     private String name;
// 
//     @Column(name = "CURRENCY")
//     private String currency;
// 
//     public User() {
//     }
// 
//     public User(String name, String currency) {
//         this.name = name;
//         this.currency = currency;
//     }
// 
//     public Long getId() {
//         return id;
//     }
// 
//     public User setId(Long id) {
//         this.id = id;
//         return this;
//     }
// 
//     public String getName() {
//         return name;
//     }
// 
//     public User setName(String name) {
//         this.name = name;
//         return this;
//     }
// 
//     public String getCurrency() {
//         return currency;
//     }
// 
//     public User setCurrency(String currency) {
//         this.currency = currency;
//         return this;
//     }
// }
// 
// Path: server/user-management/src/main/java/de/budgetfreak/usermanagement/domain/UserRepository.java
// @Repository
// public interface UserRepository extends JpaRepository<User, Long> {
// 
//     User findByName(String name);
// }


// Path: server/budgeting/src/test/java/de/budgetfreak/budgeting/specification/CategorySpecificationsTest.java
import de.budgetfreak.BudgetingIntegrationTestApplication;
import de.budgetfreak.budgeting.domain.Category;
import de.budgetfreak.budgeting.domain.CategoryRepository;
import de.budgetfreak.budgeting.domain.MasterCategory;
import de.budgetfreak.budgeting.domain.MasterCategoryRepository;
import de.budgetfreak.usermanagement.domain.User;
import de.budgetfreak.usermanagement.domain.UserRepository;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.jdbc.EmbeddedDatabaseConnection;
import org.springframework.boot.test.autoconfigure.jdbc.AutoConfigureTestDatabase;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.data.jpa.domain.Specification;
import org.springframework.test.context.junit4.SpringRunner;
import java.util.List;
import static java.util.Arrays.asList;
import static org.assertj.core.api.Assertions.assertThat;

package de.budgetfreak.budgeting.specification;




@RunWith(SpringRunner.class)
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.NONE, classes = BudgetingIntegrationTestApplication.class)
@AutoConfigureTestDatabase(connection = EmbeddedDatabaseConnection.H2)
public class CategorySpecificationsTest {

    @Autowired
    private CategorySpecifications testSubject;

    @Autowired
    private UserRepository userRepository;

    @Autowired
    private MasterCategoryRepository masterCategoryRepository;