Jo Shields 3c1f479b9d Imported Upstream version 4.0.0~alpha1
Former-commit-id: 806294f5ded97629b74c85c09952f2a74fe182d9
2015-04-07 09:35:12 +01:00

183 lines
6.7 KiB
C#

//
// Tests for System.Web.UI.WebControls.ImageMap.cs
//
// Author:
// Hagit Yidov (hagity@mainsoft.com
//
// (C) 2005 Mainsoft Corporation (http://www.mainsoft.com)
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
// "Software"), to deal in the Software without restriction, including
// without limitation the rights to use, copy, modify, merge, publish,
// distribute, sublicense, and/or sell copies of the Software, and to
// permit persons to whom the Software is furnished to do so, subject to
// the following conditions:
//
// The above copyright notice and this permission notice shall be
// included in all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
using NUnit.Framework;
using System;
using System.IO;
using System.Globalization;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using MonoTests.stand_alone.WebHarness;
using MonoTests.SystemWeb.Framework;
using System.Threading;
using System.Collections;
using System.Drawing;
namespace MonoTests.System.Web.UI.WebControls {
[TestFixture]
public class TreeNodeStyleCollectionTest {
[Test]
public void TreeNodeStyleCollection_Method_Add () {
TreeView tv = new TreeView ();
Assert.AreEqual (0, tv.LevelStyles.Count, "BeforeAdd");
tv.LevelStyles.Add (new TreeNodeStyle ());
Assert.AreEqual (1, tv.LevelStyles.Count, "AfterAdd");
}
[Test]
public void TreeNodeStyleCollection_Method_Clear () {
TreeView tv = new TreeView ();
tv.LevelStyles.Add (new TreeNodeStyle ());
tv.LevelStyles.Add (new TreeNodeStyle ());
tv.LevelStyles.Add (new TreeNodeStyle ());
Assert.AreEqual (3, tv.LevelStyles.Count, "BeforeClear");
tv.LevelStyles.Clear ();
Assert.AreEqual (0, tv.LevelStyles.Count, "AfterClear");
}
[Test]
public void TreeNodeStyleCollection_Method_Contains () {
TreeView tv = new TreeView ();
TreeNodeStyle tns = new TreeNodeStyle ();
tv.LevelStyles.Add (new TreeNodeStyle ());
Assert.AreEqual (false, tv.LevelStyles.Contains (tns), "BeforeContains");
tv.LevelStyles.Add (tns);
tv.LevelStyles.Add (new TreeNodeStyle ());
Assert.AreEqual (true, tv.LevelStyles.Contains (tns), "AfterContains");
}
[Test]
public void TreeNodeStyleCollection_Method_CopyTo () {
TreeView tv = new TreeView ();
TreeNodeStyle[] styleArray = new TreeNodeStyle[10];
tv.LevelStyles.Add (new TreeNodeStyle ());
TreeNodeStyle tns = new TreeNodeStyle ();
tns.ImageUrl = "StyleImageUrl";
tv.LevelStyles.Add (tns);
tv.LevelStyles.Add (new TreeNodeStyle ());
Assert.AreEqual (3, tv.LevelStyles.Count, "BeforeCopyTo");
tv.LevelStyles.CopyTo (styleArray, 3);
Assert.AreEqual ("StyleImageUrl", styleArray[4].ImageUrl, "AfterCopyTo");
}
[Test]
public void TreeNodeStyleCollection_Method_IndexOf () {
TreeView tv = new TreeView ();
TreeNodeStyle tns = new TreeNodeStyle ();
tv.LevelStyles.Add (new TreeNodeStyle ());
tv.LevelStyles.Add (new TreeNodeStyle ());
Assert.AreEqual (-1, tv.LevelStyles.IndexOf (tns), "BeforeIndexOf");
tv.LevelStyles.Add (tns);
tv.LevelStyles.Add (new TreeNodeStyle ());
Assert.AreEqual (2, tv.LevelStyles.IndexOf (tns), "AfterIndexOf");
}
[Test]
public void TreeNodeStyleCollection_Method_Insert () {
TreeView tv = new TreeView ();
tv.LevelStyles.Add (new TreeNodeStyle ());
tv.LevelStyles.Add (new TreeNodeStyle ());
Assert.AreEqual (2, tv.LevelStyles.Count, "BeforeInsert");
TreeNodeStyle tns = new TreeNodeStyle ();
tns.ImageUrl = "StyleImageUrl";
tv.LevelStyles.Insert (1, tns);
Assert.AreEqual (3, tv.LevelStyles.Count, "AfterInsert1");
Assert.AreEqual ("StyleImageUrl", tv.LevelStyles[1].ImageUrl, "AfterInsert2");
}
[Test]
public void TreeNodeStyleCollection_Method_Remove () {
TreeView tv = new TreeView ();
TreeNodeStyle tns1 = new TreeNodeStyle ();
tns1.ImageUrl = "first";
TreeNodeStyle tns2 = new TreeNodeStyle ();
tns2.ImageUrl = "second";
TreeNodeStyle tns3 = new TreeNodeStyle ();
tns3.ImageUrl = "third";
tv.LevelStyles.Add (tns1);
tv.LevelStyles.Add (tns2);
tv.LevelStyles.Add (tns3);
Assert.AreEqual (3, tv.LevelStyles.Count, "BeforeRemove1");
Assert.AreEqual ("second", tv.LevelStyles[1].ImageUrl, "BeforeRemove2");
tv.LevelStyles.Remove (tns2);
Assert.AreEqual (2, tv.LevelStyles.Count, "AfterRemove1");
Assert.AreEqual ("third", tv.LevelStyles[1].ImageUrl, "AfterRemove2");
}
[Test]
public void TreeNodeStyleCollection_Method_RemoveAt () {
TreeView tv = new TreeView ();
TreeNodeStyle tns1 = new TreeNodeStyle ();
tns1.ImageUrl = "first";
TreeNodeStyle tns2 = new TreeNodeStyle ();
tns2.ImageUrl = "second";
TreeNodeStyle tns3 = new TreeNodeStyle ();
tns3.ImageUrl = "third";
tv.LevelStyles.Add (tns1);
tv.LevelStyles.Add (tns2);
tv.LevelStyles.Add (tns3);
Assert.AreEqual (3, tv.LevelStyles.Count, "BeforeRemove1");
Assert.AreEqual ("second", tv.LevelStyles[1].ImageUrl, "BeforeRemove2");
tv.LevelStyles.RemoveAt (1);
Assert.AreEqual (2, tv.LevelStyles.Count, "AfterRemove1");
Assert.AreEqual ("third", tv.LevelStyles[1].ImageUrl, "AfterRemove2");
}
[Test]
public void TreeNodeStyleCollection_ViewState () {
TreeView tv = new TreeView ();
((IStateManager) tv.LevelStyles).TrackViewState ();
TreeNodeStyle style = new TreeNodeStyle ();
tv.LevelStyles.Add (style);
Assert.AreEqual (false, style.IsEmpty, "TreeNodeStyleCollection_ViewState#1");
tv.LevelStyles.Remove (style);
Assert.AreEqual (false, style.IsEmpty, "TreeNodeStyleCollection_ViewState#2");
tv.LevelStyles.Add (style);
tv.LevelStyles.Add (new TreeNodeStyle ());
tv.LevelStyles [1].BackColor = Color.Blue;
object state = ((IStateManager) tv.LevelStyles).SaveViewState ();
TreeView copy = new TreeView ();
((IStateManager) copy.LevelStyles).TrackViewState ();
((IStateManager) copy.LevelStyles).LoadViewState (state);
Assert.AreEqual (2, copy.LevelStyles.Count, "TreeNodeStyleCollection_ViewState#3");
Assert.AreEqual (false, copy.LevelStyles [0].IsEmpty, "TreeNodeStyleCollection_ViewState#4");
Assert.AreEqual (false, copy.LevelStyles [1].IsEmpty, "TreeNodeStyleCollection_ViewState#5");
Assert.AreEqual (Color.Blue, copy.LevelStyles [1].BackColor, "TreeNodeStyleCollection_ViewState#6");
}
}
}