public void Test_GetPredicate_Boundary() { var result = new StringBuilder(); result.Append("t => ((t.DateValue > Convert(Parse(\"2000/1/1 0:00:00\"), DateTime))"); result.Append(" AndAlso (t.DateValue < Convert(Parse(\"2000/1/3 0:00:00\"), DateTime)))"); var criteria = new DateSegmentCriteria <AggregateRootSample, DateTime>(t => t.DateValue, _min, _max, Boundary.Neither); Assert.Equal(result.ToString(), criteria.GetPredicate().ToString()); result = new StringBuilder(); result.Append("t => ((t.DateValue >= Convert(Parse(\"2000/1/1 0:00:00\"), DateTime))"); result.Append(" AndAlso (t.DateValue < Convert(Parse(\"2000/1/3 0:00:00\"), DateTime)))"); criteria = new DateSegmentCriteria <AggregateRootSample, DateTime>(t => t.DateValue, _min, _max, Boundary.Left); Assert.Equal(result.ToString(), criteria.GetPredicate().ToString()); result = new StringBuilder(); result.Append("t => ((t.NullableDateValue > Convert(Parse(\"2000/1/1 0:00:00\"), Nullable`1))"); result.Append(" AndAlso (t.NullableDateValue <= Convert(Parse(\"2000/1/3 0:00:00\"), Nullable`1)))"); var criteria2 = new DateSegmentCriteria <AggregateRootSample, DateTime?>(t => t.NullableDateValue, _min, _max, Boundary.Right); Assert.Equal(result.ToString(), criteria2.GetPredicate().ToString()); result = new StringBuilder(); result.Append("t => ((t.NullableDateValue >= Convert(Parse(\"2000/1/1 0:00:00\"), Nullable`1))"); result.Append(" AndAlso (t.NullableDateValue <= Convert(Parse(\"2000/1/3 0:00:00\"), Nullable`1)))"); criteria2 = new DateSegmentCriteria <AggregateRootSample, DateTime?>(t => t.NullableDateValue, _min, _max, Boundary.Both); Assert.Equal(result.ToString(), criteria2.GetPredicate().ToString()); }
public void TestGetPredicate_Boundary() { var result = new StringBuilder(); result.AppendFormat("t => ((t.DateValue > {0})", DateTime.Parse("2000/1/1 0:00:00")); result.AppendFormat(" AndAlso (t.DateValue < {0}))", DateTime.Parse("2000/1/3 0:00:00")); var criteria = new DateSegmentCriteria <AggregateRootSample, DateTime>(t => t.DateValue, _min, _max, Boundary.Neither); Assert.Equal(result.ToString(), criteria.GetPredicate().ToString()); result = new StringBuilder(); result.AppendFormat("t => ((t.DateValue >= {0})", DateTime.Parse("2000/1/1 0:00:00")); result.AppendFormat(" AndAlso (t.DateValue < {0}))", DateTime.Parse("2000/1/3 0:00:00")); criteria = new DateSegmentCriteria <AggregateRootSample, DateTime>(t => t.DateValue, _min, _max, Boundary.Left); Assert.Equal(result.ToString(), criteria.GetPredicate().ToString()); result = new StringBuilder(); result.AppendFormat("t => ((t.NullableDateValue > {0})", DateTime.Parse("2000/1/1 0:00:00")); result.AppendFormat(" AndAlso (t.NullableDateValue <= {0}))", DateTime.Parse("2000/1/3 0:00:00")); var criteria2 = new DateSegmentCriteria <AggregateRootSample, DateTime?>(t => t.NullableDateValue, _min, _max, Boundary.Right); Assert.Equal(result.ToString(), criteria2.GetPredicate().ToString()); result = new StringBuilder(); result.AppendFormat("t => ((t.NullableDateValue >= {0})", DateTime.Parse("2000/1/1 0:00:00")); result.AppendFormat(" AndAlso (t.NullableDateValue <= {0}))", DateTime.Parse("2000/1/3 0:00:00")); criteria2 = new DateSegmentCriteria <AggregateRootSample, DateTime?>(t => t.NullableDateValue, _min, _max, Boundary.Both); Assert.Equal(result.ToString(), criteria2.GetPredicate().ToString()); }
public void Test_Min_Max() { //不可空 DateSegmentCriteria<Customer, DateTime> criteria = new DateSegmentCriteria<Customer, DateTime>( t => t.Birthday, _min, _max ); Assert.AreEqual( "t => ((t.Birthday >= 2000/1/1 0:00:00) AndAlso (t.Birthday < 2000/1/3 0:00:00))", criteria.GetPredicate().ToString() ); //可空 DateSegmentCriteria<Customer, DateTime?> criteria2 = new DateSegmentCriteria<Customer, DateTime?>( t => t.NullableBirthday, _min, _max ); Assert.AreEqual( "t => ((t.NullableBirthday >= 2000/1/1 0:00:00) AndAlso (t.NullableBirthday < 2000/1/3 0:00:00))", criteria2.GetPredicate().ToString() ); }
public void Test_Min_Max() { //不可空 DateSegmentCriteria <Customer, DateTime> criteria = new DateSegmentCriteria <Customer, DateTime>(t => t.Birthday, _min, _max); Assert.AreEqual("t => ((t.Birthday >= 2000/1/1 0:00:00) AndAlso (t.Birthday < 2000/1/3 0:00:00))", criteria.GetPredicate().ToString()); //可空 DateSegmentCriteria <Customer, DateTime?> criteria2 = new DateSegmentCriteria <Customer, DateTime?>(t => t.NullableBirthday, _min, _max); Assert.AreEqual("t => ((t.NullableBirthday >= 2000/1/1 0:00:00) AndAlso (t.NullableBirthday < 2000/1/3 0:00:00))", criteria2.GetPredicate().ToString()); }
public void Test_GetPredicate() { var result = new StringBuilder(); result.Append("t => ((t.DateValue >= Convert(Parse(\"2000/1/1 0:00:00\"), DateTime))"); result.Append(" AndAlso (t.DateValue < Convert(Parse(\"2000/1/3 0:00:00\"), DateTime)))"); var criteria = new DateSegmentCriteria <AggregateRootSample, DateTime>(t => t.DateValue, _min, _max); _output.WriteLine(criteria.GetPredicate().ToString()); Assert.Equal(result.ToString(), criteria.GetPredicate().ToString()); result = new StringBuilder(); result.Append("t => ((t.NullableDateValue >= Convert(Parse(\"2000/1/1 0:00:00\"), Nullable`1))"); result.Append(" AndAlso (t.NullableDateValue < Convert(Parse(\"2000/1/3 0:00:00\"), Nullable`1)))"); var criteria2 = new DateSegmentCriteria <AggregateRootSample, DateTime?>(t => t.NullableDateValue, _min, _max); _output.WriteLine(criteria2.GetPredicate().ToString()); Assert.Equal(result.ToString(), criteria2.GetPredicate().ToString()); }