package com.algocrafts.datepicker;
import com.algocrafts.pages.Page;
import com.algocrafts.selenium.Locator;
public class CalendarPicker {
private final Page browser; //<1>
private final Locator<Page, Void> previous; //<2>
private final Locator<Page, Void> next; //<3>
private final Locator<Page, Integer> displayedValue; //<4>
public CalendarPicker(Page browser,
Locator<Page, Void> previous,
Locator<Page, Void> next,
Locator<Page, Integer> displayedValue) { //<5>
this.browser = browser;
this.previous = previous;
this.next = next;
this.displayedValue = displayedValue;
}
/**
*
* @param flipTo
*/
void pick(int flipTo) {
int difference = displayedValue.apply(browser) - flipTo;
if (difference < 0) {
for (int i = difference; i < 0; i++) {
next.apply(browser);
}
} else if (difference > 0) {
for (int i = 0; i < difference; i++) {
previous.apply(browser);
}
}
}
}