Members' patterns


It’s possible to validate if members are matching a pattern defined by a regular expression (regex). To achieve this, you have to specify your system-under-test as members: if you’re not familiar with the way to specify a test on members of a hierarchy, level or set, read first the page about [members].

Patterns

The xml element named matchPattern is needed for this kind of assertions

<test>
  <assert>
    <matchPattern />
  </assert>
</test>

The pattern must be expressed through a regular expression (regex). Each member’s caption will be compared to the regex and if at least one of the members’ caption doesn’t validate the pattern then the test will fail.

<assert>
	<matchPattern>
		<regex>^\s*[a-zA-Z,\s]+\s*$</regex>
	</matchPattern>
</assert>

If you’re validating that all the members of level Departments in the hierarchy named Departments of dimension Department have a literal name, you can use the following test:

<test name="All departments have a correct format" uid="0001">
  <system-under-test>
    <members children-of="Corporate">
      <level caption="Departments" hierarchy="Departments" 
             dimension="Department" perspective="Adventure Works"/>
    </members>
  </system-under-test>
  <assert>
    <matchPattern>
      <regex>^\s*[a-zA-Z,\s]+\s*$</regex>
    </matchPattern>
  </assert>
</test>