public void Constructors_ConstructDto_ExpectDto() { FairyTaleDto fairyTaleDto = new FairyTaleDto(Guid.NewGuid(), "name", new Coordinate(5.23, 51.22), LocationType.FAIRYTALE); Assert.Equal("name", fairyTaleDto.Name); Assert.Equal(LocationType.FAIRYTALE, fairyTaleDto.LocationType); Assert.Equal(5.23, fairyTaleDto.Coordinates.Latitude); Assert.Equal(51.22, fairyTaleDto.Coordinates.Longitude); }
public void DoActivity_LetVisitorDoActivity_ExpectTookTime() { DateTime start = DateTime.Now; Mock <IOptions <VisitorSettings> > settingsMock = new Mock <IOptions <VisitorSettings> >(); VisitorSettings visitorSettings = new VisitorSettings(); visitorSettings.FairyTaleMinVisitingSeconds = 3; visitorSettings.FairyTaleMaxVisitingSeconds = 5; settingsMock.Setup(setting => setting.Value).Returns(visitorSettings); Visitor visitor = new Visitor(start, 1.73, startCoordinate, random); FairyTaleDto tale = new FairyTaleDto(); visitor.DoActivity(tale); }
public void SetNewLocation_GivenVisitorHasFairyTaleAsLatestLocation_ExpectClosestRequested() { Visitor visitor = new Visitor(); FairyTaleDto location = new FairyTaleDto(); fairyTaleClientMock.Setup(mock => mock.GetNewFairyTaleLocation(It.IsAny <Guid>(), It.IsAny <List <Guid> >())).Returns(location); location.LocationType = LocationType.FAIRYTALE; visitor.VisitedLocations.Add(DateTime.Now, location); VisitorFairyTaleStrategy strategy = new VisitorFairyTaleStrategy(eventProducerMock.Object, fairyTaleClientMock.Object); strategy.SetNewLocation(visitor); fairyTaleClientMock.Verify(client => client.GetRandomFairyTale(), Times.Never); fairyTaleClientMock.Verify(client => client.GetNewFairyTaleLocation(It.IsAny <Guid>(), It.IsAny <List <Guid> >()), Times.Once); }
public void Setters_ConstructAndUseSetters_ExpectDto() { FairyTaleDto fairyTaleDto = new FairyTaleDto(); Assert.Null(fairyTaleDto.Name); Assert.Equal(LocationType.FAIRYTALE, fairyTaleDto.LocationType); Assert.NotEqual(5.23, fairyTaleDto.Coordinates.Latitude); Assert.NotEqual(51.22, fairyTaleDto.Coordinates.Longitude); fairyTaleDto.Name = "name"; fairyTaleDto.Coordinates = new Coordinate(5.23, 51.22); fairyTaleDto.Guid = Guid.NewGuid(); fairyTaleDto.LocationType = LocationType.FAIRYTALE; Assert.Equal("name", fairyTaleDto.Name); Assert.Equal(LocationType.FAIRYTALE, fairyTaleDto.LocationType); Assert.Equal(5.23, fairyTaleDto.Coordinates.Latitude); Assert.Equal(51.22, fairyTaleDto.Coordinates.Longitude); }
public void StartLocationActivity_GivenCorrectData_ExpectCorrectCalls() { Visitor visitor = new Visitor(); FairyTaleDto fairyTaleDto = new FairyTaleDto(); visitor.TargetLocation = fairyTaleDto; VisitorFairyTaleStrategy strategy = new VisitorFairyTaleStrategy(eventProducerMock.Object, fairyTaleClientMock.Object); strategy.StartLocationActivity(visitor); var eventPayload = new Dictionary <string, string> { { "Visitor", visitor.Guid.ToString() }, { "FairyTale", fairyTaleDto.Guid.ToString() } }; Event producedEvent = new Event(EventType.ArrivedAtFairyTale, EventSource.Visitor, eventPayload); eventProducerMock.Verify(producer => producer.Produce(It.Is <Event>(a => a.Equals(producedEvent))), Times.Once); }
public void NotifyOrderReady_OrderExists_ExpectVisitorIdle() { FairyTaleDto fairyTaleDto = new FairyTaleDto(); Mock <IFairyTaleClient> fairyTaleClient = new Mock <IFairyTaleClient>(); Mock <IRideClient> rideClient = new Mock <IRideClient>(); Mock <IEventProducer> eventProducer = new Mock <IEventProducer>(); fairyTaleClient.Setup(client => client.GetRandomFairyTale()).Returns(new FairyTaleDto()); rideClient.Setup(client => client.GetRandomRide()).Returns(new RideDto()); VisitorControl visitorControl = new VisitorControl(mediator, logger, standClient, repo.Object, visitorMovementService.Object, locationTypeStrategyMock.Object); Visitor input = new Visitor(); repo.Setup(repo => repo.AddVisitors(It.IsAny <int>())).Returns(new List <Visitor>() { input }); repo.Setup(repo => repo.All()).Returns(new List <Visitor>() { input }); repo.Setup(repo => repo.GetVisitor(input.Guid)).Returns(input); Mock <IVisitorLocationStrategy> strategyMock = new Mock <IVisitorLocationStrategy>(); locationTypeStrategyMock.Setup(strategyMock => strategyMock.GetStrategy(It.IsAny <LocationType>())) .Returns(strategyMock.Object); Guid guid = Guid.NewGuid(); visitorControl.AddVisitors(1); Visitor visitor = visitorControl.All().First(); visitorControl.VisitorsWaitingForOrder.TryAdd(guid.ToString(), visitor.Guid); visitorControl.NotifyOrderReady(guid.ToString()); Assert.True(visitor.AvailableAt <DateTime.Now && visitor.AvailableAt> DateTime.Now - TimeSpan.FromSeconds(5)); }