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()); + } + }