/* * private method GetLength()をテストする */ public void GetLengthTest_Normal() { MemberSpec m = new MemberSpec( "Sakamoto Shigeru", 57 ); // methodinfoを取得する MethodInfo method = m.GetType(). GetMethod( "GetLength", BindingFlags.Instance | BindingFlags.NonPublic | BindingFlags.InvokeMethod ); // 実行する string testStr = "AsssJk ooooa ass122334"; int len = (int)method.Invoke( m, new object[1] { testStr } ); Assert.AreEqual(testStr.Length, len); }
/* * 正常に構築されることをテストする */ public void MemberSpecTest_ConstructNormally() { MemberSpec m = new MemberSpec( "Sakamoto Shigeru", 57 ); // Name = "Sakamoto Shigeru" // Age = 57 Assert.AreEqual("Sakamoto Shigeru", m.Name); Assert.AreEqual(57, m.Age); /* * private firstName, lastNameが正しく設定されている * ことを確認する。 * private fieldはReflectionで取得する */ // mインスタンスのタイプ取得 Type m_type = m.GetType(); // firstName FieldInfoを取得 FieldInfo finf = m_type.GetField( "firstName", BindingFlags.NonPublic | BindingFlags.Instance); Assert.AreEqual("Sakamoto", finf.GetValue(m)); // lastName FieldInfoを取得 finf = m_type.GetField( "lastName", BindingFlags.NonPublic | BindingFlags.Instance); Assert.AreEqual("Shigeru", finf.GetValue(m)); }