{
  "actions": [
    {
      "command": [
        "alr",
        "test"
      ],
      "directory": "test",
      "type": "test"
    }
  ],
  "authors": [
    "Martin Krischik <krischik@users.sourceforge.net>"
  ],
  "build-switches": {
    "*": {
      "ada_version": "Ada2022",
      "source_encoding": "UTF_8"
    },
    "development": {
      "compile_checks": "Warnings",
      "contracts": "Yes",
      "debug_info": "Yes",
      "optimization": "Debug",
      "runtime_checks": "Overflow"
    },
    "release": {
      "compile_checks": "Warnings",
      "contracts": "No",
      "debug_info": "No",
      "optimization": "Performance",
      "runtime_checks": "Default"
    },
    "validation": {
      "compile_checks": "Warnings",
      "contracts": "Yes",
      "debug_info": "Yes",
      "optimization": "Debug",
      "runtime_checks": "Everything"
    }
  },
  "depends-on": [
    {
      "adacl": "^8.0",
      "adacl_desktop": "^8.0",
      "aunit": "^26.0.0"
    }
  ],
  "description": "AdaCL desktop: Readable AUnit asserts and parameterised tests",
  "licenses": "GPL-3.0-or-later",
  "long-description": "A versatile Ada 2022 testing library, enhancing AUnit with readable assertions and\nparameterised tests.\n\n## Features\n\n### AUnit-Compatible Assertions\n\n  - Generic support for access, array, discrete, floating-point, fixed-point, decimal, vector types, and files.\n  - **Readable Error Messages**: Assertions provide detailed feedback.\n\nExample for unbounded strings:\n\n```ada\n    procedure Equal\n       (Actual\t : Ada.Strings.Unbounded.Unbounded_String;\n\tExpected : String;\n\tName\t : String;\n\tSource\t : String  := GNAT.Source_Info.File;\n\tLine\t : Natural := GNAT.Source_Info.Line)\n    is\n       use Ada.Strings.Unbounded;\n    begin\n       if not (Actual = Expected) then\n\t  Report_Assertion\n\t     (Message => \"In string Â«\" & Name & \"Â» the \" & Actual'Image & \" is not equal to \" & Expected'Image,\n\t      Source  => Source,\n\t      Line    => Line);\n       end if;\n    end Equal;\n```\n\nThis yields clear, context-rich error messages, surpassing standard AUnit\noutput.\n\n## Parameterised Tests\n\nRun the same test with varied inputs and expected values, boosting coverage\nefficiently.\n\nExample from hp41cx_tools:\n\n```ada\noverriding procedure Register_Tests (T : in out Test_Case) is\n   pragma Debug (AdaCL.Trace.Entering (In_Parameter => T.Name.all'Image));\nbegin\n   T.Parameter.Register_Routine (T, Test_To_HP_Duration_01'Access, \"WAKE_UP\",\t   \"2024-12-01 08:00:00\",   [3, 9, 4, 2, 0, 2, 8, 8, 0, 0, 0], 3942028800.0);\n   T.Parameter.Register_Routine (T, Test_To_HP_Duration_01'Access, \"^LBLTEST\",\t   \"2025-07-22 12:00:00\",   [3, 9, 6, 2, 1, 7, 4, 4, 0, 0, 0], 3962174400.0);\n   T.Parameter.Register_Routine (T, Test_To_HP_Duration_01'Access, \"TONE\",\t   \"2025-11-12 09:12:34\",   [3, 9, 7, 1, 9, 2, 7, 5, 5, 4, 0], 3971927554.0);\n   T.Parameter.Register_Routine (T, Test_To_HP_Duration_01'Access, \"FRACTION\",\t   \"2025-11-12 09:12:34.5\", [3, 9, 7, 1, 9, 2, 7, 5, 5, 4, 5], 3971927554.5);\n   T.Parameter.Register_Routine (T, Test_To_HP_Duration_01'Access, \"REPEAT24\",\t   \"24:00:00\",\t\t    [0, 0, 0, 0, 0, 8, 6, 4, 0, 0, 0], 0000086400.0);\n   T.Parameter.Register_Routine (T, Test_To_HP_Duration_01'Access, \"REPEAT'First\", \"0000:00:01.0\",\t    [0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0], 0000000010.0);\n   T.Parameter.Register_Routine (T, Test_To_HP_Duration_01'Access, \"REPEAT'Last\",  \"9999:59:59.9\",\t    [0, 0, 3, 5, 9, 9, 9, 9, 9, 9, 9], 0035999999.9);\n   pragma Debug (AdaCL.Trace.Exiting);\n   return;\nend Register_Tests;\n```\n\nRegistering tests multiple times with different data enhances test coverage\nwithout redundant code.\n\nSource: [SourceForge](https://sourceforge.net/p/adacl/git/ci/master/tree/adacl_aunit/test/src/)\nDocumentation: [GNATdoc](https://adacl.sourceforge.net/gnatdoc/adacl_aunit_test/index.html)\n",
  "maintainers": [
    "Martin Krischik <krischik@users.sourceforge.net>"
  ],
  "maintainers-logins": [
    "krischik"
  ],
  "name": "adacl_aunit",
  "origin": {
    "hashes": [
      "sha256:0347c69c8c1da1b36d6235ff861ccb49479ae65ca4376645e69f41f7e018b1c2",
      "sha512:3ca2a083fe987f6fa2baf8b096fe73eaeb871732a5b0902fa062ca9f6aa1c6d890215e0a8ece4af59856842f25072b7b4385ee4648ef336768498b9c89146247"
    ],
    "url": "https://sourceforge.net/projects/adacl/files/Alire/adacl_aunit-8.0.0.tgz"
  },
  "tags": [
    "library",
    "aunit",
    "assert",
    "ada2022"
  ],
  "version": "8.0.0",
  "website": "https://sourceforge.net/projects/adacl_aunit/"
}
