// Path: lib/src/main/java/com/mindbodyonline/ironhide/Infrastructure/IronhideViews/Clickable.java
// public class Clickable<T extends PageObject> extends BaseView<T> {
// 
//     /** @see BaseView#BaseView(Class, org.hamcrest.Matcher) */
//     public Clickable(Class<T> type, Matcher<View> viewMatcher) {
//         super(type, viewMatcher);
//     }
// 
//     /** @see BaseView#BaseView(Class, int) */
//     public Clickable(Class<T> type, int resourceId) {
//         super(type, resourceId);
//     }
// 
//     /** @see BaseView#BaseView(Class, int, int) */
//     public Clickable(Class<T> type, int IGNORED, int stringResourceId) {
//         super(type, IGNORED, stringResourceId);
//     }
// 
//     /** @see BaseView#BaseView(Class, String) */
//     public Clickable(Class<T> type, String displayText) {
//         super(type, displayText);
//     }
// 
//     /** {@inheritDoc} */
//     @Override
//     public <E extends PageObject> Clickable<E> goesTo(Class<E> type) {
//         return new Clickable<>(type, getSelector());
//     }
// 
//     /**
//      * Root Matchers return Clickable
//      */
// 
//     /** {@inheritDoc} */
//     @Override
//     public Clickable<T> changeRoot() {
//         return (Clickable<T>) super.changeRoot();
//     }
// 
//     /** {@inheritDoc} */
//     @Override
//     public Clickable<T> inRoot(Matcher<Root> rootMatcher) {
//         return (Clickable<T>) super.inRoot(rootMatcher);
//     }
// 
//     /** {@inheritDoc} */
//     @Override
//     public Clickable<T> inDialogRoot() {
//         return (Clickable<T>) super.inDialogRoot();
//     }
// 
//     /** {@inheritDoc} */
//     @Override
//     public Clickable<T> inPlatformPopup() {
//         return (Clickable<T>) super.inPlatformPopup();
//     }
// 
//     /** {@inheritDoc} */
//     @Override
//     public Clickable<T> inTouchableRoot() {
//         return (Clickable<T>) super.inTouchableRoot();
//     }
// 
//     /** {@inheritDoc} */
//     @Override
//     public Clickable<T> inDecorView(Matcher<View> decorViewMatcher) {
//         return (Clickable<T>) super.inDecorView(decorViewMatcher);
//     }
// 
//     /** {@inheritDoc} */
//     @Override
//     public Clickable<T> inFocusableRoot() {
//         return (Clickable<T>) super.inFocusableRoot();
//     }
// }
// 
// Path: lib/src/main/java/com/mindbodyonline/ironhide/PageObjects/PageObject.java
// public class PageObject {
// 
//     public static final int DEFAULT_PAUSE_TIME = 2000;
// 
//     /**
//      * Pause the test run for {@link PageObject#DEFAULT_PAUSE_TIME} milliseconds
//      * @return A generic of the passed in type
//      */
//     public <T extends PageObject> T pause(Class<T> type) {
//         return pause(type, DEFAULT_PAUSE_TIME);
//     }
// 
//     /**
//      * Pause the test run for a given amount of time(in milliseconds).
//      * @param timeInMillis Time, in milliseconds, to pause for.
//      * @return A generic of the passed in type.                     
//      */
//     public <T extends PageObject> T pause(Class<T> type, int timeInMillis) {
//         try {
//             Thread.sleep(timeInMillis);
//             return type.newInstance();
//         } catch (InstantiationException | IllegalAccessException | InterruptedException e) {
//             e.printStackTrace();
//         }
//         return null;
//     }
// }


import com.mindbodyonline.ironhide.Infrastructure.IronhideViews.Clickable;
import com.mindbodyonline.ironhide.PageObjects.PageObject;
import com.mindbodyonline.ironhidetestapp.R;
package com.mindbodyonline.ironhidetestapp.models;


/**
 * Page Object for {@link com.mindbodyonline.ironhidetestapp.MenuActivity}
 */
public class MenuModel extends PageObject {

    public Clickable<MenuModel> PopupButton = new Clickable<>(MenuModel.class, R.id.popup_button);

    public Clickable<MenuModel> ResultText = new Clickable<>(MenuModel.class, R.id.text_menu_result);
    
// Path: lib/src/main/java/com/mindbodyonline/ironhide/Infrastructure/IronhideViews/Clickable.java
// public class Clickable<T extends PageObject> extends BaseView<T> {
// 
//     /** @see BaseView#BaseView(Class, org.hamcrest.Matcher) */
//     public Clickable(Class<T> type, Matcher<View> viewMatcher) {
//         super(type, viewMatcher);
//     }
// 
//     /** @see BaseView#BaseView(Class, int) */
//     public Clickable(Class<T> type, int resourceId) {
//         super(type, resourceId);
//     }
// 
//     /** @see BaseView#BaseView(Class, int, int) */
//     public Clickable(Class<T> type, int IGNORED, int stringResourceId) {
//         super(type, IGNORED, stringResourceId);
//     }
// 
//     /** @see BaseView#BaseView(Class, String) */
//     public Clickable(Class<T> type, String displayText) {
//         super(type, displayText);
//     }
// 
//     /** {@inheritDoc} */
//     @Override
//     public <E extends PageObject> Clickable<E> goesTo(Class<E> type) {
//         return new Clickable<>(type, getSelector());
//     }
// 
//     /**
//      * Root Matchers return Clickable
//      */
// 
//     /** {@inheritDoc} */
//     @Override
//     public Clickable<T> changeRoot() {
//         return (Clickable<T>) super.changeRoot();
//     }
// 
//     /** {@inheritDoc} */
//     @Override
//     public Clickable<T> inRoot(Matcher<Root> rootMatcher) {
//         return (Clickable<T>) super.inRoot(rootMatcher);
//     }
// 
//     /** {@inheritDoc} */
//     @Override
//     public Clickable<T> inDialogRoot() {
//         return (Clickable<T>) super.inDialogRoot();
//     }
// 
//     /** {@inheritDoc} */
//     @Override
//     public Clickable<T> inPlatformPopup() {
//         return (Clickable<T>) super.inPlatformPopup();
//     }
// 
//     /** {@inheritDoc} */
//     @Override
//     public Clickable<T> inTouchableRoot() {
//         return (Clickable<T>) super.inTouchableRoot();
//     }
// 
//     /** {@inheritDoc} */
//     @Override
//     public Clickable<T> inDecorView(Matcher<View> decorViewMatcher) {
//         return (Clickable<T>) super.inDecorView(decorViewMatcher);
//     }
// 
//     /** {@inheritDoc} */
//     @Override
//     public Clickable<T> inFocusableRoot() {
//         return (Clickable<T>) super.inFocusableRoot();
//     }
// }
// 
// Path: lib/src/main/java/com/mindbodyonline/ironhide/PageObjects/PageObject.java
// public class PageObject {
// 
//     public static final int DEFAULT_PAUSE_TIME = 2000;
// 
//     /**
//      * Pause the test run for {@link PageObject#DEFAULT_PAUSE_TIME} milliseconds
//      * @return A generic of the passed in type
//      */
//     public <T extends PageObject> T pause(Class<T> type) {
//         return pause(type, DEFAULT_PAUSE_TIME);
//     }
// 
//     /**
//      * Pause the test run for a given amount of time(in milliseconds).
//      * @param timeInMillis Time, in milliseconds, to pause for.
//      * @return A generic of the passed in type.                     
//      */
//     public <T extends PageObject> T pause(Class<T> type, int timeInMillis) {
//         try {
//             Thread.sleep(timeInMillis);
//             return type.newInstance();
//         } catch (InstantiationException | IllegalAccessException | InterruptedException e) {
//             e.printStackTrace();
//         }
//         return null;
//     }
// }


// Path: app/src/androidTest/java/com/mindbodyonline/ironhidetestapp/models/MenuModel.java
import com.mindbodyonline.ironhide.Infrastructure.IronhideViews.Clickable;
import com.mindbodyonline.ironhide.PageObjects.PageObject;
import com.mindbodyonline.ironhidetestapp.R;

package com.mindbodyonline.ironhidetestapp.models;


/**
 * Page Object for {@link com.mindbodyonline.ironhidetestapp.MenuActivity}
 */
public class MenuModel extends PageObject {

    public Clickable<MenuModel> PopupButton = new Clickable<>(MenuModel.class, R.id.popup_button);

    public Clickable<MenuModel> ResultText = new Clickable<>(MenuModel.class, R.id.text_menu_result);
    
    public Clickable<MenuModel> ContextButton = new Clickable<>(MenuModel.class, R.id.text_context_menu);