public void Indexer() { var control = new PagedControl(); Page page1 = new Page(); control.Pages.Add(page1); Page page2 = new Page(); control.Pages.Add(page2); Page page3 = new Page(); control.Pages.Add(page3); // Getter Assert.AreEqual(3, control.Pages.Count); Assert.AreEqual(page1, control.Pages[0]); Assert.AreEqual(page2, control.Pages[1]); Assert.AreEqual(page3, control.Pages[2]); Assert.IsTrue(control.Pages.Contains(page1)); Assert.IsTrue(control.Pages.Contains(page2)); Assert.IsTrue(control.Pages.Contains(page3)); Page page4 = new Page(); control.Pages[1] = page4; // Setter Assert.AreEqual(3, control.Pages.Count); Assert.AreEqual(page4, control.Pages[1]); Assert.IsTrue(control.Pages.Contains(page1)); Assert.IsTrue(control.Pages.Contains(page4)); Assert.IsTrue(control.Pages.Contains(page3)); Assert.IsFalse(control.Pages.Contains(page2)); }
public void PageChangingCancelNavigation() { var control = new PagedControl(); // Cancel all page change events control.PageChanging += (sender, e) => { e.Cancel = true; }; // While adding a page and if the control is empty the control automatically // sets the new page as the current page. This event cannot be cancelled as it would // leave the control in an indeterminate state. SelectedPage should always return a valid // page if there is at least one page in the control, and it should return null if there are // no pages. var page1 = new Page(); Assert.AreEqual(null, control.SelectedPage); Assert.AreEqual(-1, control.SelectedIndex); control.Pages.Add(page1); Assert.AreEqual(page1, control.SelectedPage); Assert.AreEqual(0, control.SelectedIndex); // Otherwise it is OK to cancel the event var page2 = new Page(); control.Pages.Add(page2); control.SelectedPage = page2; Assert.AreEqual(page1, control.SelectedPage); Assert.AreEqual(0, control.SelectedIndex); }
public void Count() { var control = new PagedControl(); control.Pages.Add(new Page()); control.Pages.Add(new Page()); control.Pages.Add(new Page()); Assert.AreEqual(3, control.Pages.Count); }
public void RemoveAt() { var control = new PagedControl(); control.Pages.Add(new Page()); int count = control.Pages.Count; control.Pages.RemoveAt(0); Assert.AreEqual(count - 1, control.Pages.Count); }
public void Add() { var control = new PagedControl(); int count = control.Pages.Count; var page = new Page(); control.Pages.Add(page); Assert.AreEqual(count + 1, control.Pages.Count); Assert.AreEqual(page, control.Pages[control.Pages.Count - 1]); Assert.ThrowsException <ArgumentException>(() => control.Controls.Add(new Button())); }
public void Remove() { var control = new PagedControl(); control.Pages.Add(new Page()); int count = control.Pages.Count; control.Pages.Remove(control.Pages[0]); Assert.AreEqual(count - 1, control.Pages.Count); Assert.ThrowsException <ArgumentException>(() => control.Controls.Remove(new Button())); Assert.ThrowsException <ArgumentException>(() => control.Controls.Remove(new Page())); }
public void GetEnumerator() { var control = new PagedControl(); Page page1 = new Page(); control.Pages.Add(page1); Page page2 = new Page(); control.Pages.Add(page2); Page page3 = new Page(); control.Pages.Add(page3); CollectionAssert.AreEqual(new[] { page1, page2, page3 }, control.Pages.Take(3).ToArray()); }
public void PageAdded() { var control = new PagedControl(); Page pageAdded = null; control.PageAdded += (sender, e) => pageAdded = e.Page;; var page1 = new Page(); control.Pages.Add(page1); Assert.AreEqual(page1, pageAdded); var page2 = new Page(); control.Pages.Insert(1, page2); Assert.AreEqual(page2, pageAdded); }
public void Contains() { var control = new PagedControl(); Page page1 = new Page(); control.Pages.Add(page1); Page page2 = new Page(); control.Pages.Add(page2); Page page3 = new Page(); control.Pages.Add(page3); Assert.IsTrue(control.Pages.Contains(page1)); Assert.IsTrue(control.Pages.Contains(page2)); Assert.IsTrue(control.Pages.Contains(page3)); }
public void Insert() { var control = new PagedControl(); int count = control.Pages.Count; var page1 = new Page(); control.Pages.Insert(0, page1); Assert.AreEqual(count + 1, control.Pages.Count); Assert.AreEqual(page1, control.Pages[0]); var page2 = new Page(); control.Pages.Insert(1, page2); Assert.AreEqual(count + 2, control.Pages.Count); Assert.AreEqual(page2, control.Pages[1]); }
public void IndexOf() { var control = new PagedControl(); Page page1 = new Page(); control.Pages.Add(page1); Page page2 = new Page(); control.Pages.Add(page2); Page page3 = new Page(); control.Pages.Add(page3); Assert.AreEqual(0, control.Pages.IndexOf(page1)); Assert.AreEqual(1, control.Pages.IndexOf(page2)); Assert.AreEqual(2, control.Pages.IndexOf(page3)); }
public void GoNext() { var control = new PagedControl(); Assert.IsFalse(control.CanGoNext); var page1 = new Page(); control.Pages.Add(page1); Assert.IsFalse(control.CanGoNext); var page2 = new Page(); control.Pages.Add(page2); Assert.IsTrue(control.CanGoNext); control.GoNext(); Assert.AreEqual(page2, control.SelectedPage); Assert.IsFalse(control.CanGoNext); }
public void PageChanged() { var control = new PagedControl(); Page oldPage = null; Page currentPage = null; control.PageChanged += (sender, e) => { oldPage = e.OldPage; currentPage = e.CurrentPage; }; var page1 = new Page(); control.Pages.Add(page1); Assert.AreEqual(null, oldPage); Assert.AreEqual(page1, currentPage); control.Pages.Remove(page1); Assert.AreEqual(page1, oldPage); Assert.AreEqual(null, currentPage); control.Pages.Add(page1); control.Pages.Clear(); Assert.AreEqual(page1, oldPage); Assert.AreEqual(null, currentPage); control.Pages.Add(page1); Assert.AreEqual(null, oldPage); Assert.AreEqual(page1, currentPage); var page2 = new Page(); control.Pages.Add(page2); control.SelectedPage = page2; Assert.AreEqual(page1, oldPage); Assert.AreEqual(page2, currentPage); var page3 = new Page(); control.Pages.Add(page3); control.SelectedIndex = 2; Assert.AreEqual(page2, oldPage); Assert.AreEqual(page3, currentPage); }