(string assemblyQualifiedName)
25 | {
26 | var concordionRunnerType = Type.GetType(assemblyQualifiedName);
27 | var concordionRunnerTypeConstructor = concordionRunnerType.GetConstructor(System.Type.EmptyTypes);
28 | var concordionRunnerImpl = (T)concordionRunnerTypeConstructor.Invoke(null);
29 |
30 | return concordionRunnerImpl;
31 | }
32 | }
33 | }
34 |
--------------------------------------------------------------------------------
/Concordion/Internal/XmlSpecification.cs:
--------------------------------------------------------------------------------
1 | // Copyright 2009 Jeffrey Cameron
2 | //
3 | // Licensed under the Apache License, Version 2.0 (the "License");
4 | // you may not use this file except in compliance with the License.
5 | // You may obtain a copy of the License at
6 | //
7 | // http://www.apache.org/licenses/LICENSE-2.0
8 | //
9 | // Unless required by applicable law or agreed to in writing, software
10 | // distributed under the License is distributed on an "AS IS" BASIS,
11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | // See the License for the specific language governing permissions and
13 | // limitations under the License.
14 |
15 | using System;
16 | using System.Collections.Generic;
17 | using System.Linq;
18 | using System.Text;
19 | using Concordion.Api;
20 |
21 | namespace Concordion.Internal
22 | {
23 | public class XmlSpecification : ISpecification
24 | {
25 | private CommandCall RootCommandNode
26 | {
27 | get;
28 | set;
29 | }
30 |
31 | public XmlSpecification(CommandCall rootCommandNode)
32 | {
33 | RootCommandNode = rootCommandNode;
34 | }
35 |
36 | public void Process(IEvaluator evaluator, IResultRecorder resultRecorder)
37 | {
38 | RootCommandNode.Execute(evaluator, resultRecorder);
39 | }
40 | }
41 | }
42 |
--------------------------------------------------------------------------------
/Concordion/Properties/AssemblyInfo.cs:
--------------------------------------------------------------------------------
1 | //------------------------------------------------------------------------------
2 | //
3 | // This code was generated by a tool.
4 | // Runtime Version:2.0.50727.4952
5 | //
6 | // Changes to this file may cause incorrect behavior and will be lost if
7 | // the code is regenerated.
8 | //
9 | //------------------------------------------------------------------------------
10 |
11 | using System;
12 | using System.Reflection;
13 | using System.Resources;
14 | using System.Runtime.CompilerServices;
15 | using System.Runtime.InteropServices;
16 |
17 | [assembly: AssemblyTitle("Concordion.NET")]
18 | [assembly: AssemblyDescription("Concordion Acceptance Testing Framework")]
19 | [assembly: AssemblyCompany("concordion.org")]
20 | [assembly: AssemblyProduct("Concordion")]
21 | [assembly: AssemblyCopyright("Copyright © concordion.org 2015")]
22 | [assembly: ComVisible(false)]
23 | [assembly: CLSCompliant(true)]
24 | [assembly: Guid("923eb1d8-0d6a-4a05-896c-16f127f2944f")]
25 | [assembly: AssemblyVersion("0.1.99.9999")]
26 | [assembly: AssemblyFileVersion("0.1.99.9999")]
27 |
28 |
29 |
--------------------------------------------------------------------------------
/Concordion/Resources/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/concordion/concordion-net/643b7c09d5b3c0e076845fb165e2a8342a149017/Concordion/Resources/logo.png
--------------------------------------------------------------------------------
/Concordion/Resources/visibility-toggler.js:
--------------------------------------------------------------------------------
1 | /* Stack Trace Toggling */
2 |
3 | function getElementById(id) {
4 | var element;
5 |
6 | if (document.getElementById) { // standard
7 | return document.getElementById(id);
8 | } else if (document.all) { // old IE versions
9 | return document.all[id];
10 | } else if (document.layers) { // nn4
11 | return document.layers[id];
12 | }
13 | alert("Sorry, but your web browser is not supported by Concordion.");
14 | }
15 |
16 | function isVisible(element) {
17 | return element.style.display;
18 | }
19 |
20 | function makeVisible(element) {
21 | element.style.display = "block";
22 | }
23 |
24 | function makeInvisible(element) {
25 | element.style.display = "";
26 | }
27 |
28 | function toggleStackTrace(stackTraceNumber) {
29 | var stackTrace = getElementById("stackTrace" + stackTraceNumber);
30 | var stackTraceButton = getElementById("stackTraceButton" + stackTraceNumber);
31 | if (isVisible(stackTrace)) {
32 | makeInvisible(stackTrace);
33 | stackTraceButton.value = "View Stack";
34 | } else {
35 | makeVisible(stackTrace);
36 | stackTraceButton.value = "Hide Stack";
37 | }
38 | }
39 |
--------------------------------------------------------------------------------
/LICENSE.md:
--------------------------------------------------------------------------------
1 | Copyright 2010-2015 concordion.org
2 |
3 | Licensed under the Apache License, Version 2.0 (the "License");
4 | you may not use this file except in compliance with the License.
5 | You may obtain a copy of the License at
6 |
7 | http://www.apache.org/licenses/LICENSE-2.0
8 |
9 | Unless required by applicable law or agreed to in writing, software
10 | distributed under the License is distributed on an "AS IS" BASIS,
11 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | See the License for the specific language governing permissions and
13 | limitations under the License.
14 |
--------------------------------------------------------------------------------
/build.cmd:
--------------------------------------------------------------------------------
1 | "C:\WINDOWS\Microsoft.NET\Framework\v3.5\msbuild.exe" concordion.msbuild
--------------------------------------------------------------------------------
/doc/Concordion/Attributes/Attributes.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
14 |
15 |
16 |
17 |
18 | Attributes associated with Fixture Classes
19 |
20 |
21 | Concordion.NET does not use inheritance or naming conventions to
22 | identify its test classes. Instead attributes are used for this purpose.
23 | Thus, the developer is free to use inheritance for his own purpose and
24 | use names that convey the intended purpose of the fixture code. The
25 | following attributes can be used with Concordion.NET:
26 |
27 | [ConcordionTest]
28 | indicates that the associated class is a Concordion.NET test fixture.
29 | [Ignore] marks a Concordion.NET
30 | test class to be ignored by NUnit test runners.
31 | [TestFixtureSetUp] is
32 | used to show that the associated methods are called for initialization
33 | before the execution of the test code.
34 |
35 |
36 |
37 |
38 |
--------------------------------------------------------------------------------
/doc/Concordion/Command/AssertEquals/NestedActions.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Nested Actions
6 |
7 |
8 | Though nested elements are supported, these
9 | elements may not contain commands. An "illegal markup" exception will be reported if
10 | any nested commands are detected.
11 |
12 |
13 |
14 |
15 |
Example
16 |
17 |
The following will result in an "illegal markup " exception being raised:
18 |
19 |
20 | <span concordion:assertEquals="#fullName">Fred
21 | <span concordion:set="#surname">Bloggs</span>
22 | </span>
23 |
24 |
25 |
26 |
27 |
28 |
--------------------------------------------------------------------------------
/doc/Concordion/Command/AssertEquals/NonString/NullResult.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Null Result
6 |
7 |
8 | If the evaluation result is null
then the string
9 | "(null)" is used for performing the comparison.
10 |
11 |
12 |
13 |
14 |
Example
15 |
16 |
17 | <span concordion:assertEquals="myMethod()">(some expectation) </span>
18 |
19 |
20 |
21 |
22 | myMethod() Returns
23 | The Expectation
24 | Outcome
25 |
26 |
27 | null
28 | (null)
29 | SUCCESS
30 |
31 |
32 | null
33 | xyz
34 | FAILURE
35 |
36 |
37 | null
38 | null
39 | FAILURE
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
--------------------------------------------------------------------------------
/doc/Concordion/Command/AssertEquals/NonString/VoidResult.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Void Result
6 |
7 |
8 | If an expression returns a method that returns void
then
9 | the result is treated as null
.
10 |
11 |
12 |
13 |
14 |
Example
15 |
16 |
Given we have the following method in our fixture code:
17 |
18 |
19 | public void myVoidMethod() {
20 | ...
21 | }
22 |
23 |
24 |
25 |
26 | Then the following markup will cause a SUCCESS
27 | to be reported, since no return value can be obtained from myVoidMethod()
28 | the result is taken to be null
:
29 |
30 |
31 |
32 | <span concordion:assertEquals="myVoidMethod()">(null)</span>
33 |
34 |
35 |
36 |
37 |
38 |
39 | And, to demonstrate a counter-example, the following markup will report
40 | a FAILURE :
41 |
42 |
43 |
44 | <span concordion:assertEquals="myVoidMethod()">xyz</span>
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
--------------------------------------------------------------------------------
/doc/Concordion/Command/AssertEquals/SupportedElements.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Supported Elements
6 |
7 |
8 | The assertEquals
command can currently be used on any HTML element.
9 | There are currently no checks.
10 |
11 | However, you should avoid using the command on elements that cannot legally
12 | have a <span>
child (e.g. <table>
,
13 | <tr>
, <ul>
, <ol>
).
14 |
15 |
16 |
17 |
18 |
Examples
19 |
20 |
All of these will work:
21 |
22 |
23 | <span concordion:assertEquals="#name">Fred</span>
24 |
25 |
26 |
27 | <strong concordion:assertEquals="#name">Fred</strong>
28 |
29 |
30 |
31 | <div concordion:assertEquals="#name">Fred</div>
32 |
33 |
34 |
35 | <table>
36 | <tr>
37 | <td concordion:assertEquals="#name">Fred</td>
38 | </tr>
39 | </table>
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
--------------------------------------------------------------------------------
/doc/Concordion/Command/AssertEquals/contents.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | assertequals - Further Details
6 |
7 |
16 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/doc/Concordion/Command/Command.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Commands
6 |
7 |
8 | The following commands are available:
9 |
10 |
11 |
21 |
22 | Further Details
23 |
27 |
28 |
29 |
--------------------------------------------------------------------------------
/doc/Concordion/Command/Echo/Echo.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | echo
6 |
7 |
8 | The concordion:echo
tag evaluates an expression and inserts
9 | the result into the output HTML.
10 |
11 |
12 |
13 |
14 |
Example
15 |
16 |
17 | If the expression "username "
18 | evaluates to "jbloggs " and we
19 | have the following instrumentation in our specification:
20 |
21 |
22 |
23 | <p>
24 | Username: <span concordion:echo="username" />
25 | </p>
26 |
27 |
28 |
Then we expect the following output:
29 |
30 |
31 | <p>
32 | Username: <span concordion:echo="username">jbloggs</span>
33 | </p>
34 |
35 |
36 |
37 |
38 | Further Details
39 |
40 |
44 |
45 |
46 |
47 |
48 |
--------------------------------------------------------------------------------
/doc/Concordion/Command/Execute/Execute.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | "execute"
5 |
6 |
7 |
8 | execute
9 |
10 |
11 | An execute
command lets you run a method in the
12 | fixture code.
13 |
14 |
15 |
16 |
17 |
Example
18 |
19 |
The following instrumentation:
20 |
21 | <p concordion:execute="myMethod()">Some text goes here.</p>
22 |
23 |
24 | Will
25 | call myMethod()
in the fixture code.
26 |
27 |
28 |
29 |
30 | Further Details
31 |
32 |
38 |
39 |
40 |
41 |
42 |
--------------------------------------------------------------------------------
/doc/Concordion/Command/Set/Set.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | "set"
5 |
6 |
7 |
8 | set
9 |
10 |
11 | A set
command sets a temporary variable to the
12 | text contents of the instrumented element, so that it can
13 | be referenced by another command.
14 |
15 |
16 |
17 |
18 |
Example
19 |
20 |
The following instrumentation:
21 |
22 | <p>
23 | My name is <b concordion:set="#fullName">David Peterson</b>.
24 |
25 | <span concordion:execute="setUpUser(#fullName)" />
26 | </p>
27 |
28 |
29 | Calls the method setUpUser()
with the
30 | string value
31 | David Peterson
.
32 |
33 |
34 |
35 |
36 |
37 |
38 |
--------------------------------------------------------------------------------
/doc/Concordion/Configuration/BaseOutputDirectory.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | BaseOutputDirectory
6 | The BaseOutputDirectory
element tells Concordion.NET
7 | where to place the resulting Concordion test reports. If this element is
8 | not specified then Concordion.NET places the output in the directory
9 | defined by the users TEMP environment variable.
10 |
11 |
<?xml version="1.0" encoding="utf-8" ?>
12 | <Specification>
13 | <BaseOutputDirectory path="C:\Dev\concordion-net\Results" />
14 | </Specification>
15 |
16 |
17 |
--------------------------------------------------------------------------------
/doc/Concordion/Configuration/SpecificationSuffix.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | File extensions for specification documents
6 | Per default Concordion.NET assumes that specification documents have the
7 | file extension ".html". With the SpecificationFileExtensions
8 | you can define which file extensions you want to use for your specification
9 | documents. You can even use several in parallel. This can be useful, when
10 | you are in the transition from one type of files to another (e.g. from html
11 | to xhtml).
12 | To specify that html as well as xhmtl files should be considered as
13 | Concordion.NET specifications, you need to add the following configuration
14 | settings to your configuration:
15 | <?xml version="1.0" encoding="utf-8" ?>
16 | <Specification>
17 | <SpecificationFileExtensions>
18 | <FileExtension name="html" />
19 | <FileExtension name="xhtml" />
20 | </SpecificationFileExtensions>
21 | </Specification>
22 |
23 |
--------------------------------------------------------------------------------
/doc/Concordion/Configuration/SpecificationSuffixXhtml.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Specification Suffix for XHTML
6 |
7 |
8 | Concordion can read and write to files using different file suffixes by configuring using the withSpecificationLocator()
and
9 | withTarget()
methods.
10 |
11 |
12 |
13 |
14 |
Example
15 |
16 |
This specification uses a suffix of ".xhtml" and has been processed by Concordion.
17 |
See FileSuffixExtensionsTest.cs
for implementation details.
18 |
19 |
20 |
21 |
--------------------------------------------------------------------------------
/doc/Concordion/Configuration/SpecificationSuffixXhtml.xhtml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Specification Suffix for XHTML
6 |
7 |
8 | Concordion can read and write to files using different file suffixes by configuring using the withSpecificationLocator()
and
9 | withTarget()
methods.
10 |
11 |
12 |
13 |
14 |
Example
15 |
16 |
This specification uses a suffix of ".xhtml" and has been processed by Concordion.
17 |
See FileSuffixExtensionsTest.cs
for implementation details.
18 |
19 |
20 |
21 |
--------------------------------------------------------------------------------
/doc/Concordion/Extension/Command/CustomCommand.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Custom Commands
6 |
7 |
8 | Users can add their own commands to Concordion as extensions . User-contributed commands must use their own namespace that must not start with Concordion
.
9 | Custom commands are automatically wrapped with a class that will notify ExceptionCaughtListeners
of any Exceptions
that are thrown by the command.
10 |
11 |
12 |
13 |
14 |
Example
15 |
16 |
An extension is installed that adds the log
command in the http://myorg.org/my/extension
namespace. This command simply logs the element text.
17 |
Running a specification containing:
18 |
19 | <div xmlns:myext="http://myorg.org/my/extension">
20 | <p myext:log="">The answer is 42</p>
21 | </div>
22 |
23 |
24 |
25 |
logs:
26 |
27 |
28 | Output
29 | The answer is 42
30 |
31 |
32 |
33 |
34 |
35 |
--------------------------------------------------------------------------------
/doc/Concordion/Extension/Extension.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | Extension
8 | A Concordion extension
introduces additional functionality to Concordion. Extensions are able to:
9 |
10 |
18 | Further Questions
19 |
22 |
23 |
24 |
--------------------------------------------------------------------------------
/doc/Concordion/Extension/FileSuffix/FileSuffixExtensions.xhtml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | File Suffix Extensions
6 |
7 |
8 | Concordion can read and write to files using different file suffixes by configuring an extension using the withSpecificationLocator()
and
9 | withTarget()
methods.
10 |
11 |
12 |
13 |
14 |
Example
15 |
16 |
This specification uses a suffix of ".xhtml" and has been processed by Concordion.
17 |
See FileSuffixExtensionsTest.cs
for implementation details.
18 |
19 |
20 |
21 |
--------------------------------------------------------------------------------
/doc/Concordion/Integration/Constructor.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | Using Constructor of Fixture Class for Initialization
8 | Similar to xUnit.NET , where setup of test is accomplished through a
9 | parameterless constructor, constructors of fixture classes can be used with
10 | Concordion.NET to setup execution of active specifications. Before the execution of
11 | all examples within an
12 | active specification the constructor without parameters is called.
13 |
14 |
Example
15 |
The fixture class for this specification contains a parameterless
16 | constructor, which is called once
17 | on test execution .
18 |
19 |
20 |
21 |
--------------------------------------------------------------------------------
/doc/Concordion/Integration/Integration.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Integration
5 |
6 |
7 |
8 | Running Active Specifications
9 |
10 |
11 | Concordion.NET integrates with
12 | one of the most popular testing frameworks, NUnit. Concordion.NET
13 | provides an NUnit-Addin that allows executing active
14 | specifications. Please, see the information below for more details on
15 | test execution:
16 |
24 |
25 |
--------------------------------------------------------------------------------
/doc/Concordion/Integration/SetupMethod.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | Using TestFixtureSetUp Attribute to Run before Test Execution
8 | NUnit provides a mechanism to call functions just before each test
9 | execution. This is accomplished with the help of the NUnit
10 | TestFixtureSetUpAttribute .
11 | This mechanism can be used in Concordion.NET as well. All methods marked
12 | with the attribute [TestFixtureSetUp] are executed before the actual processing of
13 | the active specification.
14 |
15 |
Example
16 |
The test fixture class for this specification contains two method with
17 | the TestFixtureSetUp attribute, which are
18 | called before test execution .
19 |
20 | Further Details
21 |
24 |
25 |
26 |
--------------------------------------------------------------------------------
/doc/Concordion/Results/AssertEquals/Failure/Anchors.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Anchor Elements
6 |
7 |
8 | Anchor elements (<a>) have to be treated slightly differently to
9 | other elements to prevent the 'actual' value becoming a link. Rather than
10 | nesting <span> elements inside the <a>, we nest the <a>
11 | inside a new 'failure' <span>.
12 |
13 |
14 |
15 |
16 |
Example:
17 |
18 |
<a href="abc.html">ABC</a>
19 |
20 |
When marked as a failure, with actual value XYZ
, it becomes:
21 |
22 |
23 | <span class="failure"> _
24 | <span class="expected"> _
25 | <a href="abc.html">ABC</a> _
26 | </span> _
27 | <span class="actual">XYZ</span> _
28 | </div>
29 |
30 |
31 |
32 |
33 |
--------------------------------------------------------------------------------
/doc/Concordion/Results/AssertEquals/Failure/NestedElements.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Nested Elements
6 |
7 |
8 | Nested elements are moved into the 'expected' span.
9 |
10 |
11 |
12 |
13 |
Example
14 |
15 |
<div concordion:assertEquals="acronym">My <em>simple</em> example</div>
16 |
17 |
When marked as a failure, with actual value XYZ
, it becomes:
18 |
19 |
20 | <div concordion:assertEquals="acronym" class="failure">
21 | <del class="expected">My <em>simple</em> example</del>
22 | <ins class="actual">XYZ</ins>
23 | </div>
24 |
25 |
26 |
27 |
28 |
--------------------------------------------------------------------------------
/doc/Concordion/Results/AssertEquals/Success/EmptySuccess.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Empty Elements
6 |
7 |
8 | If the element is empty then a non-breaking space ( ) is inserted so
9 | that there is something there to show the success.
10 |
11 |
12 |
13 |
14 |
Example
15 |
16 |
<span concordion:assertEquals="username"/>
17 |
18 |
When marked as a success becomes:
19 |
20 |
<span concordion:assertEquals="username" class="success"> </span>
21 |
22 |
23 |
24 |
--------------------------------------------------------------------------------
/doc/Concordion/Results/AssertEquals/Success/HasAttributes.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Element Already Has Attributes
6 |
7 |
8 | If an element already has attributes then these attributes will be
9 | retained.
10 |
11 |
12 |
13 |
14 |
Example
15 |
16 |
<span id="example" concordion:assertEquals="username">fred</span>
17 |
18 |
When marked as a success becomes:
19 |
20 |
<span id="example" concordion:assertEquals="username" class="success">fred</span>
21 |
22 |
23 | Further Details
24 |
25 |
28 |
29 |
30 |
--------------------------------------------------------------------------------
/doc/Concordion/Results/AssertEquals/Success/HasClassAttribute.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Element Already Has A Class Attribute
6 |
7 |
8 | If an element already has a class attribute then the new attribute will
9 | be appended to the existing value, separated by space.
10 |
11 |
12 |
13 |
14 |
Example
15 |
16 |
<span concordion:assertEquals="username" class="blah">fred</span>
17 |
18 |
When marked as a success becomes:
19 |
20 |
<span concordion:assertEquals="username" class="blah success">fred</span>
21 |
22 |
23 |
24 |
--------------------------------------------------------------------------------
/doc/Concordion/Results/AssertEquals/Success/Success.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Success
6 |
7 |
8 | Successes are indicated by adding a class="success"
attribute to the element.
9 | Typically this will result in the element being displayed in green (depending on the CSS stylesheet).
10 |
11 |
12 |
13 |
14 |
Example
15 |
16 |
17 | <span concordion:assertEquals="username">fred</span>
18 |
19 |
20 |
When marked as a success becomes:
21 |
22 |
23 | <span concordion:assertEquals="username" class="success">fred</span>
24 |
25 |
26 |
27 | Further Details
28 |
29 |
33 |
34 |
35 |
--------------------------------------------------------------------------------
/doc/Concordion/Results/AssertFalse/Failure/OnFailure.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Failures
5 |
6 |
7 |
8 | Failures
9 |
10 |
11 | Failures are indicated by adding a class="failure"
attribute to the element,
12 | and replacing the contents with a <del>
and <ins>
13 | elements containing the expected value and the actual value respectively.
14 |
15 |
16 |
17 |
18 |
Example
19 |
20 |
21 | The output of running this:
22 |
23 |
24 |
<p concordion:assertFalse="isPalindrome(#TEXT)">ABBA</p>
25 |
26 |
Looks like this:
27 |
28 |
29 | <p concordion:assertFalse="isPalindrome(#TEXT)" class="failure">
30 | <del class="expected">ABBA</del>
31 | <ins class="actual">== true</ins>
32 | </p>
33 |
34 |
Note: The underscores indicate line continuations for readability only. They are not output. In reality, it is all in one long line.
35 |
36 |
37 |
38 |
39 |
--------------------------------------------------------------------------------
/doc/Concordion/Results/AssertFalse/Success/OnSuccess.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Success
5 |
6 |
7 |
8 | Success
9 |
10 |
11 | Successes are indicated by adding a class="success"
attribute to the element.
12 |
13 |
14 |
15 |
16 |
Example
17 |
18 |
19 | The output of running this:
20 |
21 |
22 |
<p concordion:assertFalse="isPalindrome(#TEXT)">ABB</p>
23 |
24 |
Looks like this:
25 |
26 |
27 | <p concordion:assertFalse="isPalindrome(#TEXT)" class="success">ABB</p>
28 |
29 |
30 |
31 |
32 |
33 |
--------------------------------------------------------------------------------
/doc/Concordion/Results/AssertTrue/Failure/Failure.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Failures
5 |
6 |
7 |
8 | Failures
9 |
10 |
11 | Failures are indicated by adding a class="failure"
attribute to the element,
12 | and replacing the contents with a <del>
and <ins>
13 | elements containing the expected value and the actual value respectively.
14 |
15 |
16 |
17 |
18 |
Example
19 |
20 |
21 | The output of running this:
22 |
23 |
24 |
<p concordion:assertTrue="isPalindrome(#TEXT)">ABB</p>
25 |
26 |
Looks like this:
27 |
28 |
29 | <p concordion:assertTrue="isPalindrome(#TEXT)" class="failure">
30 | <del class="expected">ABB</del>
31 | <ins class="actual">== false</ins>
32 | </p>
33 |
34 |
Note: The underscores indicate line continuations for readability only. They are not output. In reality, it is all in one long line.
35 |
36 |
37 |
38 |
39 |
--------------------------------------------------------------------------------
/doc/Concordion/Results/AssertTrue/Success/Success.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Success
5 |
6 |
7 |
8 | Success
9 |
10 |
11 | Successes are indicated by adding a class="success"
attribute to the element.
12 |
13 |
14 |
15 |
16 |
Example
17 |
18 |
19 | The output of running this:
20 |
21 |
22 |
<p concordion:assertTrue="isPalindrome(#TEXT)">ABBA</p>
23 |
24 |
Looks like this:
25 |
26 |
27 | <p concordion:assertTrue="isPalindrome(#TEXT)" class="success">ABBA</p>
28 |
29 |
30 |
31 |
32 |
33 |
--------------------------------------------------------------------------------
/doc/Examples/Demo.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Demo
6 |
7 |
8 | After a user logs into the system, a greeting is
9 | displayed saying "Hello [user's first name]!"
10 |
11 |
12 |
13 |
14 |
Example
15 |
16 |
17 | When user Bob
18 | logs in, the greeting will be:
19 | Hello Bob!
20 |
21 |
22 |
23 | The first name starts
24 | with B .
25 |
26 |
27 |
28 | The first name starts
29 | with B .
30 |
31 |
32 |
33 |
34 |
--------------------------------------------------------------------------------
/doc/Examples/PartialMatches.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Partial Matches
6 |
7 |
8 | Username searches return partial matches, i.e. all usernames containing
9 | the search string are returned.
10 |
11 |
12 |
13 |
14 |
Example
15 |
16 |
Given these users:
17 |
18 |
19 | Username
20 | john.lennon
21 | ringo.starr
22 | george.harrison
23 | paul.mcartney
24 |
25 |
26 |
Searching for "arr " will return:
27 |
28 |
29 | Matching Usernames
30 | ringo.starr
31 | george.harrison
32 |
33 |
34 |
35 |
36 |
37 |
--------------------------------------------------------------------------------
/doc/Examples/Spike.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Spike
6 |
7 |
8 | Spike
9 |
10 |
11 | The greeting Hello David!
12 | should be displayed for David
13 | when he logs in.
14 |
15 |
16 |
17 |
18 |
19 |
20 | First Name
21 | Last Name
22 |
23 |
24 | John
25 | Travolta
26 |
27 |
28 |
29 |
30 |
--------------------------------------------------------------------------------
/doc/image/AnatomyOfAnActiveSpec.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/concordion/concordion-net/643b7c09d5b3c0e076845fb165e2a8342a149017/doc/image/AnatomyOfAnActiveSpec.jpg
--------------------------------------------------------------------------------
/doc/image/ClassicalSpecification.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/concordion/concordion-net/643b7c09d5b3c0e076845fb165e2a8342a149017/doc/image/ClassicalSpecification.jpg
--------------------------------------------------------------------------------
/doc/image/DocumentationSpecification.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/concordion/concordion-net/643b7c09d5b3c0e076845fb165e2a8342a149017/doc/image/DocumentationSpecification.jpg
--------------------------------------------------------------------------------
/doc/image/ExternalLink.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/concordion/concordion-net/643b7c09d5b3c0e076845fb165e2a8342a149017/doc/image/ExternalLink.png
--------------------------------------------------------------------------------
/doc/image/HelloWorldSuccess.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/concordion/concordion-net/643b7c09d5b3c0e076845fb165e2a8342a149017/doc/image/HelloWorldSuccess.jpg
--------------------------------------------------------------------------------
/doc/image/HowItWorks.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/concordion/concordion-net/643b7c09d5b3c0e076845fb165e2a8342a149017/doc/image/HowItWorks.jpg
--------------------------------------------------------------------------------
/doc/image/NuGet_logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/concordion/concordion-net/643b7c09d5b3c0e076845fb165e2a8342a149017/doc/image/NuGet_logo.png
--------------------------------------------------------------------------------
/doc/image/NunitResult.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/concordion/concordion-net/643b7c09d5b3c0e076845fb165e2a8342a149017/doc/image/NunitResult.jpg
--------------------------------------------------------------------------------
/doc/image/ReSharperSessions.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/concordion/concordion-net/643b7c09d5b3c0e076845fb165e2a8342a149017/doc/image/ReSharperSessions.jpg
--------------------------------------------------------------------------------
/doc/image/SpecificationProperties.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/concordion/concordion-net/643b7c09d5b3c0e076845fb165e2a8342a149017/doc/image/SpecificationProperties.jpg
--------------------------------------------------------------------------------
/doc/image/concordion-logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/concordion/concordion-net/643b7c09d5b3c0e076845fb165e2a8342a149017/doc/image/concordion-logo.png
--------------------------------------------------------------------------------
/doc/image/download.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/concordion/concordion-net/643b7c09d5b3c0e076845fb165e2a8342a149017/doc/image/download.gif
--------------------------------------------------------------------------------
/doc/image/example/online-shop/AcceptanceTest.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/concordion/concordion-net/643b7c09d5b3c0e076845fb165e2a8342a149017/doc/image/example/online-shop/AcceptanceTest.png
--------------------------------------------------------------------------------
/doc/image/example/online-shop/ConcordionRunExample.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/concordion/concordion-net/643b7c09d5b3c0e076845fb165e2a8342a149017/doc/image/example/online-shop/ConcordionRunExample.png
--------------------------------------------------------------------------------
/doc/image/example/online-shop/RoughScope.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/concordion/concordion-net/643b7c09d5b3c0e076845fb165e2a8342a149017/doc/image/example/online-shop/RoughScope.png
--------------------------------------------------------------------------------
/doc/image/example/online-shop/StoryCard.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/concordion/concordion-net/643b7c09d5b3c0e076845fb165e2a8342a149017/doc/image/example/online-shop/StoryCard.png
--------------------------------------------------------------------------------
/doc/image/example/online-shop/StoryPage.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/concordion/concordion-net/643b7c09d5b3c0e076845fb165e2a8342a149017/doc/image/example/online-shop/StoryPage.png
--------------------------------------------------------------------------------
/doc/image/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/concordion/concordion-net/643b7c09d5b3c0e076845fb165e2a8342a149017/doc/image/favicon.ico
--------------------------------------------------------------------------------
/doc/image/flag/chinese.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/concordion/concordion-net/643b7c09d5b3c0e076845fb165e2a8342a149017/doc/image/flag/chinese.png
--------------------------------------------------------------------------------
/doc/image/flag/french.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/concordion/concordion-net/643b7c09d5b3c0e076845fb165e2a8342a149017/doc/image/flag/french.png
--------------------------------------------------------------------------------
/doc/image/flag/german.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/concordion/concordion-net/643b7c09d5b3c0e076845fb165e2a8342a149017/doc/image/flag/german.png
--------------------------------------------------------------------------------
/doc/image/flag/polish.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/concordion/concordion-net/643b7c09d5b3c0e076845fb165e2a8342a149017/doc/image/flag/polish.png
--------------------------------------------------------------------------------
/doc/image/flag/portuguese.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/concordion/concordion-net/643b7c09d5b3c0e076845fb165e2a8342a149017/doc/image/flag/portuguese.png
--------------------------------------------------------------------------------
/doc/image/flag/russian.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/concordion/concordion-net/643b7c09d5b3c0e076845fb165e2a8342a149017/doc/image/flag/russian.png
--------------------------------------------------------------------------------
/doc/image/flag/spanish.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/concordion/concordion-net/643b7c09d5b3c0e076845fb165e2a8342a149017/doc/image/flag/spanish.png
--------------------------------------------------------------------------------
/doc/image/front-page-banner.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/concordion/concordion-net/643b7c09d5b3c0e076845fb165e2a8342a149017/doc/image/front-page-banner.png
--------------------------------------------------------------------------------
/doc/image/opensource-110x95.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/concordion/concordion-net/643b7c09d5b3c0e076845fb165e2a8342a149017/doc/image/opensource-110x95.png
--------------------------------------------------------------------------------
/doc/image/project-structure.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/concordion/concordion-net/643b7c09d5b3c0e076845fb165e2a8342a149017/doc/image/project-structure.jpg
--------------------------------------------------------------------------------
/doc/image/social/facebook.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/concordion/concordion-net/643b7c09d5b3c0e076845fb165e2a8342a149017/doc/image/social/facebook.png
--------------------------------------------------------------------------------
/doc/image/social/google-plus.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/concordion/concordion-net/643b7c09d5b3c0e076845fb165e2a8342a149017/doc/image/social/google-plus.png
--------------------------------------------------------------------------------
/doc/image/social/linkedin.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/concordion/concordion-net/643b7c09d5b3c0e076845fb165e2a8342a149017/doc/image/social/linkedin.png
--------------------------------------------------------------------------------
/doc/image/social/pinterest.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/concordion/concordion-net/643b7c09d5b3c0e076845fb165e2a8342a149017/doc/image/social/pinterest.png
--------------------------------------------------------------------------------
/doc/image/social/twitter.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/concordion/concordion-net/643b7c09d5b3c0e076845fb165e2a8342a149017/doc/image/social/twitter.png
--------------------------------------------------------------------------------
/tools/MSBuildCommunityTasks/ICSharpCode.SharpZipLib.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/concordion/concordion-net/643b7c09d5b3c0e076845fb165e2a8342a149017/tools/MSBuildCommunityTasks/ICSharpCode.SharpZipLib.dll
--------------------------------------------------------------------------------
/tools/MSBuildCommunityTasks/MSBuild.Community.Tasks.License.txt:
--------------------------------------------------------------------------------
1 | Copyright (c) 2009, pwelter34
2 | All rights reserved.
3 |
4 | Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
5 |
6 | * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
7 | * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
8 | * Neither the name of the nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
9 |
10 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
--------------------------------------------------------------------------------
/tools/MSBuildCommunityTasks/MSBuild.Community.Tasks.chm:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/concordion/concordion-net/643b7c09d5b3c0e076845fb165e2a8342a149017/tools/MSBuildCommunityTasks/MSBuild.Community.Tasks.chm
--------------------------------------------------------------------------------
/tools/MSBuildCommunityTasks/MSBuild.Community.Tasks.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/concordion/concordion-net/643b7c09d5b3c0e076845fb165e2a8342a149017/tools/MSBuildCommunityTasks/MSBuild.Community.Tasks.dll
--------------------------------------------------------------------------------
/tools/MSBuildCommunityTasks/MSBuild.Community.Tasks.pdb:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/concordion/concordion-net/643b7c09d5b3c0e076845fb165e2a8342a149017/tools/MSBuildCommunityTasks/MSBuild.Community.Tasks.pdb
--------------------------------------------------------------------------------
/tools/Moq/Moq.chm:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/concordion/concordion-net/643b7c09d5b3c0e076845fb165e2a8342a149017/tools/Moq/Moq.chm
--------------------------------------------------------------------------------
/tools/Moq/Moq.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/concordion/concordion-net/643b7c09d5b3c0e076845fb165e2a8342a149017/tools/Moq/Moq.dll
--------------------------------------------------------------------------------
/tools/Moq/Moq.pdb:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/concordion/concordion-net/643b7c09d5b3c0e076845fb165e2a8342a149017/tools/Moq/Moq.pdb
--------------------------------------------------------------------------------
/tools/NUnit-2.6.4/nunit.core.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/concordion/concordion-net/643b7c09d5b3c0e076845fb165e2a8342a149017/tools/NUnit-2.6.4/nunit.core.dll
--------------------------------------------------------------------------------
/tools/NUnit-2.6.4/nunit.core.interfaces.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/concordion/concordion-net/643b7c09d5b3c0e076845fb165e2a8342a149017/tools/NUnit-2.6.4/nunit.core.interfaces.dll
--------------------------------------------------------------------------------
/tools/NUnit-2.6.4/nunit.framework.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/concordion/concordion-net/643b7c09d5b3c0e076845fb165e2a8342a149017/tools/NUnit-2.6.4/nunit.framework.dll
--------------------------------------------------------------------------------
/tools/Ninject/Ninject.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/concordion/concordion-net/643b7c09d5b3c0e076845fb165e2a8342a149017/tools/Ninject/Ninject.dll
--------------------------------------------------------------------------------
/tools/OGNL.NET/OGNL.Net.source-modified-for-concordion.7z:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/concordion/concordion-net/643b7c09d5b3c0e076845fb165e2a8342a149017/tools/OGNL.NET/OGNL.Net.source-modified-for-concordion.7z
--------------------------------------------------------------------------------
/tools/OGNL.NET/OGNL.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/concordion/concordion-net/643b7c09d5b3c0e076845fb165e2a8342a149017/tools/OGNL.NET/OGNL.dll
--------------------------------------------------------------------------------