// Path: src/main/java/be/swsb/productivity/chapter8/listasserts/Status.java
// enum Status {
// 
//     READY(NOT_REALLY),
//     DONE(YA_REALLY),
//     WAITING(O_REALLY),
//     SOMEWHAT_READY(NOT_REALLY),
//     DUNNO(YA_REALLY),
//     NOT_READY(NOT_REALLY),
//     WHATEVER(YA_REALLY),
//     NOT_READY_AT_ALL(NOT_REALLY),
//     ;
// 
//     private SubStatus subStatus;
// 
//     Status(SubStatus subStatus) {
//         this.subStatus = subStatus;
//     }
// 
//     public static List<Status> oReallyStatuses() {
//         return Stream.of(values()).filter(Status::isOReally).collect(Collectors.toList());
//     }
// 
//     public static List<Status> yaReallyStatuses() {
//         return Stream.of(values()).filter(Status::isYaReally).collect(Collectors.toList());
//     }
// 
//     public static List<Status> notReallyStatuses() {
//         return Stream.of(values()).filter(Status::isNotReally).collect(Collectors.toList());
//     }
// 
//     public SubStatus getSubStatus() {
//         return subStatus;
//     }
// 
//     private boolean isOReally() {
//         return SubStatus.O_REALLY.equals(getSubStatus());
//     }
//     private boolean isYaReally() {
//         return SubStatus.YA_REALLY.equals(getSubStatus());
//     }
// 
//     private boolean isNotReally() {
//         return SubStatus.NOT_REALLY.equals(getSubStatus());
//     }
// 
//     enum SubStatus {
//         NOT_REALLY,
//         O_REALLY,
//         YA_REALLY
//     }
// }


import org.junit.Test;
import static be.swsb.productivity.chapter8.listasserts.Status.*;
import static org.assertj.core.api.Assertions.assertThat;
package be.swsb.productivity.chapter8.listasserts;



public class StatusTest {

    @Test
    public void oReallyStatuses_ContainsOnlyWAITING() throws Exception {
// Path: src/main/java/be/swsb/productivity/chapter8/listasserts/Status.java
// enum Status {
// 
//     READY(NOT_REALLY),
//     DONE(YA_REALLY),
//     WAITING(O_REALLY),
//     SOMEWHAT_READY(NOT_REALLY),
//     DUNNO(YA_REALLY),
//     NOT_READY(NOT_REALLY),
//     WHATEVER(YA_REALLY),
//     NOT_READY_AT_ALL(NOT_REALLY),
//     ;
// 
//     private SubStatus subStatus;
// 
//     Status(SubStatus subStatus) {
//         this.subStatus = subStatus;
//     }
// 
//     public static List<Status> oReallyStatuses() {
//         return Stream.of(values()).filter(Status::isOReally).collect(Collectors.toList());
//     }
// 
//     public static List<Status> yaReallyStatuses() {
//         return Stream.of(values()).filter(Status::isYaReally).collect(Collectors.toList());
//     }
// 
//     public static List<Status> notReallyStatuses() {
//         return Stream.of(values()).filter(Status::isNotReally).collect(Collectors.toList());
//     }
// 
//     public SubStatus getSubStatus() {
//         return subStatus;
//     }
// 
//     private boolean isOReally() {
//         return SubStatus.O_REALLY.equals(getSubStatus());
//     }
//     private boolean isYaReally() {
//         return SubStatus.YA_REALLY.equals(getSubStatus());
//     }
// 
//     private boolean isNotReally() {
//         return SubStatus.NOT_REALLY.equals(getSubStatus());
//     }
// 
//     enum SubStatus {
//         NOT_REALLY,
//         O_REALLY,
//         YA_REALLY
//     }
// }


// Path: src/test/java/be/swsb/productivity/chapter8/listasserts/StatusTest.java
import org.junit.Test;
import static be.swsb.productivity.chapter8.listasserts.Status.*;
import static org.assertj.core.api.Assertions.assertThat;

package be.swsb.productivity.chapter8.listasserts;



public class StatusTest {

    @Test
    public void oReallyStatuses_ContainsOnlyWAITING() throws Exception {
        assertThat(Status.oReallyStatuses()).containsExactly(WAITING);