コード例 #1
0
        public void GetAllPropertyEnumeratorTest()
        {
            var test = new TestClass();
            var anon = new { Str = "Test2", Int = 9000, Date = new DateTime(1900, 1, 1) };

            test.StringProperty = "Test";
            test.IntProperty = 9999;
            test.DateTimeProperty = new DateTime(2000, 1, 1);

            var enum1 = test.GetAllPropertyEnumerator();
            var enum2 = anon.GetAllPropertyEnumerator();

            Assert.AreEqual<string>((string)enum1.First().Item2, "Test");
            Assert.AreEqual<int>((int)enum1.Skip(1).First().Item2, 9999);
            Assert.AreEqual<DateTime>((DateTime)enum1.Skip(2).First().Item2, new DateTime(2000, 1, 1));

            Assert.AreEqual<string>((string)enum2.First().Item2, "Test2");
            Assert.AreEqual<int>((int)enum2.Skip(1).First().Item2, 9000);
            Assert.AreEqual<DateTime>((DateTime)enum2.Skip(2).First().Item2, new DateTime(1900, 1, 1));
        }