Esempi di output di analisi del test dei criteri
In questa sezione vengono riportati esempi dell'output del test dei criteri per tipi diversi di fact.
Classe .NET
Regola di esempio "TestRule1" nel criterio "LoanProcessing":
IF test.get_ID > 0
THEN <do something>
Output:
TRACCIA DEL MOTORE DELLE REGOLE PER RULESET: LoanProcessing 3/16/2004 9:50:28 AM
ATTIVITÀ FACT 3/16/2004 9:50:28
Identificatore dell'istanza del motore di regole: 9effe3f9-d3ad-4125-99fa-56bb379188f7
Nome del set di regole: LoanProcessing
Operazione: Assert
Tipo di oggetto: MyTest.test
Identificatore dell'istanza dell'oggetto: 872
TEST DI VALUTAZIONE CONDIZIONE (MATCH) 3/16/2004 9:50:28
Identificatore dell'istanza del motore di regole: 9effe3f9-d3ad-4125-99fa-56bb379188f7
Nome del set di regole: LoanProcessing
Espressione di test: MyTest.test.get_ID > 0
Valore operando sinistro: 100
Valore operando destro: 0
Risultato del test: True
AGGIORNAMENTO AGENDA 3/16/2004 9:50:28
Identificatore dell'istanza del motore di regole: 9effe3f9-d3ad-4125-99fa-56bb379188f7
Nome del set di regole: LoanProcessing
Operazione: Aggiungi
Nome regola: TestRule1
Criteri di risoluzione dei conflitti: 0
REGOLA ATTIVATA 3/16/2004 9:50:28
Identificatore dell'istanza del motore di regole: 9effe3f9-d3ad-4125-99fa-56bb379188f7
Nome del set di regole: LoanProcessing
Nome regola: TestRule1
Criteri di risoluzione dei conflitti: 0
ATTIVITÀ FACT 3/16/2004 9:50:28
Identificatore dell'istanza del motore di regole: 9effe3f9-d3ad-4125-99fa-56bb379188f7
Nome del set di regole: LoanProcessing
Operazione: Ritiro
Tipo di oggetto: MyTest.test
Identificatore dell'istanza dell'oggetto: 872
DataConnection/TypedDataRow
Regola di esempio "TestRule1" nel criterio "LoanProcessing":
IF NorthWind.CustInfo.CreditCardBalance > 0
THEN <do something>
Output:
TRACCIA DEL MOTORE REGOLE PER RULESET: LoanProcessing 3/16/2004 8:30:16 AM
ATTIVITÀ FACT 3/16/2004 8:30:16
Identificatore dell'istanza del motore di regole: 1aad35bb-0599-470b-b0fa-73b3fa1dfb83
Nome del set di regole: LoanProcessing
Operazione: Assert
Tipo di oggetto: DataConnection:Northwind:CustInfo
Identificatore dell'istanza dell'oggetto: 874
TEST DI VALUTAZIONE CONDIZIONE (MATCH) 3/16/2004 8:30:16
Identificatore dell'istanza del motore di regole: 1aad35bb-0599-470b-b0fa-73b3fa1dfb83
Nome del set di regole: LoanProcessing
Espressione di test: selezionare * da [CustInfo] dove [CreditCardBalance] > 0
Valore operando di sinistra:
Valore operando di destra:
Risultato del test: True
ATTIVITÀ FACT 3/16/2004 8:30:16
Identificatore dell'istanza del motore di regole: 1aad35bb-0599-470b-b0fa-73b3fa1dfb83
Nome del set di regole: LoanProcessing
Operazione: Assert
Tipo di oggetto: TypedDataRow:Northwind:CustInfo
Identificatore dell'istanza dell'oggetto: 177556
AGGIORNAMENTO AGENDA 3/16/2004 8:30:16
Identificatore dell'istanza del motore di regole: 1aad35bb-0599-470b-b0fa-73b3fa1dfb83
Nome del set di regole: LoanProcessing
Operazione: Aggiungi
Nome regola: TestRule1
Criteri di risoluzione dei conflitti: 0
ATTIVITÀ FACT 3/16/2004 8:30:16
Identificatore dell'istanza del motore di regole: 1aad35bb-0599-470b-b0fa-73b3fa1dfb83
Nome del set di regole: LoanProcessing
Operazione: Assert
Tipo di oggetto: TypedDataRow:Northwind:CustInfo
Identificatore dell'istanza dell'oggetto: 177559
AGGIORNAMENTO AGENDA 3/16/2004 8:30:16
Identificatore dell'istanza del motore di regole: 1aad35bb-0599-470b-b0fa-73b3fa1dfb83
Nome del set di regole: LoanProcessing
Operazione: Aggiungi
Nome regola: TestRule1
Criteri di risoluzione dei conflitti: 0
ATTIVITÀ FACT 3/16/2004 8:30:16
Identificatore dell'istanza del motore di regole: 1aad35bb-0599-470b-b0fa-73b3fa1dfb83
Nome del set di regole: LoanProcessing
Operazione: Assert
Tipo di oggetto: TypedDataRow:Northwind:CustInfo
Identificatore dell'istanza dell'oggetto: 177558
AGGIORNAMENTO AGENDA 3/16/2004 8:30:16
Identificatore dell'istanza del motore di regole: 1aad35bb-0599-470b-b0fa-73b3fa1dfb83
Nome del set di regole: LoanProcessing
Operazione: Aggiungi
Nome regola: TestRule1
Criteri di risoluzione dei conflitti: 0
REGOLA ATTIVATA 3/16/2004 8:30:16 AM
Identificatore dell'istanza del motore di regole: 1aad35bb-0599-470b-b0fa-73b3fa1dfb83
Nome del set di regole: LoanProcessing
Nome regola: TestRule1
Criteri di risoluzione dei conflitti: 0
REGOLA ATTIVATA 3/16/2004 8:30:16 AM
Identificatore dell'istanza del motore di regole: 1aad35bb-0599-470b-b0fa-73b3fa1dfb83
Nome del set di regole: LoanProcessing
Nome regola: TestRule1
Criteri di risoluzione dei conflitti: 0
REGOLA ATTIVATA 3/16/2004 8:30:16 AM
Identificatore dell'istanza del motore di regole: 1aad35bb-0599-470b-b0fa-73b3fa1dfb83
Nome del set di regole: LoanProcessing
Nome regola: TestRule1
Criteri di risoluzione dei conflitti: 0
ATTIVITÀ FACT 3/16/2004 8:30:16
Identificatore dell'istanza del motore di regole: 1aad35bb-0599-470b-b0fa-73b3fa1dfb83
Nome del set di regole: LoanProcessing
Operazione: Ritiro
Tipo di oggetto: DataConnection:Northwind:CustInfo
Identificatore dell'istanza dell'oggetto: 874
ATTIVITÀ FACT 3/16/2004 8:30:16
Identificatore dell'istanza del motore di regole: 1aad35bb-0599-470b-b0fa-73b3fa1dfb83
Nome del set di regole: LoanProcessing
Operazione: Ritiro
Tipo di oggetto: TypedDataRow:Northwind:CustInfo
Identificatore dell'istanza dell'oggetto: 177559
ATTIVITÀ FACT 3/16/2004 8:30:16
Identificatore dell'istanza del motore di regole: 1aad35bb-0599-470b-b0fa-73b3fa1dfb83
Nome del set di regole: LoanProcessing
Operazione: Ritiro
Tipo di oggetto: TypedDataRow:Northwind:CustInfo
Identificatore dell'istanza dell'oggetto: 177558
ATTIVITÀ FACT 3/16/2004 8:30:16
Identificatore dell'istanza del motore di regole: 1aad35bb-0599-470b-b0fa-73b3fa1dfb83
Nome del set di regole: LoanProcessing
Operazione: Ritiro
Tipo di oggetto: TypedDataRow:Northwind:CustInfo
Identificatore dell'istanza dell'oggetto: 177556
L'esempio riportato sopra indica che tre righe della tabella CustInfo sono conformi alla condizione della regola. Di conseguenza tre righe TypedDataRow univoche sono state dichiarate nel motore ed è stato eseguito un aggiornamento agenda e l'attivazione della regola per ciascuna istanza.
TypeDataTable/TypedDataRow
Regola di esempio "TestRule1" nel criterio "LoanProcessing":
IF NorthWind.CustInfo.CreditCardBalance > 0
THEN <do something>
Output:
TRACCIA MOTORE REGOLE PER RULESET: LoanProcessing 3/17/2004 11:27:35
ATTIVITÀ FACT 3/17/2004 11:27:35
Identificatore dell'istanza del motore di regole: 0f7bcdf3-8103-4990-a740-acaeee386439
Nome del set di regole: LoanProcessing
Operazione: Assert
Tipo di oggetto: TypedDataTable:Northwind:CustInfo
Identificatore dell'istanza dell'oggetto: 377
ATTIVITÀ FACT 3/17/2004 11:27:35
Identificatore dell'istanza del motore di regole: 0f7bcdf3-8103-4990-a740-acaeee386439
Nome del set di regole: LoanProcessing
Operazione: Assert
Tipo di oggetto: TypedDataRow:Northwind:CustInfo
Identificatore dell'istanza dell'oggetto: 376
TEST DI VALUTAZIONE CONDIZIONE (MATCH) 17/3/2004 11:27:35
Identificatore dell'istanza del motore di regole: 0f7bcdf3-8103-4990-a740-acaeee386439
Nome del set di regole: LoanProcessing
Espressione di test: TypedDataRow:Northwind:CustInfo.CreditCardBalance > 0
Valore dell'operando sinistro: 500
Valore dell'operando destro: 0
Risultato del test: True
AGGIORNAMENTO AGENDA 3/17/2004 11:27:35
Identificatore dell'istanza del motore di regole: 0f7bcdf3-8103-4990-a740-acaeee386439
Nome del set di regole: LoanProcessing
Operazione: Aggiungi
Nome regola: TestRule1
Criteri di risoluzione dei conflitti: 0
ATTIVITÀ FACT 3/17/2004 11:27:35
Identificatore dell'istanza del motore di regole: 0f7bcdf3-8103-4990-a740-acaeee386439
Nome del set di regole: LoanProcessing
Operazione: Assert
Tipo di oggetto: TypedDataRow:Northwind:CustInfo
Identificatore dell'istanza dell'oggetto: 375
TEST DI VALUTAZIONE CONDIZIONE (MATCH) 17/3/2004 11:27:35
Identificatore dell'istanza del motore di regole: 0f7bcdf3-8103-4990-a740-acaeee386439
Nome del set di regole: LoanProcessing
Espressione di test: TypedDataRow:Northwind:CustInfo.CreditCardBalance > 0
Valore dell'operando sinistro: 1000
Valore dell'operando destro: 0
Risultato del test: True
AGGIORNAMENTO AGENDA 3/17/2004 11:27:35
Identificatore dell'istanza del motore di regole: 0f7bcdf3-8103-4990-a740-acaeee386439
Nome del set di regole: LoanProcessing
Operazione: Aggiungi
Nome regola: TestRule1
Criteri di risoluzione dei conflitti: 0
ATTIVITÀ FACT 3/17/2004 11:27:35
Identificatore dell'istanza del motore di regole: 0f7bcdf3-8103-4990-a740-acaeee386439
Nome del set di regole: LoanProcessing
Operazione: Assert
Tipo di oggetto: TypedDataRow:Northwind:CustInfo
Identificatore dell'istanza dell'oggetto: 374
TEST DI VALUTAZIONE CONDIZIONE (MATCH) 17/3/2004 11:27:35
Identificatore dell'istanza del motore di regole: 0f7bcdf3-8103-4990-a740-acaeee386439
Nome del set di regole: LoanProcessing
Espressione di test: TypedDataRow:Northwind:CustInfo.CreditCardBalance > 0
Valore dell'operando sinistro: 35000
Valore dell'operando destro: 0
Risultato del test: True
AGGIORNAMENTO AGENDA 3/17/2004 11:27:35
Identificatore dell'istanza del motore di regole: 0f7bcdf3-8103-4990-a740-acaeee386439
Nome del set di regole: LoanProcessing
Operazione: Aggiungi
Nome regola: TestRule1
Criteri di risoluzione dei conflitti: 0
REGOLA ATTIVATA 3/16/2004 11:27:35 AM
Identificatore dell'istanza del motore di regole: 0f7bcdf3-8103-4990-a740-acaeee386439
Nome del set di regole: LoanProcessing
Nome regola: TestRule1
Criteri di risoluzione dei conflitti: 0
REGOLA ATTIVATA 3/16/2004 11:27:35 AM
Identificatore dell'istanza del motore di regole: 0f7bcdf3-8103-4990-a740-acaeee386439
Nome del set di regole: LoanProcessing
Nome regola: TestRule1
Criteri di risoluzione dei conflitti: 0
REGOLA ATTIVATA 3/16/2004 11:27:35 AM
Identificatore dell'istanza del motore di regole: 0f7bcdf3-8103-4990-a740-acaeee386439
Nome del set di regole: LoanProcessing
Nome regola: TestRule1
Criteri di risoluzione dei conflitti: 0
ATTIVITÀ FACT 3/17/2004 11:27:35
Identificatore dell'istanza del motore di regole: 0f7bcdf3-8103-4990-a740-acaeee386439
Nome del set di regole: LoanProcessing
Operazione: Ritiro
Tipo di oggetto: TypedDataTable:Northwind:CustInfo
Identificatore dell'istanza dell'oggetto: 377
ATTIVITÀ FACT 3/17/2004 11:27:35
Identificatore dell'istanza del motore di regole: 0f7bcdf3-8103-4990-a740-acaeee386439
Nome del set di regole: LoanProcessing
Operazione: Ritiro
Tipo di oggetto: TypedDataRow:Northwind:CustInfo
Identificatore dell'istanza dell'oggetto: 375
ATTIVITÀ FACT 3/17/2004 11:27:35
Identificatore dell'istanza del motore di regole: 0f7bcdf3-8103-4990-a740-acaeee386439
Nome del set di regole: LoanProcessing
Operazione: Ritiro
Tipo di oggetto: TypedDataRow:Northwind:CustInfo
Identificatore dell'istanza dell'oggetto: 374
ATTIVITÀ FACT 3/17/2004 11:27:35
Identificatore dell'istanza del motore di regole: 0f7bcdf3-8103-4990-a740-acaeee386439
Nome del set di regole: LoanProcessing
Operazione: Ritiro
Tipo di oggetto: TypedDataRow:Northwind:CustInfo
Identificatore dell'istanza dell'oggetto: 376
Nota
L'esempio riportato sopra indica che TypedDataTable contiene tre righe e che ciascuna è stata dichiarata come TypedDataRow. Ciascuna riga è stata valutata come True nella condizione, di conseguenza la regola è stata aggiunta all'agenda ed è stata attivata.
TypedXmlDocument
Regola di esempio "TestRule1" nel criterio "LoanProcessing":
IF Microsoft.Samples.BizTalk.LoansProcessor.Case:/Root/EmploymentType.TimeInMonths >= 4
THEN <do something>
Output:
TRACCIA MOTORE REGOLE PER RULESET: LoanProcessing 3/17/2004 9:23:05
ATTIVITÀ FACT 3/17/2004 9:23:05
Identificatore dell'istanza del motore di regole: 51ffbea4-468f-4ce8-8ab7-977cadda2e2b
Nome del set di regole: LoanProcessing
Operazione: Assert
Tipo di oggetto: TypedXmlDocument:Microsoft.Samples.BizTalk.LoansProcessor.Case
Identificatore dell'istanza dell'oggetto: 858
ATTIVITÀ FACT 3/17/2004 9:23:05
Identificatore dell'istanza del motore di regole: 51ffbea4-468f-4ce8-8ab7-977cadda2e2b
Nome del set di regole: LoanProcessing
Operazione: Assert
Tipo di oggetto: TypedXmlDocument:Microsoft.Samples.BizTalk.LoansProcessor.Case:/Root/EmploymentType
Identificatore dell'istanza dell'oggetto: 853
TEST DI VALUTAZIONE CONDIZIONE (MATCH) 17/3/2004 9:23:05
Identificatore dell'istanza del motore di regole: 51ffbea4-468f-4ce8-8ab7-977cadda2e2b
Nome del set di regole: LoanProcessing
Espressione di test: TypedXmlDocument:Microsoft.Samples.BizTalk.LoansProcessor.Case:/Root/EmploymentType.TimeInMonths >= 4
Valore dell'operando sinistro: 6
Valore dell'operando destro: 4
Risultato del test: True
AGGIORNAMENTO AGENDA 3/17/2004 9:23:05
Identificatore dell'istanza del motore di regole: 51ffbea4-468f-4ce8-8ab7-977cadda2e2b
Nome del set di regole: LoanProcessing
Operazione: Aggiungi
Nome regola: TestRule1
Criteri di risoluzione dei conflitti: 0
REGOLA ATTIVATA 3/17/2004 9:23:05
Identificatore dell'istanza del motore di regole: 51ffbea4-468f-4ce8-8ab7-977cadda2e2b
Nome del set di regole: LoanProcessing
Nome regola: TestRule1
Criteri di risoluzione dei conflitti: 0
ATTIVITÀ FACT 3/17/2004 9:23:05
Identificatore dell'istanza del motore di regole: 51ffbea4-468f-4ce8-8ab7-977cadda2e2b
Nome del set di regole: LoanProcessing
Operazione: Ritiro
Tipo di oggetto: TypedXmlDocument:Microsoft.Samples.BizTalk.LoansProcessor.Case
Identificatore dell'istanza dell'oggetto: 858
ATTIVITÀ FACT 3/17/2004 9:23:05
Identificatore dell'istanza del motore di regole: 51ffbea4-468f-4ce8-8ab7-977cadda2e2b
Nome del set di regole: LoanProcessing
Operazione: Ritiro
Tipo di oggetto: TypedXmlDocument:Microsoft.Samples.BizTalk.LoansProcessor.Case:/Root/EmploymentType
Identificatore dell'istanza dell'oggetto: 853
Questo esempio mostra che un TypedXmlDocument è stato dichiarato nel motore con un tipo di documento "Microsoft.Samples.BizTalk.LoansProcessor.Case". In base al selettore XPath definito nella regola, il motore ha quindi creato e dichiarato un typedXmlDocument figlio con tipo "Microsoft.Samples.BizTalk.LoansProcessor.Case:/Root/EmploymentType" in base al tipo di documento e alla stringa del selettore.
Questo TypedXmlDocument figlio è stato valutato True nella condizione e ha causato l'aggiornamento dell'agenda e l'attivazione della regola. I typedXmlDocument padre e figlio sono stati quindi ritirati.
Funzione UPDATE
Criterio di esempio "Ordine"
Regola "InventoryCheck"
IF Inventory.AllocateInventory == True
THEN Order.inventoryAvailable == True
Update(Order)
Regola "Ship"
IF Order.inventoryAvailable == True
THEN Shipment.ShipOrder
Output:
TRACCIA MOTORE REGOLE PER RULESET: Ordine 3/17/2004 10:31:17
ATTIVITÀ FACT 3/17/2004 10:31:17
Identificatore dell'istanza del motore di regole: 533f2fb6-a91f-49c1-8f36-e03a27ca9d72
Nome set di regole: Order
Operazione: Assert
Tipo di oggetto: TestClasses.Order
Identificatore dell'istanza dell'oggetto: 448
TEST DI VALUTAZIONE CONDIZIONE (MATCH) 3/17/2004 10:31:17
Identificatore dell'istanza del motore di regole: 533f2fb6-a91f-49c1-8f36-e03a27ca9d72
Nome set di regole: Order
Espressione di test: TestClasses.Order.inventoryAvailable == True
Valore dell'operando sinistro: null
Valore dell'operando destro: True
Risultato del test: False
ATTIVITÀ FACT 3/17/2004 10:31:17
Identificatore dell'istanza del motore di regole: 533f2fb6-a91f-49c1-8f36-e03a27ca9d72
Nome set di regole: Order
Operazione: Assert
Tipo di oggetto: TestClasses.Shipment
Identificatore dell'istanza dell'oggetto: 447
ATTIVITÀ FACT 3/17/2004 10:31:17
Identificatore dell'istanza del motore di regole: 533f2fb6-a91f-49c1-8f36-e03a27ca9d72
Nome set di regole: Order
Operazione: Assert
Tipo di oggetto: TestClasses.Inventory
Identificatore dell'istanza dell'oggetto: 446
TEST DI VALUTAZIONE CONDIZIONE (MATCH) 3/17/2004 10:31:17
Identificatore dell'istanza del motore di regole: 533f2fb6-a91f-49c1-8f36-e03a27ca9d72
Nome set di regole: Order
Espressione di test: TestClasses.Inventory.AllocateInventory == True
Valore dell'operando sinistro: True
Valore dell'operando destro: True
Risultato del test: True
AGGIORNAMENTO AGENDA 17/03/2004 10:31:17
Identificatore dell'istanza del motore di regole: 533f2fb6-a91f-49c1-8f36-e03a27ca9d72
Nome set di regole: Order
Operazione: Aggiungi
Nome regola: InventoryCheck
Criteri di risoluzione dei conflitti: 0
REGOLA ATTIVATA 3/17/2004 10:31:17
Identificatore dell'istanza del motore di regole: 533f2fb6-a91f-49c1-8f36-e03a27ca9d72
Nome set di regole: Order
Nome regola: InventoryCheck
Criteri di risoluzione dei conflitti: 0
ATTIVITÀ FACT 3/17/2004 10:31:17
Identificatore dell'istanza del motore di regole: 533f2fb6-a91f-49c1-8f36-e03a27ca9d72
Nome set di regole: Order
Operazione: Aggiornamento
Tipo di oggetto: TestClasses.Order
Identificatore dell'istanza dell'oggetto: 448
TEST DI VALUTAZIONE CONDIZIONE (MATCH) 3/17/2004 10:31:17
Identificatore dell'istanza del motore di regole: 533f2fb6-a91f-49c1-8f36-e03a27ca9d72
Nome set di regole: Order
Espressione di test: TestClasses.Order.inventoryAvailable == True
Valore dell'operando sinistro: True
Valore dell'operando destro: True
Risultato del test: True
AGGIORNAMENTO AGENDA 17/03/2004 10:31:17
Identificatore dell'istanza del motore di regole: 533f2fb6-a91f-49c1-8f36-e03a27ca9d72
Nome set di regole: Order
Operazione: Aggiungi
Nome regola: Spedizione
Criteri di risoluzione dei conflitti: 0
REGOLA ATTIVATA 3/17/2004 10:31:17
Identificatore dell'istanza del motore di regole: 533f2fb6-a91f-49c1-8f36-e03a27ca9d72
Nome set di regole: Order
Nome regola: Spedizione
Criteri di risoluzione dei conflitti: 0
ATTIVITÀ FACT 3/17/2004 10:31:17
Identificatore dell'istanza del motore di regole: 533f2fb6-a91f-49c1-8f36-e03a27ca9d72
Nome set di regole: Order
Operazione: Ritiro
Tipo di oggetto: TestClasses.Order
Identificatore dell'istanza dell'oggetto: 448
ATTIVITÀ FACT 3/17/2004 10:31:17
Identificatore dell'istanza del motore di regole: 533f2fb6-a91f-49c1-8f36-e03a27ca9d72
Nome set di regole: Order
Operazione: Ritiro
Tipo di oggetto: TestClasses.Shipment
Identificatore dell'istanza dell'oggetto: 447
ATTIVITÀ FACT 3/17/2004 10:31:17
Identificatore dell'istanza del motore di regole: 533f2fb6-a91f-49c1-8f36-e03a27ca9d72
Nome set di regole: Order
Operazione: Ritiro
Tipo di oggetto: TestClasses.Inventory
Identificatore dell'istanza dell'oggetto: 446
In questo esempio, la condizione associata alla regola Ship viene valutata False la prima volta che viene controllata. Tuttavia, quando viene eseguita la regola InventoryCheck, il campo inventoryAvailable nell'ordine viene modificato e viene emesso un comando di aggiornamento nel motore per l'oggetto ordine. La regola Ship viene quindi rivalutata. In questo caso la condizione viene valutata True e la regola Ship viene attivata.
Nota
Se le regole non sono scritte correttamente, il concatenamento dell'inoltro con la funzione di aggiornamento può provocare un ciclo infinito. In questo caso, verrà visualizzato un messaggio di errore durante il test dei criteri nella Creazione regole di business che riporta il testo "Il Motore regole di business ha rilevato un ciclo di esecuzione".