public void HandleNullableGuidWithInvalidValue_Returns_Null()
        {
            var guidModelBinderService = new GuidModelBinderService();
            var result = guidModelBinderService.BuildModelAsync(typeof(Guid?), "this is a string").Result;

            Assert.IsNull(result);
        }
        public void HandleInvalidGuid_Throws_UnhandledParameterException()
        {
            var guidModelBinderService = new GuidModelBinderService();
            var guid = "this is a string";

            Assert.CatchAsync <UnhandledParameterException>(async() => await guidModelBinderService.BuildModelAsync(typeof(Guid), guid));
        }
        public void HandleNullableGuidWithValidValue_Returns_GuidValue()
        {
            var guidModelBinderService = new GuidModelBinderService();
            var guid = Guid.NewGuid();

            var result = guidModelBinderService.BuildModelAsync(typeof(Guid?), guid.ToString("D")).Result;

            Assert.AreEqual(guid, result);
        }
        public void HandleNullableGuidWithEmptyValue_Returns_GuidEmpty()
        {
            var guidModelBinderService = new GuidModelBinderService();
            var emptyGuid = Guid.Empty;

            var result = guidModelBinderService.BuildModelAsync(typeof(Guid?), emptyGuid.ToString("D")).Result;

            Assert.AreEqual(emptyGuid, result);
        }
        public void HandleEmptyGuid_Returns_EmptyGuid()
        {
            var guidModelBinderService = new GuidModelBinderService();
            var guid = Guid.Empty;

            var result = guidModelBinderService.BuildModelAsync(typeof(Guid), guid.ToString("D"))
                         .Result;

            Assert.AreEqual(guid, result);
        }