@@ -1,5 +1,6 @@
|
||||
package auctiora;
|
||||
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.jsoup.Jsoup;
|
||||
import org.jsoup.nodes.Document;
|
||||
import org.jsoup.nodes.Element;
|
||||
@@ -19,6 +20,7 @@ import static org.junit.jupiter.api.Assertions.*;
|
||||
* Test auction parsing logic using saved HTML from test.html
|
||||
* Tests the markup data extraction for each auction found
|
||||
*/
|
||||
@Slf4j
|
||||
public class AuctionParsingTest {
|
||||
|
||||
private static String testHtml;
|
||||
@@ -27,12 +29,12 @@ public class AuctionParsingTest {
|
||||
public static void loadTestHtml() throws IOException {
|
||||
// Load the test HTML file
|
||||
testHtml = Files.readString(Paths.get("src/test/resources/test_auctions.html"));
|
||||
System.out.println("Loaded test HTML (" + testHtml.length() + " characters)");
|
||||
log.info("Loaded test HTML ({} characters)", testHtml.length());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testLocationPatternMatching() {
|
||||
System.out.println("\n=== Location Pattern Tests ===");
|
||||
log.info("\n=== Location Pattern Tests ===");
|
||||
|
||||
// Test different location formats
|
||||
var testCases = new String[]{
|
||||
@@ -48,16 +50,16 @@ public class AuctionParsingTest {
|
||||
|
||||
if (elem != null) {
|
||||
var text = elem.text();
|
||||
System.out.println("\nTest: " + testHtml);
|
||||
System.out.println("Text: " + text);
|
||||
log.info("\nTest: {}", testHtml);
|
||||
log.info("Text: {}", text);
|
||||
|
||||
// Test regex pattern
|
||||
if (text.matches(".*[A-Z]{2}$")) {
|
||||
var countryCode = text.substring(text.length() - 2);
|
||||
var cityPart = text.substring(0, text.length() - 2).trim().replaceAll("[,\\s]+$", "");
|
||||
System.out.println("→ Extracted: " + cityPart + ", " + countryCode);
|
||||
log.info("→ Extracted: {}, {}", cityPart, countryCode);
|
||||
} else {
|
||||
System.out.println("→ No match");
|
||||
log.info("→ No match");
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -65,7 +67,7 @@ public class AuctionParsingTest {
|
||||
|
||||
@Test
|
||||
public void testFullTextPatternMatching() {
|
||||
System.out.println("\n=== Full Text Pattern Tests ===");
|
||||
log.info("\n=== Full Text Pattern Tests ===");
|
||||
|
||||
// Test the complete auction text format
|
||||
var testCases = new String[]{
|
||||
@@ -75,7 +77,7 @@ public class AuctionParsingTest {
|
||||
};
|
||||
|
||||
for (var testText : testCases) {
|
||||
System.out.println("\nParsing: \"" + testText + "\"");
|
||||
log.info("\nParsing: \"{}\"", testText);
|
||||
|
||||
// Simulated extraction
|
||||
var remaining = testText;
|
||||
@@ -84,7 +86,7 @@ public class AuctionParsingTest {
|
||||
var timePattern = java.util.regex.Pattern.compile("(\\w+)\\s+om\\s+(\\d{1,2}:\\d{2})");
|
||||
var timeMatcher = timePattern.matcher(remaining);
|
||||
if (timeMatcher.find()) {
|
||||
System.out.println(" Time: " + timeMatcher.group(1) + " om " + timeMatcher.group(2));
|
||||
log.info(" Time: {} om {}", timeMatcher.group(1), timeMatcher.group(2));
|
||||
remaining = remaining.substring(timeMatcher.end()).trim();
|
||||
}
|
||||
|
||||
@@ -94,7 +96,7 @@ public class AuctionParsingTest {
|
||||
);
|
||||
var locMatcher = locPattern.matcher(remaining);
|
||||
if (locMatcher.find()) {
|
||||
System.out.println(" Location: " + locMatcher.group(1) + ", " + locMatcher.group(2));
|
||||
log.info(" Location: {}, {}", locMatcher.group(1), locMatcher.group(2));
|
||||
remaining = remaining.substring(0, locMatcher.start()).trim();
|
||||
}
|
||||
|
||||
@@ -102,12 +104,12 @@ public class AuctionParsingTest {
|
||||
var lotPattern = java.util.regex.Pattern.compile("^(\\d+)\\s+");
|
||||
var lotMatcher = lotPattern.matcher(remaining);
|
||||
if (lotMatcher.find()) {
|
||||
System.out.println(" Lot count: " + lotMatcher.group(1));
|
||||
log.info(" Lot count: {}", lotMatcher.group(1));
|
||||
remaining = remaining.substring(lotMatcher.end()).trim();
|
||||
}
|
||||
|
||||
// What remains is title
|
||||
System.out.println(" Title: " + remaining);
|
||||
log.info(" Title: {}", remaining);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -19,14 +19,14 @@ class ImageProcessingServiceTest {
|
||||
|
||||
private DatabaseService mockDb;
|
||||
private ObjectDetectionService mockDetector;
|
||||
private RateLimitedHttpClient mockHttpClient;
|
||||
private RateLimitedHttpClient2 mockHttpClient;
|
||||
private ImageProcessingService service;
|
||||
|
||||
@BeforeEach
|
||||
void setUp() {
|
||||
mockDb = mock(DatabaseService.class);
|
||||
mockDetector = mock(ObjectDetectionService.class);
|
||||
mockHttpClient = mock(RateLimitedHttpClient.class);
|
||||
mockHttpClient = mock(RateLimitedHttpClient2.class);
|
||||
service = new ImageProcessingService(mockDb, mockDetector, mockHttpClient);
|
||||
}
|
||||
|
||||
|
||||
@@ -40,7 +40,7 @@ class IntegrationTest {
|
||||
db = new DatabaseService(testDbPath);
|
||||
db.ensureSchema();
|
||||
|
||||
notifier = new NotificationService("desktop", "");
|
||||
notifier = new NotificationService("desktop");
|
||||
|
||||
detector = new ObjectDetectionService(
|
||||
"non_existent.cfg",
|
||||
@@ -48,7 +48,7 @@ class IntegrationTest {
|
||||
"non_existent.txt"
|
||||
);
|
||||
|
||||
RateLimitedHttpClient httpClient = new RateLimitedHttpClient();
|
||||
RateLimitedHttpClient2 httpClient = new RateLimitedHttpClient2();
|
||||
imageProcessor = new ImageProcessingService(db, detector, httpClient);
|
||||
|
||||
monitor = new TroostwijkMonitor(
|
||||
|
||||
@@ -14,7 +14,7 @@ class NotificationServiceTest {
|
||||
@Test
|
||||
@DisplayName("Should initialize with desktop-only configuration")
|
||||
void testDesktopOnlyConfiguration() {
|
||||
NotificationService service = new NotificationService("desktop", "");
|
||||
NotificationService service = new NotificationService("desktop");
|
||||
assertNotNull(service);
|
||||
}
|
||||
|
||||
@@ -22,8 +22,7 @@ class NotificationServiceTest {
|
||||
@DisplayName("Should initialize with SMTP configuration")
|
||||
void testSMTPConfiguration() {
|
||||
NotificationService service = new NotificationService(
|
||||
"smtp:test@gmail.com:app_password:recipient@example.com",
|
||||
""
|
||||
"smtp:test@gmail.com:app_password:recipient@example.com"
|
||||
);
|
||||
assertNotNull(service);
|
||||
}
|
||||
@@ -33,12 +32,12 @@ class NotificationServiceTest {
|
||||
void testInvalidSMTPConfiguration() {
|
||||
// Missing parts
|
||||
assertThrows(IllegalArgumentException.class, () ->
|
||||
new NotificationService("smtp:incomplete", "")
|
||||
new NotificationService("smtp:incomplete")
|
||||
);
|
||||
|
||||
// Wrong format
|
||||
assertThrows(IllegalArgumentException.class, () ->
|
||||
new NotificationService("smtp:only:two:parts", "")
|
||||
new NotificationService("smtp:only:two:parts")
|
||||
);
|
||||
}
|
||||
|
||||
@@ -46,14 +45,14 @@ class NotificationServiceTest {
|
||||
@DisplayName("Should reject unknown configuration type")
|
||||
void testUnknownConfiguration() {
|
||||
assertThrows(IllegalArgumentException.class, () ->
|
||||
new NotificationService("unknown_type", "")
|
||||
new NotificationService("unknown_type")
|
||||
);
|
||||
}
|
||||
|
||||
@Test
|
||||
@DisplayName("Should send desktop notification without error")
|
||||
void testDesktopNotification() {
|
||||
NotificationService service = new NotificationService("desktop", "");
|
||||
NotificationService service = new NotificationService("desktop");
|
||||
|
||||
// Should not throw exception even if system tray not available
|
||||
assertDoesNotThrow(() ->
|
||||
@@ -64,7 +63,7 @@ class NotificationServiceTest {
|
||||
@Test
|
||||
@DisplayName("Should send high priority notification")
|
||||
void testHighPriorityNotification() {
|
||||
NotificationService service = new NotificationService("desktop", "");
|
||||
NotificationService service = new NotificationService("desktop");
|
||||
|
||||
assertDoesNotThrow(() ->
|
||||
service.sendNotification("Urgent message", "High Priority", 1)
|
||||
@@ -74,7 +73,7 @@ class NotificationServiceTest {
|
||||
@Test
|
||||
@DisplayName("Should send normal priority notification")
|
||||
void testNormalPriorityNotification() {
|
||||
NotificationService service = new NotificationService("desktop", "");
|
||||
NotificationService service = new NotificationService("desktop");
|
||||
|
||||
assertDoesNotThrow(() ->
|
||||
service.sendNotification("Regular message", "Normal Priority", 0)
|
||||
@@ -84,7 +83,7 @@ class NotificationServiceTest {
|
||||
@Test
|
||||
@DisplayName("Should handle notification when system tray not supported")
|
||||
void testNoSystemTraySupport() {
|
||||
NotificationService service = new NotificationService("desktop", "");
|
||||
NotificationService service = new NotificationService("desktop");
|
||||
|
||||
// Should gracefully handle missing system tray
|
||||
assertDoesNotThrow(() ->
|
||||
@@ -98,8 +97,7 @@ class NotificationServiceTest {
|
||||
// Note: This won't actually send email without valid credentials
|
||||
// But it should initialize properly
|
||||
NotificationService service = new NotificationService(
|
||||
"smtp:test@gmail.com:fake_password:test@example.com",
|
||||
""
|
||||
"smtp:test@gmail.com:fake_password:test@example.com"
|
||||
);
|
||||
|
||||
// Should not throw during initialization
|
||||
@@ -115,8 +113,7 @@ class NotificationServiceTest {
|
||||
@DisplayName("Should include both desktop and email when SMTP configured")
|
||||
void testBothNotificationChannels() {
|
||||
NotificationService service = new NotificationService(
|
||||
"smtp:user@gmail.com:password:recipient@example.com",
|
||||
""
|
||||
"smtp:user@gmail.com:password:recipient@example.com"
|
||||
);
|
||||
|
||||
// Both desktop and email should be attempted
|
||||
@@ -128,7 +125,7 @@ class NotificationServiceTest {
|
||||
@Test
|
||||
@DisplayName("Should handle empty message gracefully")
|
||||
void testEmptyMessage() {
|
||||
NotificationService service = new NotificationService("desktop", "");
|
||||
NotificationService service = new NotificationService("desktop");
|
||||
|
||||
assertDoesNotThrow(() ->
|
||||
service.sendNotification("", "", 0)
|
||||
@@ -138,7 +135,7 @@ class NotificationServiceTest {
|
||||
@Test
|
||||
@DisplayName("Should handle very long message")
|
||||
void testLongMessage() {
|
||||
NotificationService service = new NotificationService("desktop", "");
|
||||
NotificationService service = new NotificationService("desktop");
|
||||
|
||||
String longMessage = "A".repeat(1000);
|
||||
assertDoesNotThrow(() ->
|
||||
@@ -149,7 +146,7 @@ class NotificationServiceTest {
|
||||
@Test
|
||||
@DisplayName("Should handle special characters in message")
|
||||
void testSpecialCharactersInMessage() {
|
||||
NotificationService service = new NotificationService("desktop", "");
|
||||
NotificationService service = new NotificationService("desktop");
|
||||
|
||||
assertDoesNotThrow(() ->
|
||||
service.sendNotification(
|
||||
@@ -164,9 +161,9 @@ class NotificationServiceTest {
|
||||
@DisplayName("Should accept case-insensitive desktop config")
|
||||
void testCaseInsensitiveDesktopConfig() {
|
||||
assertDoesNotThrow(() -> {
|
||||
new NotificationService("DESKTOP", "");
|
||||
new NotificationService("Desktop", "");
|
||||
new NotificationService("desktop", "");
|
||||
new NotificationService("DESKTOP");
|
||||
new NotificationService("Desktop");
|
||||
new NotificationService("desktop");
|
||||
});
|
||||
}
|
||||
|
||||
@@ -175,19 +172,19 @@ class NotificationServiceTest {
|
||||
void testSMTPConfigPartsValidation() {
|
||||
// Too few parts
|
||||
assertThrows(IllegalArgumentException.class, () ->
|
||||
new NotificationService("smtp:user:pass", "")
|
||||
new NotificationService("smtp:user:pass")
|
||||
);
|
||||
|
||||
// Too many parts should work (extras ignored in split)
|
||||
assertDoesNotThrow(() ->
|
||||
new NotificationService("smtp:user:pass:email:extra", "")
|
||||
new NotificationService("smtp:user:pass:email:extra")
|
||||
);
|
||||
}
|
||||
|
||||
@Test
|
||||
@DisplayName("Should handle multiple rapid notifications")
|
||||
void testRapidNotifications() {
|
||||
NotificationService service = new NotificationService("desktop", "");
|
||||
NotificationService service = new NotificationService("desktop");
|
||||
|
||||
assertDoesNotThrow(() -> {
|
||||
for (int i = 0; i < 5; i++) {
|
||||
@@ -201,14 +198,14 @@ class NotificationServiceTest {
|
||||
void testNullConfigParameter() {
|
||||
// Second parameter can be empty string (kept for compatibility)
|
||||
assertDoesNotThrow(() ->
|
||||
new NotificationService("desktop", null)
|
||||
new NotificationService("desktop")
|
||||
);
|
||||
}
|
||||
|
||||
@Test
|
||||
@DisplayName("Should send bid change notification format")
|
||||
void testBidChangeNotificationFormat() {
|
||||
NotificationService service = new NotificationService("desktop", "");
|
||||
NotificationService service = new NotificationService("desktop");
|
||||
|
||||
String message = "Nieuw bod op kavel 12345: €150.00 (was €125.00)";
|
||||
String title = "Kavel bieding update";
|
||||
@@ -221,7 +218,7 @@ class NotificationServiceTest {
|
||||
@Test
|
||||
@DisplayName("Should send closing alert notification format")
|
||||
void testClosingAlertNotificationFormat() {
|
||||
NotificationService service = new NotificationService("desktop", "");
|
||||
NotificationService service = new NotificationService("desktop");
|
||||
|
||||
String message = "Kavel 12345 sluit binnen 5 min.";
|
||||
String title = "Lot nearing closure";
|
||||
@@ -234,7 +231,7 @@ class NotificationServiceTest {
|
||||
@Test
|
||||
@DisplayName("Should send object detection notification format")
|
||||
void testObjectDetectionNotificationFormat() {
|
||||
NotificationService service = new NotificationService("desktop", "");
|
||||
NotificationService service = new NotificationService("desktop");
|
||||
|
||||
String message = "Lot contains: car, truck, machinery\nEstimated value: €5000";
|
||||
String title = "Object Detected";
|
||||
|
||||
File diff suppressed because one or more lines are too long
62
src/test/java/auctiora/ParserTest.java
Normal file
62
src/test/java/auctiora/ParserTest.java
Normal file
File diff suppressed because one or more lines are too long
@@ -55,9 +55,9 @@ class ScraperDataAdapterTest {
|
||||
assertEquals("Cluj-Napoca", result.city());
|
||||
assertEquals("RO", result.country());
|
||||
assertEquals("https://example.com/auction/A7-39813", result.url());
|
||||
assertEquals("A7", result.type());
|
||||
assertEquals("A7", result.typePrefix());
|
||||
assertEquals(150, result.lotCount());
|
||||
assertNotNull(result.closingTime());
|
||||
assertNotNull(result.firstLotClosingTime());
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -75,7 +75,7 @@ class ScraperDataAdapterTest {
|
||||
|
||||
assertEquals("Amsterdam", result.city());
|
||||
assertEquals("", result.country());
|
||||
assertNull(result.closingTime());
|
||||
assertNull(result.firstLotClosingTime());
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -196,7 +196,7 @@ class ScraperDataAdapterTest {
|
||||
when(rs1.getString("first_lot_closing_time")).thenReturn(null);
|
||||
|
||||
AuctionInfo auction1 = ScraperDataAdapter.fromScraperAuction(rs1);
|
||||
assertEquals("A7", auction1.type());
|
||||
assertEquals("A7", auction1.typePrefix());
|
||||
|
||||
ResultSet rs2 = mock(ResultSet.class);
|
||||
when(rs2.getString("auction_id")).thenReturn("B1-12345");
|
||||
@@ -207,7 +207,7 @@ class ScraperDataAdapterTest {
|
||||
when(rs2.getString("first_lot_closing_time")).thenReturn(null);
|
||||
|
||||
AuctionInfo auction2 = ScraperDataAdapter.fromScraperAuction(rs2);
|
||||
assertEquals("B1", auction2.type());
|
||||
assertEquals("B1", auction2.typePrefix());
|
||||
}
|
||||
|
||||
@Test
|
||||
|
||||
@@ -43,7 +43,7 @@ class TroostwijkMonitorTest {
|
||||
@DisplayName("Should initialize monitor successfully")
|
||||
void testMonitorInitialization() {
|
||||
assertNotNull(monitor);
|
||||
assertNotNull(monitor.db);
|
||||
assertNotNull(monitor.getDb());
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -61,8 +61,8 @@ class TroostwijkMonitorTest {
|
||||
@Test
|
||||
@DisplayName("Should handle empty database gracefully")
|
||||
void testEmptyDatabaseHandling() throws SQLException {
|
||||
var auctions = monitor.db.getAllAuctions();
|
||||
var lots = monitor.db.getAllLots();
|
||||
var auctions = monitor.getDb().getAllAuctions();
|
||||
var lots = monitor.getDb().getAllLots();
|
||||
|
||||
assertNotNull(auctions);
|
||||
assertNotNull(lots);
|
||||
@@ -88,9 +88,9 @@ class TroostwijkMonitorTest {
|
||||
false
|
||||
);
|
||||
|
||||
monitor.db.upsertLot(lot);
|
||||
monitor.getDb().upsertLot(lot);
|
||||
|
||||
var lots = monitor.db.getAllLots();
|
||||
var lots = monitor.getDb().getAllLots();
|
||||
assertTrue(lots.stream().anyMatch(l -> l.lotId() == 22222));
|
||||
}
|
||||
|
||||
@@ -113,9 +113,9 @@ class TroostwijkMonitorTest {
|
||||
false
|
||||
);
|
||||
|
||||
monitor.db.upsertLot(closingSoon);
|
||||
monitor.getDb().upsertLot(closingSoon);
|
||||
|
||||
var lots = monitor.db.getActiveLots();
|
||||
var lots = monitor.getDb().getActiveLots();
|
||||
var found = lots.stream()
|
||||
.filter(l -> l.lotId() == 44444)
|
||||
.findFirst()
|
||||
@@ -143,9 +143,9 @@ class TroostwijkMonitorTest {
|
||||
false
|
||||
);
|
||||
|
||||
monitor.db.upsertLot(futureLot);
|
||||
monitor.getDb().upsertLot(futureLot);
|
||||
|
||||
var lots = monitor.db.getActiveLots();
|
||||
var lots = monitor.getDb().getActiveLots();
|
||||
var found = lots.stream()
|
||||
.filter(l -> l.lotId() == 66666)
|
||||
.findFirst()
|
||||
@@ -173,9 +173,9 @@ class TroostwijkMonitorTest {
|
||||
false
|
||||
);
|
||||
|
||||
monitor.db.upsertLot(noClosing);
|
||||
monitor.getDb().upsertLot(noClosing);
|
||||
|
||||
var lots = monitor.db.getActiveLots();
|
||||
var lots = monitor.getDb().getActiveLots();
|
||||
var found = lots.stream()
|
||||
.filter(l -> l.lotId() == 88888)
|
||||
.findFirst()
|
||||
@@ -203,7 +203,7 @@ class TroostwijkMonitorTest {
|
||||
false
|
||||
);
|
||||
|
||||
monitor.db.upsertLot(lot);
|
||||
monitor.getDb().upsertLot(lot);
|
||||
|
||||
// Update notification flag
|
||||
var notified = new Lot(
|
||||
@@ -221,9 +221,9 @@ class TroostwijkMonitorTest {
|
||||
true
|
||||
);
|
||||
|
||||
monitor.db.updateLotNotificationFlags(notified);
|
||||
monitor.getDb().updateLotNotificationFlags(notified);
|
||||
|
||||
var lots = monitor.db.getActiveLots();
|
||||
var lots = monitor.getDb().getActiveLots();
|
||||
var found = lots.stream()
|
||||
.filter(l -> l.lotId() == 11110)
|
||||
.findFirst()
|
||||
@@ -251,7 +251,7 @@ class TroostwijkMonitorTest {
|
||||
false
|
||||
);
|
||||
|
||||
monitor.db.upsertLot(lot);
|
||||
monitor.getDb().upsertLot(lot);
|
||||
|
||||
// Simulate bid increase
|
||||
var higherBid = new Lot(
|
||||
@@ -269,9 +269,9 @@ class TroostwijkMonitorTest {
|
||||
false
|
||||
);
|
||||
|
||||
monitor.db.updateLotCurrentBid(higherBid);
|
||||
monitor.getDb().updateLotCurrentBid(higherBid);
|
||||
|
||||
var lots = monitor.db.getActiveLots();
|
||||
var lots = monitor.getDb().getActiveLots();
|
||||
var found = lots.stream()
|
||||
.filter(l -> l.lotId() == 13131)
|
||||
.findFirst()
|
||||
@@ -287,7 +287,7 @@ class TroostwijkMonitorTest {
|
||||
Thread t1 = new Thread(() -> {
|
||||
try {
|
||||
for (int i = 0; i < 5; i++) {
|
||||
monitor.db.upsertLot(new Lot(
|
||||
monitor.getDb().upsertLot(new Lot(
|
||||
20000 + i, 30000 + i, "Concurrent " + i, "Desc", "", "", 0, "Cat",
|
||||
100.0, "EUR", "https://example.com/" + i, null, false
|
||||
));
|
||||
@@ -300,7 +300,7 @@ class TroostwijkMonitorTest {
|
||||
Thread t2 = new Thread(() -> {
|
||||
try {
|
||||
for (int i = 5; i < 10; i++) {
|
||||
monitor.db.upsertLot(new Lot(
|
||||
monitor.getDb().upsertLot(new Lot(
|
||||
20000 + i, 30000 + i, "Concurrent " + i, "Desc", "", "", 0, "Cat",
|
||||
200.0, "EUR", "https://example.com/" + i, null, false
|
||||
));
|
||||
@@ -315,7 +315,7 @@ class TroostwijkMonitorTest {
|
||||
t1.join();
|
||||
t2.join();
|
||||
|
||||
var lots = monitor.db.getActiveLots();
|
||||
var lots = monitor.getDb().getActiveLots();
|
||||
long count = lots.stream()
|
||||
.filter(l -> l.lotId() >= 30000 && l.lotId() < 30010)
|
||||
.count();
|
||||
@@ -351,7 +351,7 @@ class TroostwijkMonitorTest {
|
||||
LocalDateTime.now().plusDays(2)
|
||||
);
|
||||
|
||||
monitor.db.upsertAuction(auction);
|
||||
monitor.getDb().upsertAuction(auction);
|
||||
|
||||
// Insert related lot
|
||||
var lot = new Lot(
|
||||
@@ -369,11 +369,11 @@ class TroostwijkMonitorTest {
|
||||
false
|
||||
);
|
||||
|
||||
monitor.db.upsertLot(lot);
|
||||
monitor.getDb().upsertLot(lot);
|
||||
|
||||
// Verify
|
||||
var auctions = monitor.db.getAllAuctions();
|
||||
var lots = monitor.db.getAllLots();
|
||||
var auctions = monitor.getDb().getAllAuctions();
|
||||
var lots = monitor.getDb().getAllLots();
|
||||
|
||||
assertTrue(auctions.stream().anyMatch(a -> a.auctionId() == 40000));
|
||||
assertTrue(lots.stream().anyMatch(l -> l.lotId() == 50000));
|
||||
|
||||
Reference in New Issue
Block a user