public void BirthDate_Method() { Assert.Throws<ArgumentNullException>(() => IDeputyInfoExtensions.BirthDate<IDeputyInfo>(null)); Assert.Throws<ArgumentNullException>(() => ((IEnumerable<IDeputyInfo>) null).BirthDate()); Assert.False(Enumerable.Empty<IDeputyInfo>().BirthDate().Any()); var date = new DateTime(2000, 1, 1); var first = new DeputyInfo { BirthDate = DateTime.MinValue }; var second = new DeputyInfo { BirthDate = date }; var third = new DeputyInfo { BirthDate = DateTime.MaxValue }; var deputies = new[] { null, first, second, third }; Assert.True(deputies.BirthDate(date).SequenceEqual(new[] { second, third })); Assert.True(deputies.BirthDate(null, date).SequenceEqual(new[] { first, second })); Assert.True(deputies.BirthDate(DateTime.MinValue, DateTime.MaxValue).SequenceEqual(new[] { first, second, third })); }
public void birth_date_enumerable() { Assert.Throws<ArgumentNullException>(() => ((IEnumerable<Person>)null).BirthDate()); var people = new[] { null, new Person(), new Person { BirthDate = new DateTime(2000, 1, 1) }, new Person { BirthDate = new DateTime(2000, 1, 2) } }; Assert.Equal(3, people.BirthDate().Count()); Assert.Equal(2, people.BirthDate(new DateTime(1999, 1, 31)).Count()); Assert.Empty(people.BirthDate(new DateTime(2000, 1, 3))); Assert.Equal(1, people.BirthDate(new DateTime(1999, 1, 31), new DateTime(2000, 1, 1)).Count()); Assert.Equal(2, people.BirthDate(new DateTime(2000, 1, 1), new DateTime(2000, 1, 2)).Count()); Assert.Empty(people.BirthDate(to: new DateTime(1999, 12, 31))); Assert.Equal(1, people.BirthDate(to: new DateTime(2000, 1, 1)).Count()); Assert.Equal(2, people.BirthDate(to: new DateTime(2000, 1, 3)).Count()); }