[TestMethod] public void AddsFirstTimetableCall() { var station = TestDataFactory.CreateStation1(); var target = new Train(TrainCategory.Freight, "G1234"); var call = new StationCall(station.Tracks.First(), new Time(12,30) , new Time(12,45)); target.Add(call); }
public void WhenNoCallsThenTimeslotIsFree() { var target = new StationTrack("1"); var call = new StationCall(target, new Time(12, 00), new Time(12, 30)); Assert.AreEqual(1, target.Calls.Count()); Assert.AreEqual(call, target.Calls.First()); }
public void WhenSecondTimetableCallIsAfterLastThenThrows() { var station = TestDataFactory.CreateStation1(); var target = new Train(TrainCategory.Freight, "G1234"); var call1 = new StationCall(station.Tracks.First(), new Time(12, 30), new Time(12, 45)); var call2 = new StationCall(station.Tracks.First(), new Time(12, 50), new Time(12, 55)); target.Add(call1); target.Add(call2); }
public void AddsFirstTimetableCall() { var station = TestDataFactory.CreateStation1(); var call = new StationCall(station.Tracks.First(), new Time(12, 30), new Time(12, 45)); Target.Add(call); Assert.IsFalse(Target.CheckTrainTimeSequence().Any()); }
public void WhenSecondTimetableCallIsAfterLastThenThrows() { var station = TestDataFactory.CreateStation1(); var call1 = new StationCall(station.Tracks.First(), new Time(12, 30), new Time(12, 45)); var call2 = new StationCall(station.Tracks.First(), new Time(12, 50), new Time(12, 55)); Target.Add(call1); Target.Add(call2); }
public void WhenCallsNotOverlapsThenTimeslotIsFree() { var target = new StationTrack("1"); var call1 = new StationCall(target, new Time(12, 00), new Time(12, 30)); var call2 = new StationCall(target, new Time(12, 31), new Time(12, 45)); Assert.AreEqual(2, target.Calls.Count()); Assert.AreEqual(call1, target.Calls.First()); Assert.AreEqual(call2, target.Calls.Last()); }
public void ArrivalAfterDepartureThrows() { var track = TestDataFactory.CreateStationTrack(); var target = new StationCall(track, new Time(12, 00), new Time(11, 59)); Train.Add(target); var validationErrors = target.GetValidationErrors(); Assert.AreEqual(1, validationErrors.Count()); Assert.IsFalse(validationErrors.Any(ve => string.IsNullOrWhiteSpace(ve.Text))); }
public void EqualsWorks() { TestDataFactory.Init(); var station = TestDataFactory.CreateStation1(); var train = TestDataFactory.CreateTrain1(); var one = new StationCall(station.Tracks.First(), new Time(12, 00), new Time(12, 00)) { Train = train }; var another = new StationCall(station.Tracks.First(), new Time(12, 00), new Time(12, 00)) { Train = train }; Assert.AreEqual(one, another); }
private void btnHold_Click(object sender, EventArgs e) { StationCall objStationCall = xmlStation.GetCallByCallID(incoming_call_id); if (objStationCall != null) { if ((int)objStationCall.CallState == (int)enCallState.Connecting || (int)objStationCall.CallState == (int)enCallState.Alerting || (int)objStationCall.CallState == (int)enCallState.Connected) { callAnswered = false; xmlStation.CallHold(objStationCall); } if ((int)objStationCall.CallState == (int)enCallState.Hold) { xmlStation.CallUnhold(); holdTimer.Stop(); log.Info("--End hold between: " + objStationCall.CallerDN + " and " + objStationCall.CalledDN + " Duration: " + lblHoldTimer.Text); } } }
public DepartureTrackStretchCommand(StationCall call, TrackStretch stretch) : base(call, stretch) { }
public ConfirmTrackStretchCommand(StationCall call, TrackStretch stretch) : base(call, stretch) { }
public CancelTrackStretchCommand(StationCall call, TrackStretch stretch) : base(call, stretch) { }
private static IEnumerable <Message> GetTrains(Timetable timetable, Excel.Workbook book) { var messages = new List <Message>(); Excel.Worksheet sheet = book.Worksheets["Trains"] as Excel.Worksheet; var r = 2; Train currentTrain = null; while (true) { var row = (Array)sheet.get_Range(Cell("A", r), Cell("K", r)).Cells.Value; if (row.GetValue(1, 1) == null) { break; } else { var type = row.Value(9).ToUpperInvariant(); switch (type) { case "TRAINDEF": if (currentTrain != null) { timetable.AddTrain(currentTrain); } var trainId = row.Value(TrainIdColumn); currentTrain = new Train(trainId.ParseTrainNumber(), trainId) { Category = trainId.ParsesTrainCategory() }; break; case "TIMETABLE": try { var station = timetable.Layout.Station(row.Value(3)); var arrivalTime = Time.Parse(row.Value(5)); var departureTime = Time.Parse(row.Value(6)); var note = row.Value(11); if (station.IsNone) { messages.Add(Message.Error(string.Format(CultureInfo.CurrentCulture, Resources.Strings.ThereIsNoStationWithSignatureOrName, station.Value))); } else { var trackNumber = row.Value(4); var track = station.Value.Track(trackNumber); if (track.IsNone) { messages.Add(Message.Error(string.Format(CultureInfo.CurrentCulture, Resources.Strings.TrainAtStationAtTimeRefersToANonexistingTrack, currentTrain, station.Value, arrivalTime, departureTime, trackNumber))); } if (messages.CanContinue()) { var call = new StationCall(track.Value, Time.Parse(row.Value(5)), Time.Parse(row.Value(6))); if (!string.IsNullOrWhiteSpace(note)) { call.Notes.Add(new StationCallNote(note)); } currentTrain.Add(call); } } } catch (Exception ex) { messages.Add(Message.System(ex.Message)); } break; default: break; } } r++; } if (currentTrain != null) { timetable.AddTrain(currentTrain); } return(messages); }
public RequestTrackStretchCommand(StationCall call, TrackStretch stretch) : base(call, stretch) { }
[TestMethod] public void ArrivalIsNullThrows() { var track = new StationTrack("1"); var target = new StationCall(track, null, new Time(12, 00)); }
[TestMethod] public void DepartureIsNullThrows() { var track = new StationTrack("1"); var target = new StationCall(track, new Time(12, 00), null); }
public ArrivedTrackStretchCommand(StationCall call, TrackStretch stretch) : base(call, stretch) { }
[TestMethod] public void TrackIsNullThrows() { var target = new StationCall(null, new Time(12, 00), new Time(12, 00)); }
public void WhenCallsOverlapsThenTimeslotIsNotFree() { var target = new StationTrack("1"); var call1 = new StationCall(target, new Time(12, 00), new Time(12, 30)); var call2 = new StationCall(target, new Time(12, 30), new Time(12, 45)); }
protected TrackStretchCommand(StationCall call, TrackStretch stretch) { if (stretch == null) throw new ArgumentNullException(nameof(stretch)); if (call == null) throw new ArgumentNullException(nameof(call)); Stretch = stretch; Call = call; }
[TestMethod] public void ArrivalAfterDepartureThrows() { var track = new StationTrack("1"); var target = new StationCall(track, new Time(12, 00), new Time(11, 59)); }