public void WhenQuestionHasValidValue_ThenItIsComplete() { var question = new NumericQuestion { }; question.Response = 10; Assert.IsTrue(question.IsComplete); }
public void WhenQuestionHasNegativeValue_ThenItIsNotComplete() { var question = new NumericQuestion { MaxValue = 15 }; question.Response = -1; Assert.IsFalse(question.IsComplete); }
public void WhenQuestionHasNullValue_ThenItIsNotComplete() { var question = new NumericQuestion { }; question.Response = 10; question.Response = null; Assert.IsFalse(question.IsComplete); }
public void WhenResponseIsNegative_ThenIndicatesErrorOnResponse() { var question = new NumericQuestion { }; var notifyErrorInfo = (INotifyDataErrorInfo)question; question.Response = -15; Assert.IsTrue(notifyErrorInfo.GetErrors("Response").Cast<string>().Any()); }
public void WhenResponseChangesOnTheModel_ThenResponseValueChangeIsFired() { var question = new NumericQuestion { MaxValue = 100 }; var viewModel = new NumericQuestionViewModel(question); bool responseChangeFired = false; viewModel.ResponseChanged += (s, e) => { responseChangeFired = true; }; question.Response = 15; // Assertions Assert.IsTrue(responseChangeFired); }
public void WhenHasErrorIsChangedToFalseOnTheViewModel_ThenResponseValueChangeIsFired() { var question = new NumericQuestion { MaxValue = 100 }; var viewModel = new NumericQuestionViewModel(question); viewModel.HasBindingError = true; bool responseChangeFired = false; viewModel.ResponseChanged += (s, e) => { responseChangeFired = true; }; viewModel.HasBindingError = false; // Assertions Assert.IsTrue(responseChangeFired); }
public void WhenResponseIsPositiveWithNoMaximum_ThenIndicatesNoErrorOnResponse() { var question = new NumericQuestion { }; var notifyErrorInfo = (INotifyDataErrorInfo)question; question.Response = 15; Assert.IsFalse(notifyErrorInfo.GetErrors("Response").Cast<string>().Any()); }
public void WhenQuestionIsCreated_ThenTemplateValuesAreCopied() { var question = new NumericQuestion { MaxValue = 35 }; Assert.AreEqual(35, question.MaxValue); }
public void WhenQuestionIsNew_ThenItIsNotComplete() { var question = new NumericQuestion { }; Assert.IsFalse(question.IsComplete); }
public void WhenSettingResponseToNull_ThenIndicatesErrorOnResponse() { var question = new NumericQuestion { }; var notifyErrorInfo = (INotifyDataErrorInfo)question; question.Response = 10; Assert.IsFalse(notifyErrorInfo.GetErrors("Response").Cast<string>().Any()); question.Response = null; Assert.IsTrue(notifyErrorInfo.GetErrors("Response").Cast<string>().Any()); }
public void WhenResponseIsPositiveOverMaximum_ThenIndicatesErrorOnResponse() { var question = new NumericQuestion { MaxValue = 10 }; var notifyErrorInfo = (INotifyDataErrorInfo)question; question.Response = 15; Assert.IsTrue(notifyErrorInfo.GetErrors("Response").Cast<string>().Any()); }
public void WhenResponseIsSetOnTheModel_ThenTheHasErrorPropertyInTheViewModelIsCleared() { var question = new NumericQuestion { MaxValue = 100 }; var viewModel = new NumericQuestionViewModel(question); viewModel.HasBindingError = true; int responseChanges = 0; viewModel.ResponseChanged += (s, e) => { responseChanges++; }; question.Response = 15; // Assertions Assert.IsFalse(viewModel.HasBindingError); Assert.AreEqual(1, responseChanges); }
public void WhenViewModelHasErrorIsSet_ThenDoesNotHaveCompletedResponse() { var question = new NumericQuestion { MaxValue = 100 }; var viewModel = new NumericQuestionViewModel(question); question.Response = 15; viewModel.HasBindingError = true; // Assertions Assert.IsFalse(viewModel.ResponseComplete); }
public void WhenResponseIsSetOnTheModel_ThenHasChangesIsTrue() { var question = new NumericQuestion { MaxValue = 100 }; var viewModel = new NumericQuestionViewModel(question); bool hasChanges = false; viewModel.ResponseChanged += (o, e) => { hasChanges = true; }; question.Response = 15; // Assertions Assert.IsTrue(hasChanges); }
public void WhenCreatingANewViewModel_ThenHasChangesIsFalse() { var question = new NumericQuestion { MaxValue = 100 }; var viewModel = new NumericQuestionViewModel(question); bool hasChanges = false; viewModel.ResponseChanged += (o, e) => { hasChanges = true; }; // Assertions Assert.IsFalse(hasChanges); }