コード例 #1
0
    public void Degree_Method()
    {
      Assert.Throws<ArgumentNullException>(() => IDeputyInfoExtensions.Degree<IDeputyInfo>(null, "degree"));
      Assert.Throws<ArgumentNullException>(() => Enumerable.Empty<IDeputyInfo>().Degree(null));
      Assert.Throws<ArgumentException>(() => Enumerable.Empty<IDeputyInfo>().Degree(string.Empty));

      Assert.False(Enumerable.Empty<IDeputyInfo>().Degree("degree").Any());

      var first = new DeputyInfo { DegreesOriginal = new List<string> { "FIRST", "SECOND" } };
      var second = new DeputyInfo { DegreesOriginal = new List<string> { "First", "Third" } };
      var deputies = new[] { null, first, second };
      Assert.True(deputies.Degree("first").SequenceEqual(new[] { first, second }));
      Assert.True(ReferenceEquals(first, deputies.Degree("second").Single()));
      Assert.True(ReferenceEquals(second, deputies.Degree("third").Single()));
    }
コード例 #2
0
    public void FullName_Methods()
    {
      Assert.Throws<ArgumentNullException>(() => IDeputyInfoExtensions.FullName(null));
      Assert.Throws<ArgumentNullException>(() => IDeputyInfoExtensions.FullName<IDeputyInfo>(null, "name"));
      Assert.Throws<ArgumentNullException>(() => Enumerable.Empty<IDeputyInfo>().FullName(null));
      Assert.Throws<ArgumentException>(() => Enumerable.Empty<IDeputyInfo>().FullName(string.Empty));

      Assert.Equal("LastName FirstName MiddleName", new DeputyInfo { FirstName = "FirstName", LastName = "LastName", MiddleName = "MiddleName" }.FullName());
      Assert.Equal("LastName FirstName", new DeputyInfo { FirstName = "FirstName", LastName = "LastName" }.FullName());

      Assert.False(Enumerable.Empty<IDeputyInfo>().FullName("name").Any());
      var first = new DeputyInfo { FirstName = "Vladimir", LastName = "Putin" };
      var second = new DeputyInfo { FirstName = "Dmitry", LastName = "Medvedev" };
      var deputies = new[] { null, first, second };
      Assert.True(ReferenceEquals(first, deputies.FullName("PUTIN").Single()));
      Assert.True(ReferenceEquals(first, deputies.FullName("putin vladimir").Single()));
      Assert.True(ReferenceEquals(second, deputies.FullName("MEDVEDEV").Single()));
      Assert.True(ReferenceEquals(second, deputies.FullName("medvedev dmitry").Single()));
    }
コード例 #3
0
    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 }));
    }
コード例 #4
0
    public void Faction_Method()
    {
      Assert.Throws<ArgumentNullException>(() => IDeputyInfoExtensions.Faction<IDeputyInfo>(null, "faction"));
      Assert.Throws<ArgumentNullException>(() => Enumerable.Empty<IDeputyInfo>().Faction(null));
      Assert.Throws<ArgumentException>(() => Enumerable.Empty<IDeputyInfo>().Faction(string.Empty));

      Assert.False(Enumerable.Empty<IDeputyInfo>().Faction("faction").Any());

      var first = new DeputyInfo { FactionName = "FIRST" };
      var second = new DeputyInfo { FactionName = "Second" };
      var deputies = new[] { null, first, second };
      Assert.True(ReferenceEquals(first, deputies.Faction("first").Single()));
      Assert.True(ReferenceEquals(second, deputies.Faction("second").Single()));
    }
コード例 #5
0
    public void WorkDate_Method()
    {
      Assert.Throws<ArgumentNullException>(() => IDeputyInfoExtensions.WorkDate<IDeputyInfo>(null));

      Assert.False(Enumerable.Empty<IDeputyInfo>().WorkDate().Any());

      var date = new DateTime(2000, 1, 1);

      var first = new DeputyInfo { WorkStartDate = DateTime.MinValue };
      var second = new DeputyInfo { WorkStartDate = date };
      var third = new DeputyInfo { WorkStartDate = DateTime.MaxValue };
      var deputies = new[] { null, first, second, third };
      Assert.True(deputies.WorkDate(date).SequenceEqual(new[] { second, third }));
      Assert.True(deputies.WorkDate(null, date).SequenceEqual(new[] { first, second, third }));
      Assert.True(deputies.WorkDate(DateTime.MinValue, DateTime.MaxValue).SequenceEqual(new[] { first, second, third }));

      first = new DeputyInfo { WorkStartDate = DateTime.MinValue, WorkEndDate = DateTime.MaxValue };
      second = new DeputyInfo { WorkStartDate = date, WorkEndDate = date };
      third = new DeputyInfo { WorkStartDate = DateTime.MaxValue, WorkEndDate = DateTime.MaxValue };
      deputies = new[] { null, first, second, third };
      Assert.True(deputies.WorkDate(date).SequenceEqual(new[] { second, third }));
      Assert.True(ReferenceEquals(second, deputies.WorkDate(null, date).Single()));
      Assert.True(ReferenceEquals(second, deputies.WorkDate(date, date).Single()));
    }