public void 刪除文章() { ForumDB db = new ForumDB(); Account user = db.getUser("teamD", "test"); Assert.That(false, Is.EqualTo(db.deleteArticle(0))); db.insertArticle("teamD", "測試新文章標題", "測試摘要", "測試文章內容", "pictures1"); db.insertArticle("teamD", "測試新文章標題2", "測試摘要2", "測試文章內容2", "pictures1"); db.insertArticle("teamD", "測試新文章標題3", "測試摘要3", "測試文章內容3", "pictures1"); Assert.That(true, Is.EqualTo(db.deleteArticle(0))); Assert.That(2, Is.EqualTo(db.articles.Count)); Assert.That("teamD", Is.EqualTo(db.articles[0].account)); Assert.That("測試新文章標題2", Is.EqualTo(db.articles[0].title)); Assert.That("測試摘要2", Is.EqualTo(db.articles[0].summary)); Assert.That("測試文章內容2", Is.EqualTo(db.articles[0].content)); Assert.That("pictures1", Is.EqualTo(db.articles[0].patterns)); Assert.That("teamD", Is.EqualTo(db.articles[1].account)); Assert.That("測試新文章標題3", Is.EqualTo(db.articles[1].title)); Assert.That("測試摘要3", Is.EqualTo(db.articles[1].summary)); Assert.That("測試文章內容3", Is.EqualTo(db.articles[1].content)); Assert.That("pictures1", Is.EqualTo(db.articles[1].patterns)); Assert.That(true, Is.EqualTo(db.deleteArticle(0))); Assert.That(1, Is.EqualTo(db.articles.Count)); Assert.That("teamD", Is.EqualTo(db.articles[0].account)); Assert.That("測試新文章標題3", Is.EqualTo(db.articles[0].title)); Assert.That("測試摘要3", Is.EqualTo(db.articles[0].summary)); Assert.That("測試文章內容3", Is.EqualTo(db.articles[0].content)); Assert.That("pictures1", Is.EqualTo(db.articles[0].patterns)); Assert.That(true, Is.EqualTo(db.deleteArticle(0))); Assert.That(0, Is.EqualTo(db.articles.Count)); }
public bool deleteArticle(ForumDB db, int articleID, Account user) // modify parameter { // 判斷刪除文章是否為作者本人 if (articleID >= db.articles.Count) { return(false); } if (db.articles[articleID].account != (string)user.getName()) { return(false); } if (db.deleteArticle(articleID)) { return(true); } else { return(false); } }