diff --git a/LinqStudy.Test/LinqToObject/AggregationTest.cs b/LinqStudy.Test/LinqToObject/AggregationTest.cs
index 75fd773..5087d29 100644
--- a/LinqStudy.Test/LinqToObject/AggregationTest.cs
+++ b/LinqStudy.Test/LinqToObject/AggregationTest.cs
@@ -150,5 +150,232 @@ namespace LinqStudy.Test.LinqToObject
             Assert.Throws<InvalidOperationException>(act);
         }
         #endregion
+
+        #region Average
+
+        /// <summary>
+        /// Average:求平均值
+        /// </summary>
+        [Fact]
+        public void Average_Default_Test()
+        {
+            List<Person> peoples = new List<Person>()
+            {
+                new Person(){ Id=2, Name="小龙女", Age=28},
+                new Person(){ Id=4, Name="杨过", Age=32},
+            };
+
+            var avgAge = peoples.Average(q => q.Age);
+            var expected = (28 + 32) / 2;
+
+            Assert.True(avgAge - expected < 0.5);
+        }
+        #endregion
+
+        #region Count
+
+        /// <summary>
+        /// Count:序列元素的数量(范围:Int32.MinValue 至 Int32.MaxValue)
+        /// </summary>
+        [Fact]
+        public void Count_Default_Test()
+        {
+            List<Person> peoples = new List<Person>()
+            {
+                new Person(){ Id=2, Name="小龙女", Age=28},
+                new Person(){ Id=4, Name="杨过", Age=32},
+            };
+
+            var count = peoples.Count();
+            var expected = 2;
+
+            Assert.Equal(count, expected);
+        }
+
+        /// <summary>
+        /// 重载:predicate
+        /// </summary>
+        [Fact]
+        public void Count_predicate_Test()
+        {
+            List<Person> peoples = new List<Person>()
+            {
+                new Person(){ Id=2, Name="小龙女", Age=28},
+                new Person(){ Id=4, Name="杨过", Age=32},
+            };
+
+            var count = peoples.Count(p=>p.Age>28);
+            var expected = 1;
+
+            Assert.Equal(count, expected);
+        }
+        #endregion
+
+        #region LongCount
+
+        /// <summary>
+        /// Count:序列元素的数量(范围超过:Int32.MaxValue),返回长整形。
+        /// </summary>
+        [Fact]
+        public void LongCount_Default_Test()
+        {
+            List<Person> peoples = new List<Person>()
+            {
+                new Person(){ Id=2, Name="小龙女", Age=28},
+                new Person(){ Id=4, Name="杨过", Age=32},
+            };
+
+            var count = peoples.LongCount();
+            var expected = 2;
+
+            Assert.Equal(count, expected);
+        }
+
+        /// <summary>
+        /// 重载:predicate
+        /// </summary>
+        [Fact]
+        public void LongCount_predicate_Test()
+        {
+            List<Person> peoples = new List<Person>()
+            {
+                new Person(){ Id=2, Name="小龙女", Age=28},
+                new Person(){ Id=4, Name="杨过", Age=32},
+            };
+
+            var count = peoples.LongCount(p => p.Age > 28);
+            var expected = 1;
+
+            Assert.Equal(count, expected);
+        }
+        #endregion
+
+        #region Max
+
+        /// <summary>
+        /// Max:最大值
+        /// </summary>
+        [Fact]
+        public void Max_Default_Test()
+        {
+            List<Person> peoples = new List<Person>()
+            {
+                new Person(){ Id=1, Name="张三丰", Age=230},
+                new Person(){ Id=2, Name="小龙女", Age=28},
+                new Person(){ Id=3, Name="银花公主", Age=16},
+                new Person(){ Id=4, Name="杨过", Age=32},
+                new Person(){ Id=5, Name="东方不败", Age=86},
+                new Person(){ Id=6, Name="金轮法王", Age=64},
+                new Person(){ Id=7, Name="周伯通", Age=98},
+                new Person(){ Id=8, Name="洪七公", Age=97},
+                new Person(){ Id=9, Name="郭靖", Age=63},
+                new Person(){ Id=10, Name="黄蓉", Age=59},
+            };
+
+            var queryMax = peoples.Max(p => p.Age);
+            var expectedAge = 230;
+
+            Assert.Equal(expectedAge, queryMax);
+        }
+
+        /// <summary>
+        /// InvalidOperationException 异常
+        /// </summary>
+        [Fact]
+        public void Max_InvalidOperationException_Test()
+        {
+            List<Person> peoples = new List<Person>()
+            {
+                
+            };
+
+            Action act = () => peoples.Max(p => p.Age);
+
+            Assert.Throws<InvalidOperationException>(act);
+        }
+        #endregion
+
+        #region Min
+
+        /// <summary>
+        /// Min:最小值
+        /// </summary>
+        [Fact]
+        public void Min_Default_Test()
+        {
+            List<Person> peoples = new List<Person>()
+            {
+                new Person(){ Id=1, Name="张三丰", Age=230},
+                new Person(){ Id=2, Name="小龙女", Age=28},
+                new Person(){ Id=3, Name="银花公主", Age=16},
+                new Person(){ Id=4, Name="杨过", Age=32},
+                new Person(){ Id=5, Name="东方不败", Age=86},
+                new Person(){ Id=6, Name="金轮法王", Age=64},
+                new Person(){ Id=7, Name="周伯通", Age=98},
+                new Person(){ Id=8, Name="洪七公", Age=97},
+                new Person(){ Id=9, Name="郭靖", Age=63},
+                new Person(){ Id=10, Name="黄蓉", Age=59},
+            };
+
+            var queryMin = peoples.Min(p => p.Age);
+            var expectedAge = 16;
+
+            Assert.Equal(expectedAge, queryMin);
+        }
+
+        /// <summary>
+        /// InvalidOperationException 异常
+        /// </summary>
+        [Fact]
+        public void Min_InvalidOperationException_Test()
+        {
+            List<Person> peoples = new List<Person>()
+            {
+
+            };
+
+            Action act = () => peoples.Min(p => p.Age);
+
+            Assert.Throws<InvalidOperationException>(act);
+        }
+        #endregion
+
+        #region Sum
+
+        /// <summary>
+        /// Sum:最和
+        /// </summary>
+        [Fact]
+        public void Sum_Default_Test()
+        {
+            List<Person> peoples = new List<Person>()
+            {
+                new Person(){ Id=2, Name="小龙女", Age=28},
+                new Person(){ Id=4, Name="杨过", Age=32},
+            };
+
+            var querySum = peoples.Sum(p => p.Age);
+            var expectedAge = 60;
+
+            Assert.Equal(expectedAge, querySum);
+        }
+
+        /// <summary>
+        /// OverflowException 异常
+        /// </summary>
+        [Fact]
+        public void Sum_OverflowException_Test()
+        {
+            List<Person> peoples = new List<Person>()
+            {
+                new Person(){ Id=2, Name="小龙女", Age=int.MaxValue},
+                new Person(){ Id=4, Name="杨过", Age=32},
+            };
+
+            Action act = () => peoples.Sum(p => p.Age);
+
+            Assert.Throws<OverflowException>(act);
+        }
+        #endregion
     }
 }