Seasons.NET

ちょっとした技術ブログです

0の長さの配列テスト

配列を返す関数で長さ0の配列を返した方が設計として
親切なので、こんなコードをテスト。

 1 [TestFixture]
 2 public class TestArray
 3 {
 4     private class IDClass
 5     {
 6         private int value = 0;
 7         private string name = "";
 8 
 9         public int Value
10         {
11             get { return value; }
12             set { this.value = value; }
13         }
14 
15         public string Name
16         {
17             get { return name; }
18             set { name = value; }
19         }
20     }
21 
22     [Test]
23     public void CheckSize()
24     {
25         // 指定した長さで生成( 長さ0配列を作成するテスト )
26         Array aa = Array.CreateInstance( typeof(IDClass),2 );
27         aa.SetValue( new IDClass(),0 );
28         aa.SetValue( new IDClass(),1 );
29 
30         // 配列変換テスト
31         ( (IDClass)aa.GetValue( 1 )).Value = 100;
32         IDClass data = (IDClass [])aa;
33 
34         // テスト
35         Assert.AreEqual ( data[1].Value,100);
36     }
37 }