2 // BitVector32Test.cs - NUnit Test Cases for System.Net.BitVector32
\r
5 // Lawrence Pit (loz@cable.a2000.nl)
\r
8 using NUnit.Framework;
\r
10 using System.Collections;
\r
11 using System.Collections.Specialized;
\r
13 namespace MonoTests.System.Collections.Specialized
\r
15 public class BitVector32Test : TestCase
\r
17 public BitVector32Test () :
\r
18 base ("[MonoTests.System.Net.BitVector32Test]") {}
\r
20 public BitVector32Test (string name) : base (name) {}
\r
22 protected override void SetUp () {}
\r
24 protected override void TearDown () {}
\r
26 public static ITest Suite
\r
29 return new TestSuite (typeof (BitVector32Test));
\r
33 public void TestConstructors ()
\r
35 BitVector32 b = new BitVector32 (31);
\r
38 public void TestIndexers ()
\r
40 BitVector32 b = new BitVector32 (7);
\r
41 Assert ("#1", b [0]);
\r
42 Assert ("#2", b [1]);
\r
43 Assert ("#3", b [2]);
\r
44 Assert ("#4", b [4]);
\r
45 Assert ("#5", !b [8]);
\r
46 Assert ("#6", !b [16]);
\r
48 Assert ("#7", b [4]);
\r
49 Assert ("#8", b [8]);
\r
50 Assert ("#9", !b [16]);
\r
52 Assert ("#10", b [4]);
\r
53 Assert ("#11", !b [8]);
\r
54 Assert ("#12", !b [16]);
\r
56 BitVector32.Section s = BitVector32.CreateSection (31);
\r
57 s = BitVector32.CreateSection (64, s);
\r
60 // b = new BitVector32 (0x777777);
\r
61 BitVector32 b1 = new BitVector32 (0xffff77);
\r
62 BitVector32 b2 = new BitVector32 (b1 [s]);
\r
63 //Console.WriteLine (b1.ToString ());
\r
64 //Console.WriteLine (b2.ToString ());
\r
65 AssertEquals ("#14", 123, b1 [s]);
\r
68 //Console.WriteLine (b1.ToString ());
\r
71 public void TestCreateMask ()
\r
73 AssertEquals ("#1", 1, BitVector32.CreateMask ());
\r
74 AssertEquals ("#2", 1, BitVector32.CreateMask (0));
\r
75 AssertEquals ("#3", 2, BitVector32.CreateMask (1));
\r
76 AssertEquals ("#4", 32, BitVector32.CreateMask (16));
\r
77 AssertEquals ("#6", -2, BitVector32.CreateMask (Int32.MaxValue));
\r
78 AssertEquals ("#5", -4, BitVector32.CreateMask (-2));
\r
80 BitVector32.CreateMask (Int32.MinValue);
\r
82 } catch (InvalidOperationException) {}
\r
85 public void TestCreateSection ()
\r
87 BitVector32.Section s = BitVector32.CreateSection (1);
\r
88 AssertEquals ("#1", (short) 1, s.Mask);
\r
90 s = BitVector32.CreateSection (2);
\r
91 AssertEquals ("#2", (short) 3, s.Mask);
\r
93 s = BitVector32.CreateSection (3);
\r
94 AssertEquals ("#3", (short) 3, s.Mask);
\r
96 s = BitVector32.CreateSection (5);
\r
97 AssertEquals ("#4", (short) 7, s.Mask);
\r
99 s = BitVector32.CreateSection (20);
\r
100 AssertEquals ("#4", (short) 0x1f, s.Mask);
\r
102 s = BitVector32.CreateSection (Int16.MaxValue);
\r
103 AssertEquals ("#5", (short) 0x7fff, s.Mask);
\r
105 s = BitVector32.CreateSection (Int16.MaxValue - 100);
\r
106 AssertEquals ("#6", (short) 0x7fff, s.Mask);
\r
109 BitVector32.Section s2 = BitVector32.CreateSection (0);
\r
111 } catch (ArgumentException) {}
\r
114 BitVector32.Section s2 = BitVector32.CreateSection (-1);
\r
116 } catch (ArgumentException) {}
\r
119 BitVector32.Section s2 = BitVector32.CreateSection (Int16.MinValue);
\r
121 } catch (ArgumentException) {}
\r
123 s = BitVector32.CreateSection (20);
\r
124 AssertEquals ("#10a", (short) 0x1f, s.Mask);
\r
125 AssertEquals ("#10b", (short) 0x00, s.Offset);
\r
126 s = BitVector32.CreateSection (120, s);
\r
127 AssertEquals ("#10c", (short) 0x7f, s.Mask);
\r
128 AssertEquals ("#10d", (short) 0x05, s.Offset);
\r
129 s = BitVector32.CreateSection (1000, s);
\r
130 AssertEquals ("#10e", (short) 0x3ff, s.Mask);
\r
131 AssertEquals ("#10f", (short) 0x0c, s.Offset);
\r
135 private void Print (BitVector32.Section s)
\r
137 Console.WriteLine (s.ToString () + " : "+ s.Mask + " : " + s.Offset);
\r