public void TemplateNameTest()
    {
      var id = ID.NewID;
      var tid = ID.NewID;
      var db = new Db
      {
        new DbTemplate("TestTemplate", tid),
        new DbItem("TestItem", id, tid)
      };

      using (db)
      {
        var item = db.Get(id);
        var testItem = new TestTemplateItem(item);
        testItem.TemplateName.Should().Be("TestTemplate");
      }
    }
    public void ReadTest()
    {
      var id = ID.NewID;
      var tid = ID.NewID;
      var fid = ID.NewID;
      var db = new Db
      {
        new DbTemplate("TestTemplate", tid)
        {
          new DbField("TestField", fid)
        },
        new DbItem("TestItem", id, tid)
        {
          new DbField(fid) { Value = "TestValue" }
        }
      };

      using (db)
      {
        var item = db.Get(id);
        var testItem = new TestTemplateItem(item);
        testItem.TestField.Value.Should().Be("TestValue");
      }
    }
    public void WriteTest()
    {
      var id = ID.NewID;
      var tid = ID.NewID;
      var fid = ID.NewID;
      var db = new Db
      {
        new DbTemplate("TestTemplate", tid)
        {
          new DbField("TestField", fid)
        },
        new DbItem("TestItem", id, tid)
        {
          new DbField(fid) { Value = "TestValue" }
        }
      };

      using (db)
      {
        var item = db.Get(id);
        var testItem = new TestTemplateItem(item);
        using (new EditContext(item, SecurityCheck.Disable))
        {
          testItem.TestField.Value = "NewValue";
        }

        db.Get(id)["TestField"].Should().Be("NewValue");
      }
    }