public Way( GeographicPoint source, GeographicPoint destinaiton, byte hoursToComplete) { Source = source; Destinaiton = destinaiton; HoursToComplete = hoursToComplete; }
public int Calculate(IEnumerable <string> destinationsPoints) { var containersToDeliver = destinationsPoints.Select(_ => new Container()).ToArray(); var a = new GeographicPoint(); var b = new GeographicPoint(); var port = new Port(); var factory = new Factory(containersToDeliver); var factoryToB = new Way(factory, b, 5); var portToA = new Way(port, a, 4); var factoryToPort = new Way(factory, port, 1); var expectedACargos = destinationsPoints.Count(x => x == "A"); var expectedBCargos = destinationsPoints.Count(x => x == "B"); var destinationQueue = new Queue <Way>( destinationsPoints.Select(x => x switch { "A" => factoryToPort, "B" => factoryToB, _ => throw new InvalidOperationException("Neither A, nor B, dude, are you OK?") })
private void UnloadCargo(GeographicPoint destinaiton) { destinaiton.AcceptContainer(this.container); this.container = null; }