public void ListOnDynamicPageTest()
{
var testValues = new[]
{
"First", "Second", "Third", "Fourth", "Fifth"
};
using (var browser = new Browser())
{
var page = browser.GoTo(Form.Index);
((IPage)page).Result.TraceResults();
var list = page.List as HtmlList;
list.Should().NotBeNull();
list.Values.SequenceEqual(testValues).Should().BeTrue();
((string)page.List.Value).Should().BeNullOrEmpty();
for (var index = 0; index < testValues.Length; index++)
{
var expectedValues = new List<string>();
for (var innerLoop = 0; innerLoop <= index; innerLoop++)
{
page.List.Select(testValues[innerLoop]);
expectedValues.Add(testValues[innerLoop]);
}
page = page.Submit.Click();
var values = ((IEnumerable<string>)page.List.SelectedValues).ToList();
values.SequenceEqual(expectedValues).Should().BeTrue();
}
page.List.Value = null;
page = page.Submit.Click();
((string)page.List.Value).Should().BeNullOrEmpty();
}
}