示例#1
0
 public Way(
     GeographicPoint source,
     GeographicPoint destinaiton,
     byte hoursToComplete)
 {
     Source          = source;
     Destinaiton     = destinaiton;
     HoursToComplete = hoursToComplete;
 }
示例#2
0
        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?")
            })
示例#3
0
 private void UnloadCargo(GeographicPoint destinaiton)
 {
     destinaiton.AcceptContainer(this.container);
     this.container = null;
 }