Exemplo n.º 1
0
 public static BsonType Create(BsonDataType type)
 {
     BsonType ret = null;
     if(type == BsonDataType.Number){
         ret = new BsonNumber();
     }else if(type == BsonDataType.Number){
         throw new NotImplementedException();
     }else if(type == BsonDataType.String){
         ret = new BsonString();
     }else if(type == BsonDataType.Obj){
         ret = new BsonDocument();
     }else if(type == BsonDataType.Array){
         ret = new BsonArray();
     }else if(type == BsonDataType.Integer){
         ret = new BsonInteger();
     }else if(type == BsonDataType.Long){
         ret = new BsonLong();
     }else if(type == BsonDataType.Boolean){
         ret = new BsonBoolean();
     }else if(type == BsonDataType.Oid){
         ret = new BsonOid();
     }else if(type == BsonDataType.Date){
         ret = new BsonDate();
     }else if(type == BsonDataType.Regex){
         ret = new BsonRegex();
     }else{
         throw new ArgumentOutOfRangeException("Type: " + type + " not recognized");
     }
     return ret;
 }
Exemplo n.º 2
0
        public void TestToNative()
        {
            DateTime now = DateTime.Now.ToUniversalTime();
            BsonDate bd = new BsonDate(now);
            DateTime bnow = (DateTime)bd.ToNative();
            Assert.AreEqual(now.Date,bnow.Date, "Native conversion of date failed.");

            //.Net uses fractional milliseconds so there is a precision loss.
            //Just test the hour, minute, second, and milliseconds
            Assert.AreEqual(now.Hour, bnow.Hour, "Time differed");
            Assert.AreEqual(now.Minute, bnow.Minute, "Time differed");
            Assert.AreEqual(now.Second, bnow.Second, "Time differed");
            Assert.AreEqual(now.Millisecond, bnow.Millisecond, "Time differed");
        }
Exemplo n.º 3
0
 public static BsonType Create(BsonDataType type)
 {
     BsonType ret = null;
     if(type == BsonDataType.Number){
         ret = new BsonNumber();
     }else if(type == BsonDataType.Number){
         throw new NotImplementedException();
     }else if(type == BsonDataType.String){
         ret = new BsonString();
     }else if(type == BsonDataType.Obj){
         ret = new BsonDocument();
     }else if(type == BsonDataType.Array){
         ret = new BsonArray();
     }else if(type == BsonDataType.Integer){
         ret = new BsonInteger();
     }else if(type == BsonDataType.Long){
         ret = new BsonLong();
     }else if(type == BsonDataType.Boolean){
         ret = new BsonBoolean();
     }else if(type == BsonDataType.Oid){
         ret = new BsonOid();
     }else if(type == BsonDataType.Date){
         ret = new BsonDate();
     }else if(type == BsonDataType.Regex){
         ret = new BsonRegex();
     }else if(type == BsonDataType.Undefined){
         ret = new BsonUndefined();
     }else if(type == BsonDataType.Null){
         ret = new BsonNull();
     }else if(type == BsonDataType.Code){
         ret = new BsonCode();
     }else if(type == BsonDataType.CodeWScope){
         ret = new BsonCodeWScope();
     }else{
         string typename = Enum.GetName(typeof(BsonDataType), type);
         throw new ArgumentOutOfRangeException("type",typename + "is not recognized");
     }
     return ret;
 }
Exemplo n.º 4
0
 public void TestPosixEpochConvertsTo1_1_1970()
 {
     long epoch = 0;
     BsonDate bepoch = new BsonDate(epoch);
     Assert.AreEqual(0, bepoch.Val);
 }
Exemplo n.º 5
0
 public void TestNet1_1_1970IsZero()
 {
     DateTime nepoch = new DateTime(1970,1,1,0,0,0,DateTimeKind.Utc);
     BsonDate bd = new BsonDate(nepoch);
     Assert.AreEqual(0, bd.Val);
 }
Exemplo n.º 6
0
 public void TestConversionOfNow()
 {
     BsonDate bd1 = new BsonDate(DateTime.Now);
     BsonDate bd2 = new BsonDate(bd1.Val);
     Assert.AreEqual(bd1.Val, bd2.Val, "Dates weren't the same value.");
 }