public void TestTakeWhileOperator() { EntityCollection<TestAccountEntity> entities = new EntityCollection<TestAccountEntity>(); entities.Add(new TestAccountEntity(100, 5)); entities.Add(new TestAccountEntity(102, 8)); entities.Add(new TestAccountEntity(101, 15)); entities.Add(new TestAccountEntity(101, 2)); IEnumerable<TestAccountEntity> result = entities.TakeWhile( delegate(TestAccountEntity entity) { return (entity.Amount < 10) ? true : false; }); Assert.IsNotNull(result); foreach (TestAccountEntity entity in result) { Assert.IsNotNull(entity); Console.WriteLine(entity); } }