Formula Conformance Suite
Public Working Draft of 2008-03-28
Copyright © 2008 XBRL International Inc., All Rights Reserved
This document:
  formula-CONF-PWD-2008-03-28.rtf
is non-normative.
Source files:
  formula-CONF-PWD-2008-03-28.zip
Unzip the latter to create a {ROOT} directory for the conformance suite directory hierarchy.  Open the file {ROOT}/index.xml in a browser.  This yields a hypertext navigable tree view of test set lists, and a test list in each set of tests.
Editors
Name	Contact	Affiliation	
Geoff Shuetrim	geoff@galexy.net	Galexy	
Abstract
This document describes a set of conformance tests for XBRL Formula and Assertion Processors as defined in the Formula Specification [FORMULA] and Validation Specification [VALIDATION].  These specifications are extensions of the XBRL 2.1 Specification [XBRL].
Status of this document
Circulation of this conformance suite Public Working Draft (PWD) is unrestricted. Recipients of this conformance suite PWD are invited to submit comments by email to formula-feedback@xbrl.org, and to submit notification of any relevant patent rights of which they are aware and to provide supporting documentation.

Table of Contents

1.	Introduction
This document explains the organisation and representation of the tests in the conformance suite for the Formula Specification [FORMULA] and Validation Specification [VALIDATION] and their supporting and related specifications.  It documents the information provided about each of the test cases in the conformance suite, as well as explaining the organisation of the test cases into groups relating to the main areas of functionality provided by the specifications being tested.

2.	Explanation of the tests
Test list
Every test in the conformance suite has an entry in the {ROOT}/index.xml file.  The syntax of the {ROOT}/index.xml file is constrained by the {ROOT}/infrastructure/documentation.xsd XML schema.  Each test is documented by a <testcase> element, nested within a testcases element.  Each testcase element simply provides the URL of the test case summary document.  That URL needs to prefixed by the content of the root attribute on the containing <testcases> element before being resolved.
The grouping of testcases within <testcases> elements facilitates partitioning of the test cases into different folders.  It also enables each group of test cases to be given a human-readable title.
This list of test cases can be browsed in an XSLT-capable web browser.
Test case summary
Each test case has its own test case summary file, documenting the purpose of the test, who has responsibility for maintaining it, along with the details of the inputs to each test case variation and the expected outputs.
These test case summaries are the resources that are linked to from the <testcase> elements in the test list documentation.
The syntax of each testcase summary file is constrained by the {ROOT}/infrastructure/test.xsd XML schema.
Each test case summary contains information about:
●	the test case creators
●	the (unique) test case number
●	the test case name
●	the test case description
●	zero or more references to sections of normative specifications being exercised by the test case variations
●	one or more test case variations
Each test case variation contains information about:
●	the creators of the variation (where they differ from the test case creators)
●	the optional number of the test case variation (unique within the test case)
●	the optional name of the test case variation
●	a description of the purpose of the test case variation
●	zero or more references to sections of normative specifications being exercised by the test case variations
●	information about the data supplied to the test case variation
●	information about the results expected from the test case variation
The inputs for each test case variation are a sequence of one or more of the following:
●	XML schema file URL
●	XBRL linkbase file URL
●	XBRL instance file URL (there can be at most one of these)
●	input parameter value
At least one of the file inputs MUST have a readMeFirst attribute with a value of true.
The values for the input parameters are specified using the QName of the parameter being given a value, the QName of the value's data type and the actual value that is to be given to the parameter, which is an XPath expression that is to be evaluated using an empty sequence as the context.
The expected outputs for each test case variation are either:
●	the URL of an XBRL instance that contains all of the valid facts that can be constructed by XBRL formulae in the input documents from the XBRL instance in the input documents; or
●	an error code, indicating the error that is expected to be thrown during processing of the formulae in the test case variation (if there are multiple formulae or multiple ways of evaluating the formulae given the target XBRL instance, and only one such formula or variable set evaluation produces an error, then the output is just that error, not the error and an instance for the facts produced by other evaluations.); or
●	a sequence of assertion test results, each of which contains the unique id attribute value of the assertion whose test results are being described, along with a count of the times that the assertion was tested and found to be satisfied for the target XBRL instance and a count of the times that the assertion was tested and found to be not satisfied for the target XBRL instance; or
●	a simple valid/invalid indicator (supplied as the value of the expected attribute on the <result> element) that indicates that the inputs are not valid inputs based on the specifications being tested, if the attribute is supplied and has a value of invalid.

3.	Technical details
Directory Structure
The conformance suite has a hierarchical tree structure:
•	{ROOT}
o	infrastructure – contains all supporting schemas and style-sheets.
o	tests
•	10000 Formula – Contains tests of the Formula Specification [FORMULA]. Each test is in its own folder.
•	20000 Variables – Contains tests of the Variables Specification [VARIABLE]. Each test is in its own folder.
•	30000 Assertions – Contains tests of the various assertion specifications. Each test is in its own folder.
•	40000 Filters – Contains tests of the various filter specifications supportin the fact variables defined in the Variable Specification. Each test is in its own folder.
•	70000 Linkbase – contains tests of the Generic Link [GLINK], Generic Label [GLABEL] and Generic Reference [GREF] Specifications.  Each test is in its own folder.

4.	References

[FORMULA]	Philip Engel, Herm Fischer, Victor Morilla, Jim Richards, Geoff Shuetrim, David vun Kannon, Hugh Wallis
Formula 1.0 Candidate Recommendation
http://www.xbrl.org/Specification/formula/CR-2008-03-28/ formula-CR-2008-03-28.html
	
[GLINK]	Mark Goodhand, Ignacio Hernandez-Ros, Geoff Shuetrim
Generic Link 1.0 Public Working Draft
http://www.xbrl.org/Specification/gnl/PWD-2008-03-07/ gnl-PWD-2008-03-07.html
	
[GLABEL]	Philip Engel, Herm Fischer, Victor Morilla, Jim Richards, Geoff Shuetrim, David vun Kannon, Hugh Wallis
Generic Labels 1.0 Candidate Recommendation
http://www.xbrl.org/Specification/genericLabels/CR-2008-03-28/ genericLabels-CR-2008-03-28.html
	
[GREF]	Philip Engel, Herm Fischer, Victor Morilla, Jim Richards, Geoff Shuetrim, David vun Kannon, Hugh Wallis
Generic References 1.0 Candidate Recommendation
http://www.xbrl.org/Specification/genericReferences/CR-2008-03-28/genericReferences-CR-2008-03-28.html
	
[VALIDATION]	Philip Engel, Herm Fischer, Victor Morilla, Jim Richards, Geoff Shuetrim, David vun Kannon, Hugh Wallis
Validation 1.0 Candidate Recommendation
http://www.xbrl.org/Specification/validation/CR-2008-03-28/ validation-CR-2008-03-28.html
	
[VARIABLE]	Philip Engel, Herm Fischer, Victor Morilla, Jim Richards, Geoff Shuetrim, David vun Kannon, Hugh Wallis
Variables 1.0 Candidate Recommendation
http://www.xbrl.org/Specification/variables/CR-2008-03-28/ variables-CR-2008-03-28.html
	
[XBRL]	Philip Engel, Walter Hamscher, Geoff Shuetrim, David vun Kannon and Hugh Wallis
Extensible Business Reporting Language (XBRL) 2.1 Specification
http://www.xbrl.org/2003/XBRL-RECOMMENDATION-2003-12-31.doc	

5.	Document history (non-normative)
2008-03-17	Shuetrim	First draft of document prepared and distributed.	
2008-03-19	Shuetrim	Corrected incorrect title of document.	
6.	Intellectual property status (non‑normative)
This document and translations of it may be copied and furnished to others, and derivative works that comment on or otherwise explain it or assist in its implementation may be prepared, copied, published and distributed, in whole or in part, without restriction of any kind, provided that the above copyright notice and this paragraph are included on all such copies and derivative works.  However, this document itself may not be modified in any way, such as by removing the copyright notice or references to XBRL International or XBRL organizations, except as required to translate it into languages other than English.  Members of XBRL International agree to grant certain licenses under the XBRL International Intellectual Property Policy (www.xbrl.org/legal).
This document and the information contained herein is provided on an "AS IS" basis and XBRL INTERNATIONAL DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
The attention of users of this document is directed to the possibility that compliance with or adoption of XBRL International specifications may require use of an invention covered by patent rights. XBRL International shall not be responsible for identifying patents for which a license may be required by any XBRL International specification, or for conducting legal inquiries into the legal validity or scope of those patents that are brought to its attention. XBRL International specifications are prospective and advisory only. Prospective users are responsible for protecting themselves against liability for infringement of patents.  XBRL International takes no position regarding the validity or scope of any intellectual property or other rights that might be claimed to pertain to the implementation or use of the technology described in this document or the extent to which any license under such rights might or might not be available; neither does it represent that it has made any effort to identify any such rights.  Members of XBRL International agree to grant certain licenses under the XBRL International Intellectual Property Policy (www.xbrl.org/legal).