public void Return_Cool_Thing_Is_Not_Really_Cool_For_Null_Cool_Thing()
        {
            var awesomeService = ServicesCreator.AwesomeService(UnitTestContext.Instance.Container);
            var isItReallyCool = awesomeService.IsItReallyCool(null);

            Assert.That(
                isItReallyCool,
                Is.False,
                "Non cool thing is being classified as cool");
        }
        public void Raise_Exception_For_Non_Exisiting_Cool_Thing()
        {
            const int id = 13;

            CoolRepositoryMocks.GetById(UnitTestContext.Instance.Container, null);
            AwesomeServiceMocks.IsItReallyCool(UnitTestContext.Instance.Container, false);

            var amazingService = ServicesCreator.AmazingService(UnitTestContext.Instance.Container);

            Assert.Throws <Exception>(
                () => amazingService.GetById(id),
                "No exception is raised for non existing cool thing");
        }
        public void Return_Cool_Thing_Is_Really_Cool_For_Odd_Id_Cool_Thing()
        {
            var coolThing = new CoolThing
            {
                Id = 13
            };

            var awesomeService = ServicesCreator.AwesomeService(UnitTestContext.Instance.Container);
            var isItReallyCool = awesomeService.IsItReallyCool(coolThing);

            Assert.That(
                isItReallyCool,
                Is.True,
                "Actual cool thing is being classified as non cool");
        }
        public void Successfully_Retrieve_Exisiting_Cool_Thing()
        {
            const int id        = 13;
            var       coolThing = new CoolThing
            {
                Id = id
            };

            CoolRepositoryMocks.GetById(UnitTestContext.Instance.Container, id, coolThing);
            AwesomeServiceMocks.IsItReallyCool(UnitTestContext.Instance.Container, true);

            var amazingService    = ServicesCreator.AmazingService(UnitTestContext.Instance.Container);
            var retrievedInstance = amazingService.GetById(id);

            Assert.That(
                retrievedInstance.Id,
                Is.EqualTo(coolThing.Id),
                "The cool thing is not being correctly retrieved");
        }