Concordion - assertTrue Command


Advertisements

Concordion assertTrue command is used when the fixture needs to know the expected result in order to perform a test.

Consider the following requirement −

User Name : Robert De
The User name starts with R.
The User name starts with S == false.

If we want a test to be executed on the User Name and check whether the user name starts with R or not.

<p>User Name :<span concordion:set = "#userName">Robert De</span></p>
<p>The User name <span concordion:assertTrue = "#userName.startsWith(#letter)">starts
   with <b concordion:set = "#letter">R</b></span>.</p>
<p>The User name <span concordion:assertTrue = "#userName.startsWith(#letter)">starts
   with <b concordion:set = "#letter">S</b></span>.</p>   

When Concordion parses the document, it will set a temporary variable #userName to be the value "Robert De". Then it will check if the userName starts with the letter specified by #letter variable set in next command.

Example

Let us have a working Eclipse IDE in place and follow the steps given below to create a Concordion application −

Step Description
1 Create a project with a name concordion and create a package com.howcodex under the src folder in the created project.
2 Add the required Concordion libraries using Add External JARs option as explained in the Concordion - First Application chapter.
3 Create Java class System under the com.howcodex package.
4 Create Fixture class SystemFixture under the specs.howcodex package.
5 Create Specification html System.html under the specs.howcodex package.
6 The final step is to create the content of all the Java files and specification file and run the application as explained below.

Here is the content of the System.java file −

package com.howcodex;
public class System {   
}

Following is the content of the SystemFixture.java file −

package specs.howcodex;

import org.concordion.integration.junit4.ConcordionRunner;
import org.junit.runner.RunWith;

@RunWith(ConcordionRunner.class)

public class SystemFixture {
}

Following is the content of the System.html file −

<html xmlns:concordion = "http://www.concordion.org/2007/concordion">
   <head>
      <link href = "../concordion.css" rel = "stylesheet" type = "text/css" />
   </head>

   <body>
      <h1>System Specifications</h1>
      <p>We are building specifications for our online order tracking application.</p>
      <p>Following is the requirement to split full name of a logged in user to 
         its constituents by splitting name by whitespace:</p>
   
      <div class = "example">      
         <h3>Example</h3>
         <p>User Name :<span concordion:set = "#userName">Robert De</span></p>
         <p>The User name <span concordion:assertTrue = "#userName.startsWith(#letter)">starts
            with <b concordion:set = "#letter">R</b></span>.</p>
         <p>The User name <span concordion:assertTrue = "#userName.startsWith(#letter)">starts
            with <b concordion:set = "#letter">S</b></span>.</p>          
      </div>
		
   </body>

</html>

Once you are done with creating source and specification files, let us run the application as JUnit Test. If everything is fine with your application, then it will produce the following result −

C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\concordion\specs\howcodex\System.html
Successes: 1, Failures: 1

System.html is the output of Concordion test run.

concordion assertTrue command Output
Advertisements