//[Fact (Skip ="")]
        public void given_valid_user_details_then_returns_action_SignInResult()
        {
            OpenIdConnectRequest identityUser = new OpenIdConnectRequest {
                Username = "******", Password = "******", GrantType = "password", Scope = "openid email phone profile offline_access roles", Resource = ""
            };

            //var users = new List<ApplicationUser>
            //{
            var user = new ApplicationUser
            {
                UserName  = "******",
                Id        = Guid.NewGuid().ToString(),
                Email     = "*****@*****.**",
                IsEnabled = true
            };

            var claim           = new Fixture().Create <Claim>();
            var claimsPrincipal = new Fixture().Create <ClaimsPrincipal>();

            //claimsPrincipal.Claims = claim;

            //}.AsQueryable();

            //_fakeUserManager.Setup(x => x.Users).Returns(users);
            _fakeUserManager.Setup(x => x.FindByNameAsync(It.IsAny <string>())).ReturnsAsync(user);
            _fakeSignInManager.Setup(x => x.CheckPasswordSignInAsync(user, identityUser.Password, true)).ReturnsAsync(new TSignInResult());
            _fakeSignInManager.Setup(x => x.CreateUserPrincipalAsync(user)).ReturnsAsync(claimsPrincipal);



            var a = controller.Exchange(identityUser);
        }