Skip to content

Commit d934129

Browse files
committed
chore: semplificato il tipo per gli importi
1 parent 6079724 commit d934129

File tree

7 files changed

+36
-51
lines changed

7 files changed

+36
-51
lines changed

04_driven_pull/src/main/java/io/doubleloop/drivenpull/BalanceResult.java

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,13 @@
11
package io.doubleloop.drivenpull;
22

3-
import java.math.BigDecimal;
43
import java.time.LocalDate;
54

65
public class BalanceResult {
76
public final String userId;
87
public final LocalDate date;
9-
public final BigDecimal balance;
8+
public final Double balance;
109

11-
public BalanceResult(String userId, LocalDate date, BigDecimal balance) {
10+
public BalanceResult(String userId, LocalDate date, Double balance) {
1211
this.userId = userId;
1312
this.date = date;
1413
this.balance = balance;
Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,19 @@
11
package io.doubleloop.drivenpull;
22

3-
import java.math.BigDecimal;
4-
53
public class LocalCurrencyAmount {
64

7-
public static final LocalCurrencyAmount ZERO = new LocalCurrencyAmount(BigDecimal.ZERO);
8-
private final BigDecimal value;
5+
public static final LocalCurrencyAmount ZERO = new LocalCurrencyAmount(0.0);
6+
private final Double value;
97

10-
public LocalCurrencyAmount(BigDecimal value) {
8+
public LocalCurrencyAmount(Double value) {
119
this.value = value;
1210
}
1311

1412
public LocalCurrencyAmount add(LocalCurrencyAmount other) {
15-
return new LocalCurrencyAmount(value.add(other.value));
13+
return new LocalCurrencyAmount(value + other.value);
1614
}
1715

18-
public BigDecimal getValue() {
16+
public Double getValue() {
1917
return value;
2018
}
2119
}

04_driven_pull/src/main/java/io/doubleloop/drivenpull/Operation.java

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22

33
import org.springframework.data.annotation.Id;
44

5-
import java.math.BigDecimal;
65
import java.time.LocalDate;
76

87
public class Operation {
@@ -11,13 +10,13 @@ public class Operation {
1110

1211
private String userId;
1312
private String currency;
14-
private BigDecimal amount;
13+
private Double amount;
1514
private LocalDate date;
1615

1716
public Operation() {
1817
}
1918

20-
public Operation(String userId, String currency, BigDecimal amount, LocalDate date) {
19+
public Operation(String userId, String currency, Double amount, LocalDate date) {
2120
this.userId = userId;
2221
this.currency = currency;
2322
this.amount = amount;
@@ -36,7 +35,7 @@ public String getCurrency() {
3635
return currency;
3736
}
3837

39-
public BigDecimal getAmount() {
38+
public Double getAmount() {
4039
return amount;
4140
}
4241

@@ -46,8 +45,6 @@ public LocalDate getDate() {
4645

4746
public LocalCurrencyAmount toLocalCurrency(ExchangeRateTable exchangeRateTable) {
4847
final var rate = exchangeRateTable.rateFor(currency);
49-
return new LocalCurrencyAmount(
50-
amount.multiply(BigDecimal.valueOf(rate))
51-
);
48+
return new LocalCurrencyAmount(amount * rate);
5249
}
5350
}

04_driven_pull/src/test/java/io/doubleloop/drivenpull/DailyBalanceControllerTest.java

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@
88
import org.springframework.boot.test.mock.mockito.MockBean;
99
import org.springframework.test.web.servlet.MockMvc;
1010

11-
import java.math.BigDecimal;
1211
import java.time.LocalDate;
1312

1413
import static org.mockito.Mockito.when;
@@ -27,12 +26,12 @@ class DailyBalanceControllerTest {
2726

2827
@Test
2928
void dailyUserBalance() throws Exception {
30-
final var result = new BalanceResult("123", LocalDate.of(2024, 11, 15), BigDecimal.valueOf(100));
29+
final var result = new BalanceResult("123", LocalDate.of(2024, 11, 15), 100.0);
3130
when(dailyBalanceService.balanceOn(Mockito.any())).thenReturn(result);
3231

3332
mockMvc.perform(get("/api/balance/daily/123"))
3433
.andExpect(status().isOk())
35-
.andExpect(content().string("{\"userId\":\"123\",\"date\":\"2024-11-15\",\"balance\":100}"))
34+
.andExpect(content().string("{\"userId\":\"123\",\"date\":\"2024-11-15\",\"balance\":100.0}"))
3635
;
3736
}
3837
}

04_driven_pull/src/test/java/io/doubleloop/drivenpull/DefaultDailyBalanceServiceTest.java

Lines changed: 14 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@
99
import org.testcontainers.junit.jupiter.Container;
1010
import org.testcontainers.junit.jupiter.Testcontainers;
1111

12-
import java.math.BigDecimal;
1312
import java.time.LocalDate;
1413

1514
import static org.assertj.core.api.Assertions.assertThat;
@@ -40,55 +39,55 @@ void noOperations() {
4039

4140
final var result = service.balanceOn(new BalanceOnQuery("user1", today));
4241

43-
assertThat(result.balance).isEqualTo(BigDecimal.ZERO);
42+
assertThat(result.balance).isEqualTo(0);
4443
}
4544

4645
@Test
4746
void todayOperations() {
48-
operationRepository.save(new Operation("user1", "EUR", BigDecimal.valueOf(100), today));
49-
operationRepository.save(new Operation("user1", "EUR", BigDecimal.valueOf(100), today));
47+
operationRepository.save(new Operation("user1", "EUR", 100.0, today));
48+
operationRepository.save(new Operation("user1", "EUR", 100.0, today));
5049

5150
final var service = new DefaultDailyBalanceService(operationRepository, exchangeProvider);
5251

5352
final var result = service.balanceOn(new BalanceOnQuery("user1", today));
5453

55-
assertThat(result.balance).isEqualTo(BigDecimal.valueOf(200.0));
54+
assertThat(result.balance).isEqualTo(200.0);
5655
}
5756

5857
@Test
5958
void yesterdayOperations() {
60-
operationRepository.save(new Operation("user1", "EUR", BigDecimal.valueOf(10), yesterday));
61-
operationRepository.save(new Operation("user1", "EUR", BigDecimal.valueOf(100), today));
59+
operationRepository.save(new Operation("user1", "EUR", 10.0, yesterday));
60+
operationRepository.save(new Operation("user1", "EUR", 100.0, today));
6261

6362
final var service = new DefaultDailyBalanceService(operationRepository, exchangeProvider);
6463

6564
final var result = service.balanceOn(new BalanceOnQuery("user1", yesterday));
6665

67-
assertThat(result.balance).isEqualTo(BigDecimal.valueOf(10.0));
66+
assertThat(result.balance).isEqualTo(10.0);
6867
}
6968

7069
@Test
7170
void onlyOperationsOfSelectedUser() {
72-
operationRepository.save(new Operation("user1", "EUR", BigDecimal.valueOf(100), today));
73-
operationRepository.save(new Operation("user2", "EUR", BigDecimal.valueOf(10), today));
71+
operationRepository.save(new Operation("user1", "EUR", 100.0, today));
72+
operationRepository.save(new Operation("user2", "EUR", 10.0, today));
7473

7574
final var service = new DefaultDailyBalanceService(operationRepository, exchangeProvider);
7675

7776
final var result = service.balanceOn(new BalanceOnQuery("user1", today));
7877

79-
assertThat(result.balance).isEqualTo(BigDecimal.valueOf(100.0));
78+
assertThat(result.balance).isEqualTo(100.0);
8079
}
8180

8281
@Test
8382
void differentCurrencies() {
84-
operationRepository.save(new Operation("user1", "EUR", BigDecimal.valueOf(10), today));
85-
operationRepository.save(new Operation("user1", "USD", BigDecimal.valueOf(10), today));
86-
operationRepository.save(new Operation("user1", "GBP", BigDecimal.valueOf(25), today));
83+
operationRepository.save(new Operation("user1", "EUR", 10.0, today));
84+
operationRepository.save(new Operation("user1", "USD", 10.0, today));
85+
operationRepository.save(new Operation("user1", "GBP", 25.0, today));
8786

8887
final var service = new DefaultDailyBalanceService(operationRepository, exchangeProvider);
8988

9089
final var result = service.balanceOn(new BalanceOnQuery("user1", today));
9190

92-
assertThat(result.balance).isEqualTo(BigDecimal.valueOf(41.35));
91+
assertThat(result.balance).isEqualTo(41.35);
9392
}
9493
}

04_driven_pull/src/test/java/io/doubleloop/drivenpull/OperationRepositoryTest.java

Lines changed: 9 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@
99
import org.testcontainers.junit.jupiter.Container;
1010
import org.testcontainers.junit.jupiter.Testcontainers;
1111

12-
import java.math.BigDecimal;
1312
import java.time.LocalDate;
1413

1514
import static org.assertj.core.api.Assertions.assertThat;
@@ -32,22 +31,22 @@ void setUp() {
3231

3332
@Test
3433
void findByUserIdAndDateMatchOne() {
35-
repository.save(new Operation("user1", "EUR", BigDecimal.TEN, LocalDate.of(2024, 11, 10)));
36-
repository.save(new Operation("user1", "EUR", BigDecimal.TEN.negate(), LocalDate.of(2024, 11, 11)));
37-
repository.save(new Operation("user2", "EUR", BigDecimal.TEN, LocalDate.of(2024, 11, 10)));
34+
repository.save(new Operation("user1", "EUR", 10.0, LocalDate.of(2024, 11, 10)));
35+
repository.save(new Operation("user1", "EUR", -10.0, LocalDate.of(2024, 11, 11)));
36+
repository.save(new Operation("user2", "EUR", 10.0, LocalDate.of(2024, 11, 10)));
3837

3938
final var result = repository.findByUserIdAndDate("user1", LocalDate.of(2024, 11, 10));
4039

4140
assertThat(result.size()).isEqualTo(1);
4241
assertThat(result.get(0).getCurrency()).isEqualTo("EUR");
43-
assertThat(result.get(0).getAmount()).isEqualTo(BigDecimal.TEN);
42+
assertThat(result.get(0).getAmount()).isEqualTo(10.0);
4443
}
4544

4645
@Test
4746
void findByUserIdAndDateMatchMany() {
48-
repository.save(new Operation("user1", "EUR", BigDecimal.TEN, LocalDate.of(2024, 11, 10)));
49-
repository.save(new Operation("user1", "EUR", BigDecimal.TEN.negate(), LocalDate.of(2024, 11, 10)));
50-
repository.save(new Operation("user2", "EUR", BigDecimal.TEN, LocalDate.of(2024, 11, 10)));
47+
repository.save(new Operation("user1", "EUR", 10.0, LocalDate.of(2024, 11, 10)));
48+
repository.save(new Operation("user1", "EUR", -10.0, LocalDate.of(2024, 11, 10)));
49+
repository.save(new Operation("user2", "EUR", 10.0, LocalDate.of(2024, 11, 10)));
5150

5251
final var result = repository.findByUserIdAndDate("user1", LocalDate.of(2024, 11, 10));
5352

@@ -56,8 +55,8 @@ void findByUserIdAndDateMatchMany() {
5655

5756
@Test
5857
void findByUserIdAndDateNoMatch() {
59-
repository.save(new Operation("user1", "EUR", BigDecimal.TEN, LocalDate.of(2024, 11, 10)));
60-
repository.save(new Operation("user2", "EUR", BigDecimal.TEN, LocalDate.of(2024, 11, 10)));
58+
repository.save(new Operation("user1", "EUR", 10.0, LocalDate.of(2024, 11, 10)));
59+
repository.save(new Operation("user2", "EUR", 10.0, LocalDate.of(2024, 11, 10)));
6160

6261
final var result = repository.findByUserIdAndDate("user3", LocalDate.of(2024, 11, 10));
6362

07_bank/pom.xml

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -36,12 +36,6 @@
3636
<artifactId>archunit-junit5</artifactId>
3737
<scope>test</scope>
3838
</dependency>
39-
<dependency>
40-
<groupId>org.springframework.data</groupId>
41-
<artifactId>spring-data-commons</artifactId>
42-
<version>3.3.2</version>
43-
<scope>compile</scope>
44-
</dependency>
4539
</dependencies>
4640

4741
</project>

0 commit comments

Comments
 (0)