gt:                 new ImmutablePair(AttributeStore.HREF_ATTR, "my-link.xlsm"),
context: /*
   * Asqatasun - Automated webpage assessment
   * Copyright (C) 2008-2019  Asqatasun.org
   *
   * This program is free software: you can redistribute it and/or modify
   * it under the terms of the GNU Affero General Public License as
   * published by the Free Software Foundation, either version 3 of the
   * License, or (at your option) any later version.
   *
   * This program is distributed in the hope that it will be useful,
   * but WITHOUT ANY WARRANTY; without even the implied warranty of
   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
   * GNU Affero General Public License for more details.
   *
   * You should have received a copy of the GNU Affero General Public License
   * along with this program.  If not, see <http://www.gnu.org/licenses/>.
   *
   * Contact us by mail: asqatasun AT asqatasun DOT org
   */
  package org.asqatasun.rules.rgaa32016;
  
  import static junit.framework.Assert.assertEquals;
  import static junit.framework.Assert.assertNull;
  import org.apache.commons.lang3.tuple.ImmutablePair;
  import org.asqatasun.entity.audit.*;
  import org.asqatasun.rules.rgaa32016.test.Rgaa32016RuleImplementationTestCase;
  import org.asqatasun.rules.keystore.AttributeStore;
  import org.asqatasun.rules.keystore.HtmlElementStore;
  import org.asqatasun.rules.keystore.RemarkMessageStore;
  
  /**
   * Unit test class for the implementation of the rule 13.6.1 of the referential RGAA 3.2016
   *
   * @author jkowalczyk
   */
  public class Rgaa32016Rule130601Test extends Rgaa32016RuleImplementationTestCase {
  
      /**
       * Default constructor
       * @param testName
       */
      public Rgaa32016Rule130601Test (String testName){
          super(testName);
      }
  
      @Override
      protected void setUpRuleImplementationClassName() {
          setRuleImplementationClassName("org.asqatasun.rules.rgaa32016.Rgaa32016Rule130601");
      }
  
      @Override
      protected void setUpWebResourceMap() {
          addWebResource("Rgaa32016.Test.13.06.01-3NMI-01");
          addWebResource("Rgaa32016.Test.13.06.01-3NMI-02");
          addWebResource("Rgaa32016.Test.13.06.01-3NMI-03");
          addWebResource("Rgaa32016.Test.13.06.01-3NMI-04");
          addWebResource("Rgaa32016.Test.13.06.01-3NMI-05");
          addWebResource("Rgaa32016.Test.13.06.01-3NMI-06");
          addWebResource("Rgaa32016.Test.13.06.01-4NA-01");
          addWebResource("Rgaa32016.Test.13.06.01-4NA-02");
          addWebResource("Rgaa32016.Test.13.06.01-4NA-03");
  
      }
  
      @Override
      protected void setProcess() {
          //----------------------------------------------------------------------
          //------------------------------3NMI-01---------------------------------
          //----------------------------------------------------------------------
          ProcessResult processResult = processPageTest("Rgaa32016.Test.13.06.01-3NMI-01");
          checkResultIsPreQualified(processResult, 1, 1);
          checkRemarkIsPresent(
                  processResult,
                  TestSolution.NEED_MORE_INFO,
                  RemarkMessageStore.DOWNLOADABLE_FILE_DETECTED_CHECK_FORMAT_MSG,
                  HtmlElementStore.A_ELEMENT,
                  1,
                  new ImmutablePair(AttributeStore.HREF_ATTR, "my-link.odt"),
                  new ImmutablePair(AttributeStore.TITLE_ATTR, "attribute-absent"));
  
  
          //----------------------------------------------------------------------
          //------------------------------3NMI-02---------------------------------
          //----------------------------------------------------------------------
          processResult = processPageTest("Rgaa32016.Test.13.06.01-3NMI-02");
          checkResultIsPreQualified(processResult, 1, 1);
          checkRemarkIsPresent(
                  processResult,
                  TestSolution.NEED_MORE_INFO,
                  getMessageKey(RemarkMessageStore.CHECK_DOWNLOADABLE_DOCUMENT_FROM_FORM_MSG),
                  HtmlElementStore.A_ELEMENT,
                  1);
          
          
          //----------------------------------------------------------------------
          //------------------------------3NMI-03---------------------------------
          //----------------------------------------------------------------------
          processResult = processPageTest("Rgaa32016.Test.13.06.01-3NMI-03");
          checkResultIsPreQualified(processResult, 1, 1);
          checkRemarkIsPresent(
                  processResult,
                  TestSolution.NEED_MORE_INFO,
                  getMessageKey(RemarkMessageStore.CHECK_MANUALLY_LINK_WITHOUT_EXT_MSG),
                  HtmlElementStore.A_ELEMENT,
                  1);
          
          
          //----------------------------------------------------------------------
          //------------------------------3NMI-04---------------------------------
          //----------------------------------------------------------------------
          processResult = processPageTest("Rgaa32016.Test.13.06.01-3NMI-04");
          checkResultIsPreQualified(processResult, 2, 1);
          checkRemarkIsPresent(
                  processResult,
                  TestSolution.NEED_MORE_INFO,
                  getMessageKey(RemarkMessageStore.CHECK_MANUALLY_LINK_WITHOUT_EXT_MSG),
                  HtmlElementStore.A_ELEMENT,
                  1);
          
          
          //----------------------------------------------------------------------
          //------------------------------3NMI-05---------------------------------
          //----------------------------------------------------------------------
          processResult = processPageTest("Rgaa32016.Test.13.06.01-3NMI-05");
          checkResultIsPreQualified(processResult, 177, 177);
          
         //----------------------------------------------------------------------
          checkRemarkIsPresent(
                  processResult,
                  TestSolution.NEED_MORE_INFO,
                  RemarkMessageStore.DOWNLOADABLE_FILE_DETECTED_CHECK_FORMAT_MSG,
                  HtmlElementStore.A_ELEMENT,
                  1,
                  new ImmutablePair(AttributeStore.HREF_ATTR, "my-link.ods"),
                  new ImmutablePair(AttributeStore.TITLE_ATTR, "attribute-absent"));
          
          //----------------------------------------------------------------------
          checkRemarkIsPresent(
                  processResult,
                  TestSolution.NEED_MORE_INFO,
                  RemarkMessageStore.DOWNLOADABLE_FILE_DETECTED_CHECK_FORMAT_MSG,
                  HtmlElementStore.A_ELEMENT,
                  2,
                  new ImmutablePair(AttributeStore.HREF_ATTR, "my-link.fods"),
                  new ImmutablePair(AttributeStore.TITLE_ATTR, "attribute-absent"));
          
          //----------------------------------------------------------------------
          checkRemarkIsPresent(
                  processResult,
                  TestSolution.NEED_MORE_INFO,
                  RemarkMessageStore.DOWNLOADABLE_FILE_DETECTED_CHECK_FORMAT_MSG,
                  HtmlElementStore.A_ELEMENT,
                  3,
                  new ImmutablePair(AttributeStore.HREF_ATTR, "my-link.odt"),
                  new ImmutablePair(AttributeStore.TITLE_ATTR, "attribute-absent"));
          
          //----------------------------------------------------------------------
          checkRemarkIsPresent(
                  processResult,
                  TestSolution.NEED_MORE_INFO,
                  RemarkMessageStore.DOWNLOADABLE_FILE_DETECTED_CHECK_FORMAT_MSG,
                  HtmlElementStore.A_ELEMENT,
                  4,
                  new ImmutablePair(AttributeStore.HREF_ATTR, "my-link.fodt"),
                  new ImmutablePair(AttributeStore.TITLE_ATTR, "attribute-absent"));
          
          //----------------------------------------------------------------------
          checkRemarkIsPresent(
                  processResult,
                  TestSolution.NEED_MORE_INFO,
                  RemarkMessageStore.DOWNLOADABLE_FILE_DETECTED_CHECK_FORMAT_MSG,
                  HtmlElementStore.A_ELEMENT,
                  5,
                  new ImmutablePair(AttributeStore.HREF_ATTR, "my-link.odp"),
                  new ImmutablePair(AttributeStore.TITLE_ATTR, "attribute-absent"));
          
          //----------------------------------------------------------------------
          checkRemarkIsPresent(
                  processResult,
                  TestSolution.NEED_MORE_INFO,
                  RemarkMessageStore.DOWNLOADABLE_FILE_DETECTED_CHECK_FORMAT_MSG,
                  HtmlElementStore.A_ELEMENT,
                  6,
                  new ImmutablePair(AttributeStore.HREF_ATTR, "my-link.fodp"),
                  new ImmutablePair(AttributeStore.TITLE_ATTR, "attribute-absent"));
          
          //----------------------------------------------------------------------
          checkRemarkIsPresent(
                  processResult,
                  TestSolution.NEED_MORE_INFO,
                  RemarkMessageStore.DOWNLOADABLE_FILE_DETECTED_CHECK_FORMAT_MSG,
                  HtmlElementStore.A_ELEMENT,
                  7,
                  new ImmutablePair(AttributeStore.HREF_ATTR, "my-link.odg"),
                  new ImmutablePair(AttributeStore.TITLE_ATTR, "attribute-absent"));
          
          //----------------------------------------------------------------------
          checkRemarkIsPresent(
                  processResult,
                  TestSolution.NEED_MORE_INFO,
                  RemarkMessageStore.DOWNLOADABLE_FILE_DETECTED_CHECK_FORMAT_MSG,
                  HtmlElementStore.A_ELEMENT,
                  8,
                  new ImmutablePair(AttributeStore.HREF_ATTR, "my-link.fodg"),
                  new ImmutablePair(AttributeStore.TITLE_ATTR, "attribute-absent"));
          
          //----------------------------------------------------------------------
          checkRemarkIsPresent(
                  processResult,
                  TestSolution.NEED_MORE_INFO,
                  RemarkMessageStore.DOWNLOADABLE_FILE_DETECTED_CHECK_FORMAT_MSG,
                  HtmlElementStore.A_ELEMENT,
                  9,
                  new ImmutablePair(AttributeStore.HREF_ATTR, "my-link.pdf"),
                  new ImmutablePair(AttributeStore.TITLE_ATTR, "attribute-absent"));
          
          //----------------------------------------------------------------------
          checkRemarkIsPresent(
                  processResult,
                  TestSolution.NEED_MORE_INFO,
                  RemarkMessageStore.DOWNLOADABLE_FILE_DETECTED_CHECK_FORMAT_MSG,
                  HtmlElementStore.A_ELEMENT,
                  10,
                  new ImmutablePair(AttributeStore.HREF_ATTR, "my-link.doc"),
                  new ImmutablePair(AttributeStore.TITLE_ATTR, "attribute-absent"));
          
          //----------------------------------------------------------------------
          checkRemarkIsPresent(
                  processResult,
                  TestSolution.NEED_MORE_INFO,
                  RemarkMessageStore.DOWNLOADABLE_FILE_DETECTED_CHECK_FORMAT_MSG,
                  HtmlElementStore.A_ELEMENT,
                  11,
                  new ImmutablePair(AttributeStore.HREF_ATTR, "my-link.docx"),
                  new ImmutablePair(AttributeStore.TITLE_ATTR, "attribute-absent"));
          
          //----------------------------------------------------------------------
          checkRemarkIsPresent(
                  processResult,
                  TestSolution.NEED_MORE_INFO,
                  RemarkMessageStore.DOWNLOADABLE_FILE_DETECTED_CHECK_FORMAT_MSG,
                  HtmlElementStore.A_ELEMENT,
                  12,
                  new ImmutablePair(AttributeStore.HREF_ATTR, "my-link.docm"),
                  new ImmutablePair(AttributeStore.TITLE_ATTR, "attribute-absent"));
          
          //----------------------------------------------------------------------
          checkRemarkIsPresent(
                  processResult,
                  TestSolution.NEED_MORE_INFO,
                  RemarkMessageStore.DOWNLOADABLE_FILE_DETECTED_CHECK_FORMAT_MSG,
                  HtmlElementStore.A_ELEMENT,
                  13,
                  new ImmutablePair(AttributeStore.HREF_ATTR, "my-link.dot"),
                  new ImmutablePair(AttributeStore.TITLE_ATTR, "attribute-absent"));
          
          //----------------------------------------------------------------------
          checkRemarkIsPresent(
                  processResult,
                  TestSolution.NEED_MORE_INFO,
                  RemarkMessageStore.DOWNLOADABLE_FILE_DETECTED_CHECK_FORMAT_MSG,
                  HtmlElementStore.A_ELEMENT,
                  14,
                  new ImmutablePair(AttributeStore.HREF_ATTR, "my-link.dotm"),
                  new ImmutablePair(AttributeStore.TITLE_ATTR, "attribute-absent"));
          
          //----------------------------------------------------------------------
          checkRemarkIsPresent(
                  processResult,
                  TestSolution.NEED_MORE_INFO,
                  RemarkMessageStore.DOWNLOADABLE_FILE_DETECTED_CHECK_FORMAT_MSG,
                  HtmlElementStore.A_ELEMENT,
                  15,
                  new ImmutablePair(AttributeStore.HREF_ATTR, "my-link.xls"),
                  new ImmutablePair(AttributeStore.TITLE_ATTR, "attribute-absent"));
          
          //----------------------------------------------------------------------
          checkRemarkIsPresent(
                  processResult,
                  TestSolution.NEED_MORE_INFO,
                  RemarkMessageStore.DOWNLOADABLE_FILE_DETECTED_CHECK_FORMAT_MSG,
                  HtmlElementStore.A_ELEMENT,
                  16,
                  new ImmutablePair(AttributeStore.HREF_ATTR, "my-link.xlsx"),
                  new ImmutablePair(AttributeStore.TITLE_ATTR, "attribute-absent"));
          
          //----------------------------------------------------------------------
          checkRemarkIsPresent(
                  processResult,
                  TestSolution.NEED_MORE_INFO,
                  RemarkMessageStore.DOWNLOADABLE_FILE_DETECTED_CHECK_FORMAT_MSG,
                  HtmlElementStore.A_ELEMENT,
                  17,
  