コード例 #1
0
        public override async Task <FetchDataFromUrlCommand> HandleAsync(FetchDataFromUrlCommand command, CancellationToken cancellationToken = new CancellationToken())
        {
            var html = await DataFetcher.FetchData(command.Url);

            command.Html = html;
            return(await base.HandleAsync(command, cancellationToken));
        }
コード例 #2
0
 public FetchDataFromUrlActor()
 {
     ReceiveAsync <FetchDataFromUrlMessage>(async message =>
     {
         await DataFetcher.FetchData(message.Url)
         .PipeTo(Sender, Self, response => response);
     });
 }
コード例 #3
0
        public FetchDataFromUrlActor()
        {
            var parseDataActor = Context.ActorOf <ParseDataFromHtmlActor>();

            Receive <FetchDataFromUrlMessage>(async message =>
            {
                var html = await DataFetcher.FetchData(message.Url);
                parseDataActor.Tell(new ParseDataFromHtmlMessage(html));
            });
        }
コード例 #4
0
        public async Task Test1()
        {
            var stopAreaFetherMock = new Mock <IStopAreaFetcher>();

            stopAreaFetherMock
            .Setup(x => x.GetNearestStopAreasAsync(It.IsAny <double>(), It.IsAny <double>(), It.IsAny <int>(), default))
            .ReturnsAsync(new[] {
                new StopArea
                {
                    StopAreaId = 1,
                    Name       = "Centralen",
                    Distance   = 234,
                    X          = 4,
                    Y          = 2
                }
            });

            var departureFetcherMock = new Mock <IDepartureFetcher>();

            departureFetcherMock.Setup(x => x.GetDeparturesByStopPointAsync(It.IsAny <int>(), DateTime.Now, default))
            .ReturnsAsync(new[] {
                new StopPoint
                {
                    Name       = "B",
                    Departures = new List <Departure>
                    {
                        new Departure
                        {
                            RunNo         = 345,
                            Name          = "42 Foobar",
                            Towards       = "Boo",
                            DepartureTime = DateTime.Now,
                            No            = 42,
                            LineType      = "Bus"
                        }
                    }
                }
            });

            var geoLocationServiceMock = new Mock <IGeoLocationService>();

            geoLocationServiceMock.Setup(x => x.GetLocationAsync())
            .ReturnsAsync(new Location(343, 878));

            var loggerMock = new Mock <ILogger <DataFetcher> >();

            var dataFetcher = new DataFetcher(stopAreaFetherMock.Object, departureFetcherMock.Object, geoLocationServiceMock.Object, loggerMock.Object);

            await foreach (var data in dataFetcher.FetchData())
            {
                Console.WriteLine(data);
            }
        }
コード例 #5
0
 protected override async Task <string> HandleCore(FetchDataFromUrlRequest request)
 {
     return(await DataFetcher.FetchData(request.Url));
 }
コード例 #6
0
        public async Task Test1()
        {
            var stopPointFetcher = new Mock <IStopAreaFetcher>();

            stopPointFetcher.SetupSequence(o => o.GetNearestStopAreasAsync(It.IsAny <double>(), It.IsAny <double>(), It.IsAny <int>(), default))
            .ReturnsAsync(new StopArea[] {
                new StopArea
                {
                    StopAreaId = 1
                },
                new StopArea
                {
                    StopAreaId = 2
                },
                new StopArea
                {
                    StopAreaId = 3
                }
            }).ReturnsAsync(new StopPoint[] {
                new StopPoint
                {
                    Name = "Track 1"
                },
                new StopPoint
                {
                    Name = "Track 2"
                }
            }).ReturnsAsync(new StopPoint[] {
                new StopPoint
                {
                    Name = "A"
                },
                new StopPoint
                {
                    Name = "B"
                },
                new StopPoint
                {
                    Name = "C"
                },
                new StopPoint
                {
                    Name = "D"
                },
                new StopPoint
                {
                    Name = "E"
                }
            });
            departureFetcher.SetupSequence(o => o.GetDeparturesByStopPointAsync(It.IsAny <int>(), It.IsAny <DateTime>(), default))
            .ReturnsAsync(new StopPoint[] {
                new StopPoint
                {
                    Name = "A"
                },
                new StopPoint
                {
                    Name = "B"
                },
                new StopPoint
                {
                    Name = "C"
                }
            });

            var geoLocationService = new Mock <IGeoLocationService>();
            var logger             = new Mock <ILogger <DataFetcher> >();

            var dataFetcher = new DataFetcher(
                stopPointFetcher.Object,
                departureFetcher.Object,
                geoLocationService.Object,
                logger.Object);

            await foreach (var foo in dataFetcher.FetchData())
            {
                Console.WriteLine(foo);
            }
        }
コード例 #7
0
        public async Task <string> Handle(FetchDataFromUrlQuery query)
        {
            var html = await DataFetcher.FetchData(query.Url);

            return(await Task.FromResult(html));
        }
コード例 #8
0
 public void BtnSearch()
 {
     dataFetcher.FetchData(inputField.text);
 }