package com.saeedsh.subway;

import static org.junit.Assert.*;

import java.time.LocalTime;

import org.junit.Test;

import com.saeedsh.subway.Route.Direction;

public class ArrivalTimeTest {

	@Test
	public void test() {

		SubwayModel subwayModel = SubwayModel.getInstance();

		assertEquals(LocalTime.of(10, 20),
				subwayModel.getNextTrainArrival(new Station("King"), LocalTime.of(10, 11), Direction.NORTH));
		assertEquals(LocalTime.of(10, 20),
				subwayModel.getNextTrainArrival(new Station("King"), LocalTime.of(10, 10), Direction.NORTH));
		assertEquals(LocalTime.of(10, 10),
				subwayModel.getNextTrainArrival(new Station("King"), LocalTime.of(10, 50), Direction.NORTH));
		assertNotEquals(LocalTime.of(10, 20),
				subwayModel.getNextTrainArrival(new Station("King"), LocalTime.of(10, 11), Direction.SOUTH));
		assertEquals(LocalTime.of(10, 0),
				subwayModel.getNextTrainArrival(new Station("College"), LocalTime.of(9, 50), Direction.SOUTH));
		assertEquals(LocalTime.of(9, 40),
				subwayModel.getNextTrainArrival(new Station("College"), LocalTime.of(10, 15), Direction.SOUTH));
		assertNotEquals(LocalTime.of(10, 15),
				subwayModel.getNextTrainArrival(new Station("College"), LocalTime.of(10, 1), Direction.NORTH));
	}

}
