public void GetMovies_SizeOrPageLessThanZero_Test()
        {
            var theaterServiceMock = new Mock <ITheaterService>();

            int page = new int();
            int size = new int();

            theaterServiceMock.Setup(x => x.GetMovies(page, size)).Throws(new InvalidOperationException("Page and size should be positive numbers."));

            var controller   = new TheaterController(theaterServiceMock.Object);
            var actualResult = controller.GetMovies(page, size);

            var result       = (ObjectResult)actualResult;
            var asJson       = JsonConvert.SerializeObject(result.Value);
            var deserialized = JsonConvert.DeserializeObject <Dictionary <string, object> >(asJson);

            Assert.AreEqual("Page and size should be positive numbers.", deserialized["Error"]);

            theaterServiceMock.VerifyAll();
        }
        public void GetMovies_Successful_Test()
        {
            var theaterServiceMock = new Mock <ITheaterService>();

            int page = new int();
            int size = new int();

            theaterServiceMock.Setup(x => x.GetMovies(page, size));

            var controller   = new TheaterController(theaterServiceMock.Object);
            var actualResult = controller.GetMovies(page, size);

            var okResult     = (OkObjectResult)actualResult;
            var asJson       = JsonConvert.SerializeObject(okResult.Value);
            var deserialized = JsonConvert.DeserializeObject <Dictionary <string, object> >(asJson);

            Assert.IsTrue((bool)deserialized["Success"]);

            theaterServiceMock.VerifyAll();
        }