// Path: src/main/java/refactoring/User.java
// public static enum Gender {
//     MAN, WOMAN
// }


import static org.assertj.core.api.Assertions.*;
import java.time.LocalDate;
import java.util.Arrays;
import org.junit.Before;
import org.junit.Test;
import refactoring.User.Gender;
    public void nullユーザの追加判定がfalseであること() throws Exception {
        assertThat(testee.canAdd(null)).isFalse();
    }

    @Test
    public void ユーザIDが0以下のユーザ追加判定がfalseであること() throws Exception {
        User target = new User(0, "hoge", LocalDate.of(1987, 7, 18), Gender.MAN);
        assertThat(testee.canAdd(target)).isFalse();
    }

    @Test
    public void 年齢が10歳未満のユーザ追加判定がfalseであること() throws Exception {
        User target = new User(101, "hoge", LocalDate.of(2017, 7, 18), Gender.MAN);
        assertThat(testee.canAdd(target)).isFalse();
    }

    @Test
    public void 性別がnullのユーザ追加判定がfalseであること() throws Exception {
        User target = new User(102, "hoge", LocalDate.of(1987, 7, 18), null);
        assertThat(testee.canAdd(target)).isFalse();
    }

    @Test
    public void 存在するユーザIDを持つユーザ追加判定がfalseであること() throws Exception {
        User target = new User(1, "hoge", LocalDate.of(1987, 11, 22), Gender.MAN);
        assertThat(testee.canAdd(target)).isFalse();
    }

    @Test
    public void 正常ユーザのユーザ追加判定がtrueであること() throws Exception {
// Path: src/main/java/refactoring/User.java
// public static enum Gender {
//     MAN, WOMAN
// }


// Path: src/test/java/refactoring/UsersTest.java
import static org.assertj.core.api.Assertions.*;
import java.time.LocalDate;
import java.util.Arrays;
import org.junit.Before;
import org.junit.Test;
import refactoring.User.Gender;

    public void nullユーザの追加判定がfalseであること() throws Exception {
        assertThat(testee.canAdd(null)).isFalse();
    }

    @Test
    public void ユーザIDが0以下のユーザ追加判定がfalseであること() throws Exception {
        User target = new User(0, "hoge", LocalDate.of(1987, 7, 18), Gender.MAN);
        assertThat(testee.canAdd(target)).isFalse();
    }

    @Test
    public void 年齢が10歳未満のユーザ追加判定がfalseであること() throws Exception {
        User target = new User(101, "hoge", LocalDate.of(2017, 7, 18), Gender.MAN);
        assertThat(testee.canAdd(target)).isFalse();
    }

    @Test
    public void 性別がnullのユーザ追加判定がfalseであること() throws Exception {
        User target = new User(102, "hoge", LocalDate.of(1987, 7, 18), null);
        assertThat(testee.canAdd(target)).isFalse();
    }

    @Test
    public void 存在するユーザIDを持つユーザ追加判定がfalseであること() throws Exception {
        User target = new User(1, "hoge", LocalDate.of(1987, 11, 22), Gender.MAN);
        assertThat(testee.canAdd(target)).isFalse();
    }

    @Test
    public void 正常ユーザのユーザ追加判定がtrueであること() throws Exception {
        User target = new User(101, "hoge", LocalDate.of(1987, 11, 22), Gender.MAN);