public void SetUp()
 {
     fakeLandmarksService = new Mock <ILandmarksService>();
     fakeLandmarksService.Setup(l => l.GetLandmarksWithinZone(It.IsAny <double>(), It.IsAny <double>(), It.IsAny <double>()))
     .Returns(GetFakeLandmarks());
     fakeLandmarksService.Setup(l => l.GetLandmarkById(It.IsAny <int>()))
     .Returns((int id) => GetFakeLandmarks().First(lm => lm.Id == id));
     fakeLandmarksService.Setup(l => l.GetLandmarksOfTour(It.IsAny <int>()))
     .Returns(GetFakeLandmarks());
     controller = new LandmarksController(fakeLandmarksService.Object);
 }
        public void LandmarksController_Adds()
        {
            // Arrange
            var loggerMock = new Mock <ILogger <LandmarksController> >();
            var repoMock   = MockRepository();
            var controller = new LandmarksController(loggerMock.Object, repoMock.Object);

            // Act
            var landmark = GetTestLandmark();
            var result   = controller.Add(landmark);

            // Assert
            Assert.IsNotNull(result);
            Assert.AreEqual(result.Username, landmark.Username);
            Assert.AreEqual(result.Latitude, landmark.Latitude);
            Assert.AreEqual(result.Longitude, landmark.Longitude);
            Assert.AreEqual(result.Comment, landmark.Comment);
        }
        public void LandmarksController_Retrieves()
        {
            // Arrange
            var loggerMock = new Mock <ILogger <LandmarksController> >();
            var repoMock   = MockRepository();
            var controller = new LandmarksController(loggerMock.Object, repoMock.Object);

            // Act
            var result = controller.GetAll();

            // Assert
            Assert.IsNotNull(result);
            Assert.AreEqual(result.Count(), 1);

            var firstResult = result.FirstOrDefault();
            var landmark    = GetTestLandmark();

            Assert.IsNotNull(firstResult);
            Assert.AreEqual(firstResult.Username, landmark.Username);
            Assert.AreEqual(firstResult.Latitude, landmark.Latitude);
            Assert.AreEqual(firstResult.Longitude, landmark.Longitude);
            Assert.AreEqual(firstResult.Comment, landmark.Comment);
        }