コード例 #1
0
        public static ModelWithFieldsOfNullableTypes CreateConstant(int id)
        {
            ModelWithFieldsOfNullableTypes modelWithFieldsOfNullableType1 = new ModelWithFieldsOfNullableTypes();

            modelWithFieldsOfNullableType1.Id        = id;
            modelWithFieldsOfNullableType1.NId       = new int?(id);
            modelWithFieldsOfNullableType1.NBool     = new bool?(id % 2 == 0);
            modelWithFieldsOfNullableType1.NDateTime = new DateTime?(new DateTime(1979, id % 12 + 1, id % 28 + 1));
            modelWithFieldsOfNullableType1.NFloat    = new float?(1.11f + (float)id);
            modelWithFieldsOfNullableType1.NDouble   = new double?(1.11 + (double)id);
            modelWithFieldsOfNullableType1.NGuid     =
                new Guid?(new Guid((id % 240 + 16).ToString("X") + "7DA519-73B6-4525-84BA-B57673B2360D"));
            modelWithFieldsOfNullableType1.NLongId   = new long?((long)999 + id);
            modelWithFieldsOfNullableType1.NDecimal  = new decimal?(id + 0.5m);
            modelWithFieldsOfNullableType1.NTimeSpan = new TimeSpan?(TimeSpan.FromSeconds((double)id));

            return(modelWithFieldsOfNullableType1);
        }
コード例 #2
0
        public static ModelWithFieldsOfNullableTypes Create(int id)
        {
            ModelWithFieldsOfNullableTypes modelWithFieldsOfNullableType1 = new ModelWithFieldsOfNullableTypes();

            modelWithFieldsOfNullableType1.Id        = id;
            modelWithFieldsOfNullableType1.NId       = new int?(id);
            modelWithFieldsOfNullableType1.NBool     = new bool?(id % 2 == 0);
            modelWithFieldsOfNullableType1.NDateTime = new DateTime?(DateTime.Now.AddDays((double)id));
            modelWithFieldsOfNullableType1.NFloat    = new float?(1.11f + (float)id);
            modelWithFieldsOfNullableType1.NDouble   = new double?(1.11 + (double)id);
            modelWithFieldsOfNullableType1.NGuid     = new Guid?(Guid.NewGuid());
            modelWithFieldsOfNullableType1.NLongId   = new long?((long)999 + id);
            modelWithFieldsOfNullableType1.NDecimal  = new decimal?(id + 0.5m);
            modelWithFieldsOfNullableType1.NTimeSpan = new TimeSpan?(TimeSpan.FromSeconds((double)id));
            ModelWithFieldsOfNullableTypes modelWithFieldsOfNullableType2 = modelWithFieldsOfNullableType1;

            return(modelWithFieldsOfNullableType2);
        }
コード例 #3
0
 public static void AssertIsEqual(ModelWithFieldsOfNullableTypes actual, ModelWithFieldsOfNullableTypes expected)
 {
     Assert.That(actual.Id, Is.EqualTo(expected.Id));
     Assert.That(actual.NId, Is.EqualTo(expected.NId));
     Assert.That(actual.NGuid, Is.EqualTo(expected.NGuid));
     Assert.That(actual.NLongId, Is.EqualTo(expected.NLongId));
     Assert.That(actual.NBool, Is.EqualTo(expected.NBool));
     Assert.That(actual.NTimeSpan, Is.EqualTo(expected.NTimeSpan));
     try
     {
         Assert.That(actual.NDateTime, Is.EqualTo(expected.NDateTime));
     }
     catch (Exception ex)
     {
         ModelWithFieldsOfNullableTypes.Log.Error(
             "Trouble with DateTime precisions, trying Assert again with rounding to seconds", ex);
         Assert.That(DateTimeExtensions.RoundToSecond(actual.NDateTime.Value.ToUniversalTime()),
                     Is.EqualTo(DateTimeExtensions.RoundToSecond(expected.NDateTime.Value.ToUniversalTime())));
     }
     try
     {
         Assert.That(actual.NFloat, Is.EqualTo(expected.NFloat));
     }
     catch (Exception ex2)
     {
         ModelWithFieldsOfNullableTypes.Log.Error(
             "Trouble with float precisions, trying Assert again with rounding to 10 decimals", ex2);
         Assert.That(Math.Round((double)actual.NFloat.Value, 10), Is.EqualTo(Math.Round((double)actual.NFloat.Value, 10)));
     }
     try
     {
         Assert.That(actual.NDouble, Is.EqualTo(expected.NDouble));
     }
     catch (Exception ex3)
     {
         ModelWithFieldsOfNullableTypes.Log.Error(
             "Trouble with double precisions, trying Assert again with rounding to 10 decimals", ex3);
         Assert.That(Math.Round(actual.NDouble.Value, 10), Is.EqualTo(Math.Round(actual.NDouble.Value, 10)));
     }
 }