Skip to content

Commit

Permalink
0 - Invoice number
Browse files Browse the repository at this point in the history
  • Loading branch information
fracz committed Mar 15, 2024
1 parent 34ffef6 commit 45b75d5
Show file tree
Hide file tree
Showing 2 changed files with 32 additions and 1 deletion.
8 changes: 7 additions & 1 deletion src/main/java/pl/edu/agh/mwo/invoice/Invoice.java
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,9 @@
import pl.edu.agh.mwo.invoice.product.Product;

public class Invoice {
private Map<Product, Integer> products = new HashMap<Product, Integer>();
private Map<Product, Integer> products = new HashMap<>();
private static int nextNumber = 0;
private final int number = ++nextNumber;

public void addProduct(Product product) {
addProduct(product, 1);
Expand Down Expand Up @@ -41,4 +43,8 @@ public BigDecimal getGrossTotal() {
}
return totalGross;
}

public int getNumber() {
return number;
}
}
25 changes: 25 additions & 0 deletions src/test/java/pl/edu/agh/mwo/invoice/InvoiceTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -125,4 +125,29 @@ public void testInvoiceWithNegativeQuantity() {
public void testAddingNullProduct() {
invoice.addProduct(null);
}

@Test
public void testInvoiceHasNumberGreaterThan0() {
int number = invoice.getNumber();
Assert.assertThat(number, Matchers.greaterThan(0));
}

@Test
public void testTwoInvoicesHaveDifferentNumbers() {
int number1 = new Invoice().getNumber();
int number2 = new Invoice().getNumber();
Assert.assertNotEquals(number1, number2);
}

@Test
public void testInvoiceDoesNotChangeItsNumber() {
Assert.assertEquals(invoice.getNumber(), invoice.getNumber());
}

@Test
public void testTheFirstInvoiceNumberIsLowerThanTheSecond() {
int number1 = new Invoice().getNumber();
int number2 = new Invoice().getNumber();
Assert.assertThat(number1, Matchers.lessThan(number2));
}
}

0 comments on commit 45b75d5

Please sign in to comment.