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

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

There is a newer version: 1.4.2
Show newest version
# 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




© 2015 - 2024 Weber Informatics LLC | Privacy Policy