protected virtual void IsAttachedFixture()
        {
            ClearRepository();
            using (IRepository<TestModel> repository = GetNewDbRepository())
            {
                var model = new TestModel() { TestId = 1, TestData = "data1" };

                repository.IsAttached(model).Should().Be.False();
                repository.AttachOne(model);
                repository.IsAttached(model).Should().Be.True();
                
            }

            ClearRepository();

        }
 protected virtual void MinMaxConstraintsFixture()
 {
     ClearRepository();
     using (IRepository<TestModel> repository = GetNewDbRepository())
     {
         var model = new TestModel() { TestId = 1, TestData = "MaxLength constraint exceded" };
         
         Assert.Throws<UpdateException>(()=>repository.AddOne(model, autoupdate: true));
         repository.DeleteOne(model).UpdateAll();
         repository.GetOne(x => x.TestId == 1).Should().Be.Null();
         model.TestData = "M";
         repository.AddOne(model).UpdateAll();//Min length constraint hasn't been checked!!!!!
         repository.DeleteOne(model).UpdateAll();
         model.TestData = null;
         repository.AddOne(model).UpdateAll();
         repository.DeleteOne(model, attache: true).UpdateAll();
     }
     ClearRepository();
 }
        protected virtual void DeleteOneFixture()
        {
            ClearRepository();
            using (IRepository<TestModel> repository = GetNewDbRepository())
            {
                repository.AddOne(new TestModel() { TestId = 1, TestData = "data1" }).UpdateAll();
            }

            using (IRepository<TestModel> repository = GetNewDbRepository())
            {
                var one = new TestModel() { TestId = 1}; 
                Assert.Throws<InvalidOperationException>(() => repository.DeleteOne(one));
                repository.DeleteOne(one, attache: true, autoupdate: true);
            }

            using (IRepository<TestModel> repository = GetNewDbRepository())
            {
                var one = repository.GetOne(entity => entity.TestId == 1);
                one.Should().Be.Null();
            }
            ClearRepository();
        }