All Downloads are FREE. Search and download functionalities are using the official Maven repository.

models.autoRealization.Tests.M1.Multiplicity.Multiplicity.md Maven / Gradle / Ivy

There is a newer version: 1.4.2
Show newest version
# Multiplicity

## Description

This tests three areas where multiplicity is considered:
* **`PropertyContext.multiplicity`** matches single- or multi-valued
  properties.
* **`PropertySelector.multiplicity`** is used in `excludedProperties`
  to exclude properties based on multiplicity.  
or non-key properties. 
* **`PropertyRealization.multiplicity`** is used in `includedProperties` 
  to include properties based on multiplicity, and/or to specify 
  the realization of those properties.

## Prerequisites

This test suite builds on the `InclusivePropertySet`, `ExclusivePropertySet`,
`ReferenceLevel`, and `KeyProperties` tests.

## Tests

### Match Multiplicity

Description
The realization model defines the following rules: Root objects include all properties. Single-valued reference properties include only primitive properties. Multi-Valued reference Properties include only key properties.
RAPID Model
Multiplicity_Match.rapid
Assertions
``` Match model.tbBalanceSheetObject.check [ named("BalanceSheet_Root").selects("RootObjects") withProps [ including("balanceSheetID", "assets", "liabilities", "equity") includingRef("statement") [ named("FinancialStatement_SingleValuedRef").selects("SingleValuedRefObjects") withOnlyProps("statementID", "statementDate", "beginDate", "endDate", "fiscalYear") ] includingRef("accountingMethod") [ named("AccountingStandard_SingleValuedRef").selects("SingleValuedRefObjects") withOnlyProps("accountingStandardID", "name", "revision", "revisionDate") ] includingRef("comments") [ named("Comment_MultiValuedRef").selects("MultiValuedRefObjects") withOnlyProps("commentID") ] checkedAll ] ] ```
### Exclude Single-Valued
Description
The realization model defines the following rules: * Root objects exclude single-valued properties. * Reference properties include only key properties.
RAPID Model
Multiplicity_ExcludeSingleValued.rapid
Assertions
``` ExcludeSingleValued model.tbBalanceSheetObject.check [ named("BalanceSheet_Root").selects("RootObjects") withProps [ includingRef("comments") [ named("Comment_Ref").selects("RefObjects") withOnlyProps("commentID") ] checkedAll ] ] ```
### Exclude Multi-Valued
Description
The realization model defines the following rules: * Root objects exclude multi-valued properties. * Reference properties include only key properties.
RAPID Model
Multiplicity_ExcludeMultiValued.rapid
Assertions
``` ExcludeMultiValued model.tbBalanceSheetObject.check [ named("BalanceSheet_Root").selects("RootObjects") withProps [ including("balanceSheetID", "assets", "liabilities", "equity") includingRef("statement") [ named("FinancialStatement_Ref").selects("RefObjects") withOnlyProps("statementID") ] includingRef("accountingMethod") [ named("AccountingStandard_Ref").selects("RefObjects") withOnlyProps("accountingStandardID") ] checkedAll ] ] ```
### Include Single-Valued
Description
The realization model defines the following rules: * Root objects include only single-valued properties. * Reference properties include only key properties.
RAPID Model
Multiplicity_IncludeSingleValued.rapid
Assertions
``` IncludeSingleValued model.tbBalanceSheetObject.check [ named("BalanceSheet_Root").selects("RootObjects") withProps [ including("balanceSheetId", "assets", "liabilities", "equity") includingRef("statement") [ named("FinancialStatement_Ref").selects("RefObjects") withOnlyProps("statementID") ] includingRef("accountingMethod") [ named("AccountingStandard_Ref").selects("RefObjects") withOnlyProps("accountingStandardID") ] checkedAll ] ] ```
### Include Multi-Valued
Description
The realization model defines the following rules: * Root objects include only multi-valued properties. * Reference properties include only key properties.
RAPID Model
Multiplicity_IncludeMultiValued.rapid
Assertions
``` IncludeMultiValued model.tbBalanceSheetObject.check [ named("BalanceSheet_Root").selects("RootObject") withProps [ includingRef("comments") [ named("Comment_Ref").selects("RefObjets") withOnlyProps("commentID") ] checkedAll ] ] ```




© 2015 - 2024 Weber Informatics LLC | Privacy Policy