[Test] // Add (int, int) public void Add2 () { LinkLabel l = new LinkLabel (); l.Text = "Managed Windows Forms"; LinkLabel.LinkCollection links1 = new LinkLabel.LinkCollection ( l); LinkLabel.LinkCollection links2 = new LinkLabel.LinkCollection ( l); LinkLabel.Link linkA = links1.Add (0, 7); Assert.AreEqual (1, links1.Count, "#A1"); Assert.AreEqual (1, links2.Count, "#A2"); #if NET_2_0 Assert.IsTrue (links1.LinksAdded, "#A3"); Assert.IsFalse (links2.LinksAdded, "#A4"); #endif Assert.AreSame (linkA, links1 [0], "#A5"); Assert.AreSame (linkA, links2 [0], "#A6"); LinkLabel.Link linkB = links1.Add (8, 7); Assert.AreEqual (2, links1.Count, "#B1"); Assert.AreEqual (2, links2.Count, "#B2"); #if NET_2_0 Assert.IsTrue (links1.LinksAdded, "#B3"); Assert.IsFalse (links2.LinksAdded, "#B4"); #endif Assert.AreSame (linkA, links1 [0], "#B5"); Assert.AreSame (linkA, links2 [0], "#B6"); Assert.AreSame (linkB, links1 [1], "#B7"); Assert.AreSame (linkB, links2 [1], "#B8"); LinkLabel.LinkCollection links3 = new LinkLabel.LinkCollection ( l); Assert.AreEqual (2, links3.Count, "#C1"); #if NET_2_0 Assert.IsFalse (links3.LinksAdded, "#C2"); #endif Assert.AreSame (linkA, links3 [0], "#C3"); Assert.AreSame (linkB, links3 [1], "#C4"); }
[Test] // Add (int, int) public void Add2_Overlap () { LinkLabel l = new LinkLabel (); l.Text = "Managed Windows Forms"; LinkLabel.LinkCollection links = new LinkLabel.LinkCollection ( l); LinkLabel.Link linkA = links.Add (0, 7); Assert.AreEqual (1, links.Count, "#A1"); #if NET_2_0 Assert.IsTrue (links.LinksAdded, "#A2"); #endif Assert.AreSame (linkA, links [0], "#A3"); try { links.Add (5, 4); Assert.Fail ("#B1"); } catch (InvalidOperationException ex) { // Overlapping link regions Assert.AreEqual (typeof (InvalidOperationException), ex.GetType (), "#B2"); Assert.IsNull (ex.InnerException, "#B3"); Assert.IsNotNull (ex.Message, "#B4"); } Assert.AreEqual (2, links.Count, "#B5"); #if NET_2_0 Assert.IsTrue (links.LinksAdded, "#B6"); #endif Assert.AreSame (linkA, links [0], "#B7"); Assert.IsNotNull (links [1], "#B8"); Assert.AreEqual (0, linkA.Start, "#B9"); Assert.AreEqual (7, linkA.Length, "#B10"); Assert.AreEqual (5, links [1].Start, "#B11"); Assert.AreEqual (4, links [1].Length, "#B12"); try { links.Add (14, 3); Assert.Fail ("#C1"); } catch (InvalidOperationException ex) { // Overlapping link regions Assert.AreEqual (typeof (InvalidOperationException), ex.GetType (), "#C2"); Assert.IsNull (ex.InnerException, "#C3"); Assert.IsNotNull (ex.Message, "#C4"); } Assert.AreEqual (3, links.Count, "#C5"); #if NET_2_0 Assert.IsTrue (links.LinksAdded, "#C6"); #endif Assert.AreSame (linkA, links [0], "#C7"); Assert.IsNotNull (links [1], "#C8"); Assert.IsNotNull (links [2], "#C9"); Assert.AreEqual (0, linkA.Start, "#C10"); Assert.AreEqual (7, linkA.Length, "#C11"); Assert.AreEqual (5, links [1].Start, "#C12"); Assert.AreEqual (4, links [1].Length, "#C13"); Assert.AreEqual (14, links [2].Start, "#C14"); Assert.AreEqual (3, links [2].Length, "#C15"); }
[Test] // Add (LinkLabel.Link) public void Add1_Value_Null () { LinkLabel l = new LinkLabel (); l.Text = "Managed Windows Forms"; LinkLabel.LinkCollection links = new LinkLabel.LinkCollection ( l); try { links.Add ((LinkLabel.Link) null); Assert.Fail ("#1"); } catch (NullReferenceException) { } }