From d6ab7bb80382d52958a8e440021f46af1e621bcf Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Thu, 14 May 2026 10:13:43 +0000 Subject: [PATCH 1/2] Initial plan From 191558752eba9a6d6c7518b0d26484ab92c2c2be Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Thu, 14 May 2026 10:16:21 +0000 Subject: [PATCH 2/2] fix(book-app-cs): return copy from ListBooks and test immutability Agent-Logs-Url: https://github.com/askrinnik/copilot-cli-for-beginners/sessions/7632c3ba-c9f3-445a-a1f6-28ef05710051 Co-authored-by: askrinnik <1359187+askrinnik@users.noreply.github.com> --- samples/book-app-project-cs/Services/BookCollection.cs | 2 +- .../book-app-project-cs/Tests/BookCollectionTests.cs | 10 ++++++++++ 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/samples/book-app-project-cs/Services/BookCollection.cs b/samples/book-app-project-cs/Services/BookCollection.cs index b219ba53..87ddef03 100644 --- a/samples/book-app-project-cs/Services/BookCollection.cs +++ b/samples/book-app-project-cs/Services/BookCollection.cs @@ -54,7 +54,7 @@ public Book AddBook(string title, string author, int year) return book; } - public List ListBooks() => _books; + public List ListBooks() => _books.ToList(); public Book? FindBookByTitle(string title) { diff --git a/samples/book-app-project-cs/Tests/BookCollectionTests.cs b/samples/book-app-project-cs/Tests/BookCollectionTests.cs index 2140e071..b9db43b8 100644 --- a/samples/book-app-project-cs/Tests/BookCollectionTests.cs +++ b/samples/book-app-project-cs/Tests/BookCollectionTests.cs @@ -68,6 +68,16 @@ public void RemoveBook_NonexistentBook_ShouldReturnFalse() Assert.False(result); } + [Fact] + public void ListBooks_ShouldReturnCopy_AndPreventExternalMutation() + { + _collection.AddBook("Dune", "Frank Herbert", 1965); + var books = _collection.ListBooks(); + books.Clear(); + + Assert.Single(_collection.Books); + } + // --- FindByAuthor --- [Fact]