AsyncPoco.Tests.Tests.deco_Crud C# (CSharp) Method

deco_Crud() private method

private deco_Crud ( ) : System.Threading.Tasks.Task
return System.Threading.Tasks.Task
		public async Task deco_Crud()
		{
			// Create a random record
			var o = CreateDeco();
			Assert.IsTrue(db.IsNew(o));

			// Insert it
			await db.InsertAsync(o);
			Assert.AreNotEqual(o.id, 0);

			Assert.IsFalse(db.IsNew(o));
			
			// Retrieve it
			var o2 = await db.SingleAsync<deco>("SELECT * FROM petapoco WHERE id=@0", o.id);

			Assert.IsFalse(db.IsNew(o2));

			// Check it
			AssertPocos(o, o2);

			// Update it
			o2.title = "New Title";
			await db.SaveAsync(o2);

			// Retrieve itagain
			var o3 = await db.SingleAsync<deco>("SELECT * FROM petapoco WHERE id=@0", o.id);

			// Check it
			AssertPocos(o2, o3);

			// Delete it
			await db.DeleteAsync(o3);

			// Should be gone!
			var o4 = await db.SingleOrDefaultAsync<deco>("SELECT * FROM petapoco WHERE id=@0", o.id);
			Assert.IsNull(o4);
		}