public void TearDown() { try { Product.DeleteProduct(TestProductID2); } catch (Exception) { } try { Product.DeleteProduct(TestProductID); } catch (Exception) { } try { Category.DeleteCategory(TestCategoryID); } catch (Exception) { } try { Category.DeleteCategory(TestCategoryID2); } catch (Exception) { } }
public void Step_22_Double_Delete() { Console.WriteLine("20. Deleting the category twice."); Stopwatch watch = Stopwatch.StartNew(); Category category = Category.GetByCategoryId(TestCategoryID); Assert.IsTrue(string.Equals(category.CategoryId, TestCategoryID, StringComparison.InvariantCultureIgnoreCase)); Assert.IsFalse(category.IsDeleted); category.Delete(); //Delete the category the other way before calling save which would call a delete. This should simulate a concurency issue. Category.DeleteCategory(TestCategoryID); try { Category.GetByCategoryId(TestCategoryID); Assert.Fail("Record exists when it should have been deleted."); } catch (Exception) { // Exception was thrown if record doesn't exist. Assert.IsTrue(true); } // Call delete on an already deleted item. Assert.IsTrue(category.IsDeleted); try { Assert.IsTrue(category.IsValid, category.BrokenRulesCollection.ToString()); category = category.Save(); Assert.Fail("Record exists when it should have been deleted."); } catch (Exception) { // Exception was thrown if record doesn't exist. Assert.IsTrue(true); } Assert.IsTrue(string.Equals(category.CategoryId, TestCategoryID, StringComparison.InvariantCultureIgnoreCase)); Console.WriteLine("Time: {0} ms", watch.ElapsedMilliseconds); }