From d1ae6aed58174fb97fd6892474a917210376dcf0 Mon Sep 17 00:00:00 2001 From: pawelsa Date: Wed, 25 Mar 2026 10:48:44 +0100 Subject: [PATCH] feat(TransactionArchive): Implement TODO countDistinctWeeks() and corresponding tests. --- .../idi/idatt/transaction/TransactionArchive.java | 7 +++++-- .../idatt/transaction/TransactionArchiveTest.java | 14 ++++++++++++++ 2 files changed, 19 insertions(+), 2 deletions(-) diff --git a/src/main/java/edu/ntnu/idi/idatt/transaction/TransactionArchive.java b/src/main/java/edu/ntnu/idi/idatt/transaction/TransactionArchive.java index 0567591..e07e8c9 100644 --- a/src/main/java/edu/ntnu/idi/idatt/transaction/TransactionArchive.java +++ b/src/main/java/edu/ntnu/idi/idatt/transaction/TransactionArchive.java @@ -73,8 +73,11 @@ public List getSales(int week) { * * @return */ - public int countDistinctWeeks() { // TODO: HERE - return -1; + public int countDistinctWeeks() { + return (int) transactions.stream() + .map(Transaction::getWeek) + .distinct() + .count(); } } diff --git a/src/test/java/edu/ntnu/idi/idatt/transaction/TransactionArchiveTest.java b/src/test/java/edu/ntnu/idi/idatt/transaction/TransactionArchiveTest.java index 482a45c..74930fb 100644 --- a/src/test/java/edu/ntnu/idi/idatt/transaction/TransactionArchiveTest.java +++ b/src/test/java/edu/ntnu/idi/idatt/transaction/TransactionArchiveTest.java @@ -87,4 +87,18 @@ void PTgetTransactions() { } + /** + * Tests for countDistinctWeeks(). + */ + @Test + void PTcountDistinctWeeks() { + assertEquals(2, transactionArchive.countDistinctWeeks()); + } + + @Test + void NTcountDistinctWeeks() { + TransactionArchive tArchive = new TransactionArchive(); + assertEquals(0, tArchive.countDistinctWeeks()); + } + }