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

poco_Crud() private method

private poco_Crud ( ) : System.Threading.Tasks.Task
return System.Threading.Tasks.Task
		public async Task poco_Crud()
		{
			// Create a random record
			var o = CreatePoco();

			Assert.IsTrue(db.IsNew("id", o));

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

			Assert.IsFalse(db.IsNew("id", o));

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

			Assert.IsFalse(db.IsNew("id", o2));

			// Check it
			AssertPocos(o, o2);

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

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

			// Check it
			AssertPocos(o2, o3);

			// Delete it
			await db.DeleteAsync("petapoco", "id", o3);

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