forked from Hithomelabs/DSA_sheets
36 lines
1.1 KiB
Java
36 lines
1.1 KiB
Java
package com.hithomelabs.dsa.array.best_time_to_buy_and_sell_stock;
|
|
import static org.junit.jupiter.api.Assertions.assertEquals;
|
|
// https://example.com/best_time_to_buy_and_sell_stock
|
|
public class SolutionTest {
|
|
|
|
|
|
@Test
|
|
void testSolve() {
|
|
Solution solution = new Solution();
|
|
|
|
// Test case 1: Normal case with increasing prices
|
|
int[] prices1 = {7, 1, 5, 3, 6, 4};
|
|
assertEquals(5, solution.solve(prices1));
|
|
|
|
// Test case 2: Prices decrease
|
|
int[] prices2 = {7, 6, 4, 3, 1};
|
|
assertEquals(0, solution.solve(prices2));
|
|
|
|
// Test case 3: Prices are constant
|
|
int[] prices3 = {5, 5, 5, 5, 5};
|
|
assertEquals(0, solution.solve(prices3));
|
|
|
|
// Test case 4: Prices with a single day
|
|
int[] prices4 = {1};
|
|
assertEquals(0, solution.solve(prices4));
|
|
|
|
// Test case 5: Prices with two days, increasing
|
|
int[] prices5 = {1, 2};
|
|
assertEquals(1, solution.solve(prices5));
|
|
|
|
// Test case 6: Prices with two days, decreasing
|
|
int[] prices6 = {2, 1};
|
|
assertEquals(0, solution.solve(prices6));
|
|
}
|
|
}
|