protected IsValid ( string &invalidReason ) : bool | ||
invalidReason | string | A string to modify with a reason /// for any invalid values |
리턴 | bool |
public void Test_BusinessObject_TrySaveThrowsUserError_IfValidateFails() { //---------------Set up test pack------------------- ClassDef.ClassDefs.Clear(); IClassDef classDef = MyBO.LoadDefaultClassDef_CompulsoryField_TestProp(); BusinessObject bo = (BusinessObject) classDef.CreateNewBusinessObject(); TransactionalBusinessObject transactionalBusinessObject = new TransactionalBusinessObject(bo); //---------------Assert Precondition---------------- //---------------Execute Test ---------------------- string invalidReason; bool valid = transactionalBusinessObject.IsValid(out invalidReason); //---------------Test Result ----------------------- StringAssert.Contains("Test Prop' is a compulsory field and has no value", invalidReason); Assert.IsFalse(valid); Assert.IsFalse(bo.Status.IsValid()); }
/// <summary> /// Check that the object is in a valid state i.e. no <see cref="IPropRule"/>'s are broken. /// </summary> private void CheckObjectsAreValid() { string allMessages = ""; foreach (ITransactional transaction in _originalTransactions) { if (!(transaction is TransactionalBusinessObject)) { continue; } TransactionalBusinessObject trnBusObj = (TransactionalBusinessObject)transaction; string errMsg; if (!trnBusObj.IsValid(out errMsg)) { allMessages = Util.StringUtilities.AppendMessage(allMessages, errMsg); } } if (!string.IsNullOrEmpty(allMessages)) { throw new BusObjectInAnInvalidStateException(allMessages); } }