Skip to content

Commit 82acdd2

Browse files
author
algorythmist
committed
added toString
1 parent 8f4b94f commit 82acdd2

File tree

5 files changed

+59
-1
lines changed

5 files changed

+59
-1
lines changed

src/main/java/com/tecacet/finance/model/calendar/TradingCalendar.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,15 +3,18 @@
33

44
import lombok.Getter;
55
import lombok.RequiredArgsConstructor;
6+
import lombok.ToString;
67

78
import java.util.List;
89

910
@RequiredArgsConstructor
1011
@Getter
12+
@ToString
1113
public class TradingCalendar {
1214

1315
private final int month;
1416
private final int year;
17+
@ToString.Exclude
1518
private final List<TradingDay> tradingDays;
1619

1720
}

src/main/java/com/tecacet/finance/model/calendar/TradingDay.java

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

33
import lombok.Builder;
44
import lombok.Getter;
5+
import lombok.ToString;
6+
57
import org.jetbrains.annotations.NotNull;
68

79
import java.time.DayOfWeek;
@@ -13,16 +15,20 @@
1315
*/
1416
@Getter
1517
@Builder
18+
@ToString(onlyExplicitlyIncluded = true)
1619
public class TradingDay implements Comparable<TradingDay> {
1720

1821
public enum MarketStatus {
1922
OPEN, CLOSED
2023
}
2124

25+
@ToString.Include
2226
private LocalDate date;
2327
private LocalTime startTime;
2428
private LocalTime endTime;
29+
@ToString.Include
2530
private String description;
31+
@ToString.Include
2632
private MarketStatus marketStatus;
2733

2834
/**
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
package com.tecacet.finance.model.calendar;
2+
3+
4+
import static org.junit.Assert.assertEquals;
5+
6+
import org.junit.Test;
7+
8+
import java.util.Collections;
9+
10+
public class TradingCalendarTest {
11+
12+
@Test
13+
public void testToString() {
14+
TradingCalendar tradingCalendar = new TradingCalendar(2019, 2, Collections.emptyList());
15+
assertEquals("TradingCalendar(month=2019, year=2)", tradingCalendar.toString());
16+
}
17+
}
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
package com.tecacet.finance.model.calendar;
2+
3+
import static org.junit.Assert.*;
4+
5+
import org.junit.Test;
6+
7+
import java.time.LocalDate;
8+
9+
public class TradingDayTest {
10+
11+
@Test
12+
public void testToString() {
13+
TradingDay tradingDay = TradingDay.builder()
14+
.date(LocalDate.of(2022, 4, 1))
15+
.description("Market closed for April Fool's day")
16+
.marketStatus(TradingDay.MarketStatus.CLOSED)
17+
.build();
18+
assertEquals("TradingDay(date=2022-04-01, description=Market closed for April Fool's day, marketStatus=CLOSED)",
19+
tradingDay.toString());
20+
}
21+
}

src/test/java/com/tecacet/finance/service/calendar/TradierTradingDayServiceTest.java

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,4 +53,15 @@ public void getDaysInYear() throws IOException {
5353
Set<TradingDay> earlyCloseDays = tradingDayService.getEarlyCloseDays(days);
5454
assertEquals(3, earlyCloseDays.size());
5555
}
56-
}
56+
57+
@Test
58+
public void getDaysIn2023() throws IOException {
59+
List<TradingDay> days = tradingDayService.getTradingDays(2023);
60+
Set<TradingDay> holidays = tradingDayService.getHolidays(days);
61+
assertEquals(9, holidays.size()); //NOTE: missing Juneteenth
62+
System.out.println("Early close");
63+
Set<TradingDay> early = tradingDayService.getEarlyCloseDays(days);
64+
assertEquals(2, early.size());
65+
66+
}
67+
}

0 commit comments

Comments
 (0)