Pure POCO data entity
示例#1
0
    public void RountripDateTimeOffset1()
    {
      var obj = new MyData { DateTimeOffsetField = new DateTimeOffset(1, 2, 3, 4, 5, 6, TimeSpan.FromMinutes(60)), DateTimeOffsetNField = new DateTimeOffset(2, 3, 4, 5, 6, 7, TimeSpan.FromMinutes(120)) };

      table.Save(obj);

      var newObj = table.LoadByKey(obj.Id);

      Assert.AreEqual(obj.DateTimeOffsetField, newObj.DateTimeOffsetField);
      Assert.AreEqual(obj.DateTimeOffsetNField, newObj.DateTimeOffsetNField);
    }
示例#2
0
    public void RountripList1()
    {
      var obj = new MyData
      {
        ListField = { 1, 2, 3, 4, 5 },
        DictField = { { "test1", 111 }, { "test2", 222 }, { "test3", 333 } }
      };

      table.Save(obj);

      var newObj = table.LoadByKey(obj.Id);

      Assert.IsTrue(obj.ListField.SequenceEqual(newObj.ListField));
      Assert.IsTrue(obj.DictField.Keys.SequenceEqual(newObj.DictField.Keys));
      Assert.IsTrue(obj.DictField.Values.SequenceEqual(newObj.DictField.Values));
    }
示例#3
0
    public void RountripTimeSpan1()
    {
      var obj = new MyData { TimeSpanField = new TimeSpan(1, 2, 3), TimeSpanNField = new TimeSpan(2, 3, 4) };

      table.Save(obj);

      var newObj = table.LoadByKey(obj.Id);

      Assert.AreEqual(obj.TimeSpanField, newObj.TimeSpanField);
      Assert.AreEqual(obj.TimeSpanNField, newObj.TimeSpanNField);
    }
示例#4
0
    public void RountripDateTime1()
    {
      var obj = new MyData { DateTimeField = new DateTime(1, 2, 3, 4, 5, 6), DateTimeNField = new DateTime(2, 3, 4, 5, 6, 7) };

      table.Save(obj);

      var newObj = table.LoadByKey(obj.Id);

      Assert.AreEqual(obj.DateTimeField, newObj.DateTimeField);
      Assert.AreEqual(obj.DateTimeNField, newObj.DateTimeNField);
    }
示例#5
0
    public void RountripGuid1()
    {
      var obj = new MyData { GuidField = Guid.NewGuid(), GuidNField = Guid.NewGuid() };

      table.Save(obj);

      var newObj = table.LoadByKey(obj.Id);

      Assert.AreEqual(obj.GuidField, newObj.GuidField);
      Assert.AreEqual(obj.GuidNField, newObj.GuidNField);
    }
示例#6
0
    public void RountripEnum1()
    {
      var obj = new MyData { EnumField = TestEnum.EnumValue1, EnumNField = TestEnum.EnumValue2 };

      table.Save(obj);

      var newObj = table.LoadByKey(obj.Id);

      Assert.AreEqual(obj.EnumField, newObj.EnumField);
      Assert.AreEqual(obj.EnumNField, newObj.EnumNField);
    }
示例#7
0
    public void RountripDecimal1()
    {
      var obj = new MyData { DecimalField = (decimal)Math.PI, DecimalNField = (decimal)-Math.PI };

      table.Save(obj);

      var newObj = table.LoadByKey(obj.Id);

      Assert.AreEqual(obj.DecimalField, newObj.DecimalField);
      Assert.AreEqual(obj.DecimalNField, newObj.DecimalNField);
    }
示例#8
0
    public void RountripNulls()
    {
      var obj = new MyData();

      table.Save(obj);

      var newObj = table.LoadByKey(obj.Id);

      Assert.AreEqual(obj.BoolNField, newObj.BoolNField);
      Assert.AreEqual(obj.IntNField, newObj.IntNField);
      Assert.AreEqual(obj.LongNField, newObj.LongNField);
      Assert.AreEqual(obj.DoubleNField, newObj.DoubleNField);
      Assert.AreEqual(obj.FloatNField, newObj.FloatNField);
      Assert.AreEqual(obj.DecimalNField, newObj.DecimalNField);
      Assert.AreEqual(obj.TimeSpanNField, newObj.TimeSpanNField);
      Assert.AreEqual(obj.DateTimeNField, newObj.DateTimeNField);
      Assert.AreEqual(obj.DateTimeOffsetNField, newObj.DateTimeOffsetNField);
      Assert.AreEqual(obj.GuidNField, newObj.GuidNField);
      Assert.AreEqual(obj.EnumNField, newObj.EnumNField);
      Assert.AreEqual(obj.Name, newObj.Name);

      var info = table.GetInfo();
      Assert.AreNotEqual(0, info.DataSize);
      Assert.AreNotEqual(0, info.IndexSize);
    }
示例#9
0
    public void RountripFloat1()
    {
      var obj = new MyData { FloatField = (float)Math.PI, FloatNField = (float)-Math.PI };

      table.Save(obj);

      var newObj = table.LoadByKey(obj.Id);

      Assert.AreEqual(obj.FloatField, newObj.FloatField);
      Assert.AreEqual(obj.FloatNField, newObj.FloatNField);
    }
示例#10
0
    public void RountripDouble1()
    {
      var obj = new MyData { DoubleField = Math.PI, DoubleNField = -Math.PI };

      table.Save(obj);

      var newObj = table.LoadByKey(obj.Id);

      Assert.AreEqual(obj.DoubleField, newObj.DoubleField);
      Assert.AreEqual(obj.DoubleNField, newObj.DoubleNField);
    }
示例#11
0
    public void RountripLong2()
    {
      var obj = new MyData { LongField = long.MinValue, LongNField = long.MaxValue };

      table.Save(obj);

      var newObj = table.LoadByKey(obj.Id);

      Assert.AreEqual(obj.LongField, newObj.LongField);
      Assert.AreEqual(obj.LongNField, newObj.LongNField);
    }
示例#12
0
    public void RountripInt2()
    {
      var obj = new MyData { IntField = int.MinValue, IntNField = int.MaxValue };

      table.Save(obj);

      var newObj = table.LoadByKey(obj.Id);

      Assert.AreEqual(obj.IntField, newObj.IntField);
      Assert.AreEqual(obj.IntNField, newObj.IntNField);
    }
示例#13
0
    public void RountripBool2()
    {
      var obj = new MyData { BoolField = false, BoolNField = true };

      table.Save(obj);

      var newObj = table.LoadByKey(obj.Id);

      Assert.AreEqual(obj.BoolField, newObj.BoolField);
      Assert.AreEqual(obj.BoolNField, newObj.BoolNField);
    }
示例#14
0
    public void TestLoadByKeyObj()
    {
      var obj = new MyData { GuidField = Guid.NewGuid() };

      table.Save(obj);

      var newObj = table.LoadByKey((object)obj.Id);

      Assert.AreEqual(obj.GuidField, newObj.GuidField);
    }
示例#15
0
    public void RountripString1()
    {
      var obj = new MyData { Name = "Test ABC" };

      table.Save(obj);

      var newObj = table.LoadByKey(obj.Id);

      Assert.AreEqual(obj.Name, newObj.Name);
    }
示例#16
0
     public void TestDeleteByKeyObj()
     {
       var obj = new MyData { GuidField = Guid.NewGuid() };

       table.Save(obj);

      Assert.IsTrue(table.DeleteByKey((object)obj.Id));

     }
示例#17
0
    public void SaveData()
    {
      var swatch = DateTime.Now;

      db.BulkWrite(() =>
      {
        table.Purge();
        var key = 1;
        var newObj = new MyData { Id = key, Name = "test" };
        table.Save(newObj);

        var obj = table.LoadByKey(key);

        Assert.AreEqual(newObj.Name, obj.Name);
#if !(NETFX_CORE || WINDOWS_PHONE)
        TestContext.WriteLine("Completed: " + (DateTime.Now - swatch).TotalMilliseconds);
#endif
      });
    }