public void GetUserInfo_ClassDoesntNeedExtraInfo_ShouldNotAskUserForAnything() { //Assemble _classInfo.Properties[0].ValidType = ValidType.Bool; //Act UserInputService.GetUserInfo(_classInfo, _mockRepo.Object); //Assert _mockRepo.Verify( x => x.GetUserInput(It.IsAny <string>()), Times.Never ); }
public void GetUserInfo_ClassContainsString_ShouldAskUserForLength() { //Assemble _classInfo.Properties[0].ValidType = ValidType.String; //Act UserInputService.GetUserInfo(_classInfo, _mockRepo.Object); //Assert _mockRepo.Verify( x => x.GetUserInput(UserInputService.GetLengthMessage( _classInfo.Properties[0].CSharpName )), Times.Once ); }
public void GetUserInfo_UserGivesInvalidValue_ShouldThrowException() { //Assemble var invalidInput = "invalid input"; _classInfo.Properties[0].ValidType = ValidType.Decimal; _mockRepo .Setup(x => x.GetUserInput(It.IsAny <string>())) .Returns(invalidInput); //Act Action act = () => UserInputService.GetUserInfo(_classInfo, _mockRepo.Object); //Assert act .Should() .ThrowExactly <InvalidInputException>() .WithMessage( UserInputService.InvalidInputExceptionBadInput(invalidInput) ); }
public void GetUserInfo_ClassContainsDouble_ShouldAskUserForPrecisionAndScale() { //Assemble _classInfo.Properties[0].ValidType = ValidType.Double; //Act UserInputService.GetUserInfo(_classInfo, _mockRepo.Object); //Assert _mockRepo.Verify( x => x.GetUserInput(UserInputService.GetPrecisionMessage( _classInfo.Properties[0].CSharpName )), Times.Once ); _mockRepo.Verify( x => x.GetUserInput(UserInputService.GetScaleMessage( _classInfo.Properties[0].CSharpName )), Times.Once ); }