Please wait. This can take some minutes ...
Many resources are needed to download a project. Please understand that we have to compensate our server costs. Thank you in advance.
Project price only 1 $
You can buy this project and download/modify it how often you want.
models.autoRealization.Tests.M1.Containment.Containment.md Maven / Gradle / Ivy
# Containment
## Description
This test suite covers a number of Realization Model features the deal with
containment:
* **`ReferencePropertyContext.containment`** matches reference properties
having, or not having, specific roles in a containment relationship.
* **`ReferencePropertySelector.containment`** is used in `excludedProperties`
to exclude reference properties based on containment.
or non-key properties.
* **`ReferencePropertyRealization.containment`** is used in `includedProperties`
to include reference properties, based on containment, and/or to specify
the realization of those reference properties.
## Prerequisites
This test suite builds on the `InclusivePropertySet`, `ExclusivePropertySet`,
`ReferenceLevel`, and `KeyProperties` tests.
## Tests
### ContainingRefs
Description
The realization model specifies that:
* Root objects and containing references have all properties.
* Non-containing references have only key properties.
RAPID Model
Containment_ContainingRefs.rapid
Assertions
``` ContainingRefs
model.api("TaxBlasterAPI").resource("AccountantObject").check [
named("Accountant_Root").selects("RootObjects")
withProps [
including("employeeID", "lastName", "firstName")
includingRef("officeAddress") [
named("Address_ContainingRef")
withOnlyProps("addressLine1", "addressLine2", "city", "stateOrProvince", "postalCode", "country",
"attentionLine")
]
includingRef("clients") [
named("Person_NonContainingRef").selects("NonContainingRefs")
withOnlyProps("taxpayerID")
]
checkedAll
]
]
```
### ContainerRefs
Description
The realization model specifies that:
* Root objects and containing references have all properties.
* Non-containing references have only key properties.
* Non-containment references are empty.
RAPID Model
Containment_ContainerRefs.rapid
Assertions
``` ContainerRefs
model.tbFinancialStatementObject.check [
named("FinancialStatement_Root").selects("RootObjects")
withProps [
including("statementID", "statementDate", "beginDate", "endDate", "fiscalYear")
includingRef("company") [
named("Company_NonContainmentRef").selects("NonContainmentRefs")
withNoProps
]
includingRef("balanceSheet") [
named("BalanceSheet_ContainingRef").selects("ContainingRefs")
withProps [
including("balanceSheetID", "assets", "liabilities", "equity")
includingRef("statement") [
bookmark("finStmt")
named("FinancialStatement_ContainerRef").selects("ContainerRefs")
withOnlyProps("statementID")
]
includingRef("accountingMethod") [
bookmark("acctMeth")
named("AccountingStandard_NonContainmentRef").selects("NonContainmentRefs")
withNoProps
]
includingRef("comments") [
bookmark("comments")
named("Comment_ContainingRef").selects("ContainingRefs")
withOnlyProps("commentID", "timestamp", "comment")
]
checkedAll
]
].includingRef("incomeStatement") [
named("IncomeStatement_ContainingRef").selects("ContainingRefs")
withProps [
including("incomeStatementID", "income", "expenses", "netIncome")
includingRef("statement") [
shares("finStmt")
]
includingRef("accountingMethod") [
shares("acctMeth")
]
includingRef("comments") [
shares("comments")
]
checkedAll
]
].includingRef("cashFlowStatement") [
named("CashFlowStatement_ContainingRef").selects("ContainingRefs")
withProps [
including("cashFlowStatementID", "startingCashPosition", "endingCashPosition")
includingRef("statement") [
shares("finStmt")
]
includingRef("accountingMethod") [
shares("acctMeth")
]
includingRef("comments") [
shares("comments")
]
checkedAll
]
]
checkedAll
]
]
```
### ExcludeContaining
Description
The realization model specifies that:
* Root objects include all properties except containing references.
* Reference properties include only primitive properties.
RAPID Model
Containment_ExcludeContaining.rapid
Assertions
``` ExcludeContaining
model.tbFinancialStatementObject.check [
named("FinancialStatement_Root").selects("RootObjects")
withProps [
including("statementID", "statementDate", "beginDate", "endDate", "fiscalYear")
includingRef("company") [
named("Company_Ref").selects("RefObjects")
withOnlyProps("companyID", "companyName")
]
checkedAll
]
]
```
### ExcludeContainer
Description
The realization model specifies that:
* Root objects include all properties except containing references.
* Reference properties include only primitive properties.
RAPID Model
Containment_ExcludeContainer.rapid
Assertions
``` ExcludeContainer
model.tbFinancialStatementObject.check [
named("FinancialStatement_Root").selects("RootObjects")
withProps [
including("statementID", "statementDate", "beginDate", "endDate", "fiscalYear")
includingRef("company") [
named("Company_NonContainingRef").selects("NonContainingRefs")
withOnlyProps("companyID", "companyName")
]
includingRef("balanceSheet") [
named("BalanceSheet_ContainingRef").selects("ContainingRefs")
withProps [
including("balanceSheetID", "assets", "liabilities", "equity")
includingRef("accountingMethod") [
bookmark("acctMeth")
named("AccountingStandard_NonContainingRef").selects("NonContainingRefs")
withOnlyProps("accountingStandardID", "name", "revision", "revisionDate")
]
includingRef("comments") [
bookmark("comments")
named("Comment_ContainingRef").selects("ContainingRefs")
withOnlyProps("commentID", "timestamp", "comment")
]
checkedAll
]
]
includingRef("incomeStatement") [
named("IncomeStatement_ContainingRef").selects("ContainingRefs")
withProps [
including("incomeStatementID", "income", "expenses", "netIncome")
includingRef("accountingMethod") [
shares("acctMeth")
]
includingRef("comments") [
shares("comments")
]
checkedAll
]
]
includingRef("cashFlowStatement") [
named("CashFlowStatement_ContainingRef").selects("ContainingRefs")
withProps [
including("cashFlowStatementID", "startingCashPosition", "endingCashPosition")
includingRef("accountingMethod") [
shares("acctMeth")
]
includingRef("comments") [
shares("comments")
]
checkedAll
]
]
]
]
```
### ExcludeContainment
### ExcludeNonContaining
### ExcludeNonContainer
### ExcludeNonContainment
### IncludeContaining
Description
The realization model specifies that:
* Root objects include primitive properties and containing references.
* Reference properties include only key properties.
RAPID Model
Containment_IncludeContaining.rapid
Assertions
``` IncludeContaining
model.tbFinancialStatementObject.check [
named("FinancialStatement_Root").selects("RootObjects")
withProps [
including("statementID", "statementDate", "beginDate", "endDate", "fiscalYear")
includingRef("balanceSheet") [
named("BalanceSheet_Ref").selects("RefObjects")
withOnlyProps("balanceSheetID")
]
includingRef("incomeStatement") [
named("IncomeStatement_Ref").selects("RefObjects")
withOnlyProps("incomeStatementID")
]
includingRef("cashFlowStatement") [
named("CashFlowStatement_Ref").selects("RefObjects")
withOnlyProps("cashFlowStatementID")
]
checkedAll
]
]
```
### IncludeContainer
Description
The realization model specifies that:
* Root objects include primitive properties and container references.
* Reference properties include only key properties.
RAPID Model
Containment_IncludeContainer.rapid
Assertions
``` IncludeContainer
model.tbBalanceSheetObject.check [
named("BalanceSheet_Root").selects("RootObjects")
withProps [
including("balanceSheetID", "assets", "liabilities", "equity")
includingRef("statement") [
named("FinancialStatement_Ref").selects("RefObjects")
withOnlyProps("statementID")
]
checkedAll
]
].thenCheck(model.tbIncomeStatementObject) [
named("IncomeStatement_Root").selects("RootObjects")
withProps [
including("incomeStatementID", "income", "expenses", "netIncome")
includingRef("statement") [
named("FinancialStatement_Ref").selects("RefObjects")
withOnlyProps("statementID")
]
checkedAll
]
]
```
### IncludeContainment
### IncludeNonContaining
### IncludeNonContainer
### IncludeNonContainment