Exemplo n.º 1
0
        /*
         * 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);
        }
Exemplo n.º 2
0
        /*
         * 正常に構築されることをテストする
         */
        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));
        }