// Path: src/samples/journey-pattern-sample/src/main/java/net/serenitybdd/demos/todos/model/TodoStatusFilter.java
// public enum TodoStatusFilter {
//     All, Active, Completed
// }
// 
// Path: src/samples/journey-pattern-sample/src/main/java/net/serenitybdd/demos/todos/questions/CurrentFilter.java
// @Subject("the displayed todo items")
// public class CurrentFilter implements Question<TodoStatusFilter> {
// 
//     @Override
//     public TodoStatusFilter answeredBy(Actor actor) {
//         return Text.of(FilterSelection.SELECTED_FILTER).viewedBy(actor).asEnum(TodoStatusFilter.class);
//     }
// }
// 
// Path: src/samples/journey-pattern-sample/src/main/java/net/serenitybdd/demos/todos/questions/DisplayedItems.java
// @Subject("the displayed todo items")
// public class DisplayedItems implements Question<List<String>> {
// 
//     @Override
//     public List<String> answeredBy(Actor actor) {
//         return Text.of(ToDoList.TODO_ITEMS).viewedBy(actor).asList();
//     }
// }


import net.serenitybdd.demos.todos.model.TodoStatusFilter;
import net.serenitybdd.demos.todos.questions.CurrentFilter;
import net.serenitybdd.demos.todos.questions.DisplayedItems;
import net.serenitybdd.demos.todos.tasks.*;
import net.serenitybdd.junit.runners.SerenityRunner;
import net.serenitybdd.screenplay.Actor;
import net.serenitybdd.screenplay.abilities.BrowseTheWeb;
import net.thucydides.core.annotations.Managed;
import net.thucydides.core.annotations.Steps;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.openqa.selenium.WebDriver;
import static net.serenitybdd.demos.todos.model.TodoStatusFilter.Active;
import static net.serenitybdd.demos.todos.model.TodoStatusFilter.All;
import static net.serenitybdd.screenplay.GivenWhenThen.*;
import static org.hamcrest.Matchers.contains;
import static org.hamcrest.Matchers.is;
package net.serenitybdd.demos.todos.features.maintain_my_todo_list;



@RunWith(SerenityRunner.class)
public class FilteringTodos {

    private Actor james = Actor.named("James");
    @Managed
    private WebDriver hisBrowser;

    @Steps
    private
    DisplayedItems theDisplayedItems;

// Path: src/samples/journey-pattern-sample/src/main/java/net/serenitybdd/demos/todos/model/TodoStatusFilter.java
// public enum TodoStatusFilter {
//     All, Active, Completed
// }
// 
// Path: src/samples/journey-pattern-sample/src/main/java/net/serenitybdd/demos/todos/questions/CurrentFilter.java
// @Subject("the displayed todo items")
// public class CurrentFilter implements Question<TodoStatusFilter> {
// 
//     @Override
//     public TodoStatusFilter answeredBy(Actor actor) {
//         return Text.of(FilterSelection.SELECTED_FILTER).viewedBy(actor).asEnum(TodoStatusFilter.class);
//     }
// }
// 
// Path: src/samples/journey-pattern-sample/src/main/java/net/serenitybdd/demos/todos/questions/DisplayedItems.java
// @Subject("the displayed todo items")
// public class DisplayedItems implements Question<List<String>> {
// 
//     @Override
//     public List<String> answeredBy(Actor actor) {
//         return Text.of(ToDoList.TODO_ITEMS).viewedBy(actor).asList();
//     }
// }


// Path: src/samples/journey-pattern-sample/src/test/java/net/serenitybdd/demos/todos/features/maintain_my_todo_list/FilteringTodos.java
import net.serenitybdd.demos.todos.model.TodoStatusFilter;
import net.serenitybdd.demos.todos.questions.CurrentFilter;
import net.serenitybdd.demos.todos.questions.DisplayedItems;
import net.serenitybdd.demos.todos.tasks.*;
import net.serenitybdd.junit.runners.SerenityRunner;
import net.serenitybdd.screenplay.Actor;
import net.serenitybdd.screenplay.abilities.BrowseTheWeb;
import net.thucydides.core.annotations.Managed;
import net.thucydides.core.annotations.Steps;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.openqa.selenium.WebDriver;
import static net.serenitybdd.demos.todos.model.TodoStatusFilter.Active;
import static net.serenitybdd.demos.todos.model.TodoStatusFilter.All;
import static net.serenitybdd.screenplay.GivenWhenThen.*;
import static org.hamcrest.Matchers.contains;
import static org.hamcrest.Matchers.is;

package net.serenitybdd.demos.todos.features.maintain_my_todo_list;



@RunWith(SerenityRunner.class)
public class FilteringTodos {

    private Actor james = Actor.named("James");
    @Managed
    private WebDriver hisBrowser;

    @Steps
    private
    DisplayedItems theDisplayedItems;

    private CurrentFilter theCurrentFilter = new CurrentFilter();