public virtual void AssertExecute(DatabaseContext context, TopLevelOperation op)
		{
			try
			{
				op.Apply(context);
				Assert.Fail();
			}
			catch (CompositeDb4oException exc)
			{
				Assert.AreEqual(2, exc._exceptions.Length);
				AssertExceptionMessage(exc, InitialMessage, 0);
				AssertExceptionMessage(exc, CloseMessage, 1);
			}
		}
			public _ICodeBlock_23(TopLevelOperation op, DatabaseContext context)
			{
				this.op = op;
				this.context = context;
			}
		public virtual void AssertExecute(DatabaseContext context, TopLevelOperation op)
		{
			Assert.Expect(typeof(Db4oRecoverableException), new _ICodeBlock_23(op, context));
			Assert.IsFalse(context.StorageIsClosed());
		}
			public override void Apply(DatabaseContext context)
			{
				IObjectSet result = context._db.Query().Execute();
				if (result.HasNext())
				{
					result.Next();
				}
			}
			public override void Apply(DatabaseContext context)
			{
				context._db.QueryByExample(new Item());
			}
			// - no deactivate test, since it doesn't trigger I/O activity
			// - no getByID test, not refactored to asTopLevelCall, since it has custom, more relaxed exception handling -> InvalidSlotExceptionTestCase
			// FIXME doesn't trigger initial exception - deletes are processed in finally block
			//					new TopLevelOperation("delete") {
			//						@Override
			//						public void apply(DatabaseContext context) {
			//							context._db.delete(context._unactivated);
			//						}
			//					},
			public override void Apply(DatabaseContext context)
			{
				context._db.Ext().PeekPersisted(context._unactivated, 1, true);
			}
			public override void Apply(DatabaseContext context)
			{
				context._db.Activate(context._unactivated, int.MaxValue);
			}
			public override void Apply(DatabaseContext context)
			{
				context._db.Store(new Item());
			}
			public override void Apply(DatabaseContext context)
			{
				context._db.Commit();
			}
			public virtual void TestExceptionDuringTopLevelCall()
			{
				_unactivated = ((ExceptionDuringTopLevelCallTestSuite.ExceptionDuringTopLevelCallTestUnit.Item
					)RetrieveOnlyInstance(typeof(ExceptionDuringTopLevelCallTestSuite.ExceptionDuringTopLevelCallTestUnit.Item
					)));
				Db().Deactivate(_unactivated);
				_storage.TriggerException(true);
				_idSystem.TriggerException(true);
				DatabaseContext context = new DatabaseContext(Db(), _unactivated);
				CurrentExceptionPropagationFixture().AssertExecute(context, CurrentOperationFixture
					());
				if (context.StorageIsClosed())
				{
					AssertIsNotLocked(FileSession().FileName());
				}
			}
		public virtual void AssertExecute(DatabaseContext context, TopLevelOperation op)
		{
			Assert.Expect(ExceptionType(), new _ICodeBlock_16(op, context));
			Assert.IsTrue(context.StorageIsClosed());
		}
示例#12
0
		public abstract void Apply(DatabaseContext context);