a575963da9
Former-commit-id: da6be194a6b1221998fc28233f2503bd61dd9d14
119 lines
2.6 KiB
C#
119 lines
2.6 KiB
C#
//
|
|
// CookieCollectionTest.cs - NUnit Test Cases for System.Net.CookieCollection
|
|
//
|
|
// Authors:
|
|
// Lawrence Pit (loz@cable.a2000.nl)
|
|
// Martin Willemoes Hansen (mwh@sysrq.dk)
|
|
//
|
|
// (C) 2003 Martin Willemoes Hansen
|
|
//
|
|
|
|
using NUnit.Framework;
|
|
using System;
|
|
using System.Net;
|
|
using System.Collections;
|
|
|
|
namespace MonoTests.System.Net
|
|
{
|
|
|
|
[TestFixture]
|
|
public class CookieCollectionTest
|
|
{
|
|
CookieCollection col;
|
|
|
|
[SetUp]
|
|
public void GetReady ()
|
|
{
|
|
col = new CookieCollection ();
|
|
col.Add (new Cookie ("name1", "value1"));
|
|
col.Add (new Cookie ("name2", "value2", "path2"));
|
|
col.Add (new Cookie ("name3", "value3", "path3", "domain3"));
|
|
}
|
|
|
|
[Test]
|
|
public void Count ()
|
|
{
|
|
Assert.AreEqual (col.Count, 3, "#1");
|
|
}
|
|
|
|
[Test]
|
|
public void Indexer ()
|
|
{
|
|
Cookie c = null;
|
|
try {
|
|
c = col [-1];
|
|
Assert.Fail ("#1");
|
|
} catch (ArgumentOutOfRangeException) {
|
|
}
|
|
try {
|
|
c = col [col.Count];
|
|
Assert.Fail ("#2");
|
|
} catch (ArgumentOutOfRangeException) {
|
|
}
|
|
c = col ["name1"];
|
|
Assert.AreEqual (c.Name, "name1", "#3");
|
|
c = col ["NAME2"];
|
|
Assert.AreEqual (c.Name, "name2", "#4");
|
|
}
|
|
|
|
[Test]
|
|
public void Add ()
|
|
{
|
|
try {
|
|
Cookie c = null;
|
|
col.Add (c);
|
|
Assert.Fail ("#1");
|
|
} catch (ArgumentNullException) {
|
|
}
|
|
|
|
// in the microsoft implementation this will fail,
|
|
// so we'll have to fail to.
|
|
try {
|
|
col.Add (col);
|
|
Assert.Fail ("#2");
|
|
} catch (Exception) {
|
|
}
|
|
Assert.AreEqual (col.Count, 3, "#3");
|
|
|
|
col.Add (new Cookie("name1", "value1"));
|
|
Assert.AreEqual (col.Count, 3, "#4");
|
|
|
|
CookieCollection col2 = new CookieCollection();
|
|
Cookie c4 = new Cookie("name4", "value4");
|
|
Cookie c5 = new Cookie("name5", "value5");
|
|
col2.Add (c4);
|
|
col2.Add (c5);
|
|
col.Add (col2);
|
|
Assert.AreEqual (col.Count, 5, "#5");
|
|
Assert.AreEqual (col ["NAME4"], c4, "#6");
|
|
Assert.AreEqual (col [4], c5, "#7");
|
|
}
|
|
|
|
[Test]
|
|
public void CopyTo ()
|
|
{
|
|
Array a = Array.CreateInstance (typeof (Cookie), 3);
|
|
col.CopyTo (a, 0);
|
|
Assert.AreEqual (a.GetValue (0), col [0], "#1");
|
|
Assert.AreEqual (a.GetValue (1), col [1], "#2");
|
|
Assert.AreEqual (a.GetValue (2), col [2], "#3");
|
|
}
|
|
|
|
[Test]
|
|
public void Enumerator ()
|
|
{
|
|
IEnumerator enumerator = col.GetEnumerator ();
|
|
enumerator.MoveNext ();
|
|
Cookie c = (Cookie) enumerator.Current;
|
|
Assert.AreEqual (c, col [0], "#1");
|
|
col.Add (new Cookie ("name6", "value6"));
|
|
try {
|
|
enumerator.MoveNext ();
|
|
Assert.Fail ("#2");
|
|
} catch (InvalidOperationException) {
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|