Differences between revisions 15 and 28 (spanning 13 versions)
Revision 15 as of 2008-07-26 20:35:16
Size: 1729
Editor: KaiJaeger
Comment:
Revision 28 as of 2008-12-18 20:20:49
Size: 2221
Editor: KaiJaeger
Comment: Standards for test cases added
Deletions are marked like this. Additions are marked like this.
Line 4: Line 4:
At the time being, everything here refers to Dyalog APL. That might change sometime, but as long as no other stuff turns up here it keeps things simple. Note that this is a pure Dyalog project. Note also that by definition only scripts (either class- or namespace-scripts) can be part of APLAPL.
Line 6: Line 6:
All classes published here '''must''' be part of '''"The Open Source APL Project"''' in short '''[:OpenSourceAplProject:TOSAP]'''. Yes, classes, so it has to be at least version 11 of Dyalog APL you are working with. Scripts in this category '''must''' contain a Copyright notice according to the [[http://en.wikipedia.org/wiki/Mit_license|MIT license]] conditions.
Line 8: Line 8:
The idea behind TOSAP is to provide classes ready for usage for every-day-problems programmers typically come across. The basic idea behind APLAPL is to provide classes for every-day-problems programmers typically come across.
Line 10: Line 10:
Many (so far all) classes do not use .NET at all. That might look strange: there are tons of useful .NET classes available, and they are free, so why not using them? Well, it all depends. Try to get a directory listing of a directory which contains 100,000 files and you know what I mean. To become part of the APLAPL project, one must ensure that proper test cases are written and executed before the class is published. Although that does not guarantee that the scripts are free of bugs, this certainly decreases the danger of bugs.

== Test cases: follow the standards! ==

<<SeeSaw(section="testcasestd", toshow="<<Show>> the details", tohide="<<Hide>> the details", bg="#FEE1A5", speed="Slow")>>

{{{{#!wiki seesaw/testcasestd/testcasestd-bg/hide

 * All test cases are supposed to be in a namespace {{{#.TestCases}}}.
 * At least there is one sub-namespace: "Test_001". Depending on the complexity of the tests, there may be up to 999 different test cases.
 * Every sub-namespace "Test_00n" is supposed to have a function "Run" which executes the test case.
 * There should be a function {{{#.TestCases.RunAll}}} which is supposed to run all test cases in one go.
 * When a test fails, let it stop.
}}}}
Line 13: Line 26:
##||||||<tablestyle="background:#ffe; padding:0 2em 1em 0;">''''''||
||'''Name'''||'''Description'''||'''Type'''||'''Originator'''||'''Part of [:OpenSourceAplProject:TOSAP]'''||
||[:APLTeamsUtil:APLTeamsUtil]||Needed by all classes but ADOC, originated by APL Team||Dyalog Class||APL Team||Yes||
||[:ADOC:ADOC]||Automated Documentation Generation||Dyalog Class||APL Team||Yes||
||[:Hash:Hash]||Managing key/value-pairs||Dyalog Class||APL Team||Yes||
||IniFiles||Dealing with INI files without .NET||Dyalog Class||APL Team||Yes||
||[:Logger:Logger]||Writing Log Files||Dyalog Class||APL Team||Yes||
||[:WinFile:WinFile]||Dealing with files and directories without .NET||Dyalog Class||APL Team||Yes||
||[:WinReg:WinReg]||Dealing with the Windows Registry without .NET||Dyalog Class||APL Team||Yes||
##||||||<tablestyle="background:#ffe; padding:0 2em 1em 0;">''''''||''''''||
||'''Name'''||'''Description'''||'''Type'''||'''Originator'''||'''Needs .NET'''||
||[[APLTeamUtils]]||General utilities||Dyalog||APL Team||'''No'''||
||[[ADOC]]||Automated Documentation Generation||Dyalog||APL Team||'''No'''||
||[[Hash]]||Managing key/value-pairs||Dyalog ||APL Team||'''No'''||
||IniFiles||Dealing with INI files||Dyalog||APL Team||'''No'''||
||[[Logger]]||Writing Log Files||Dyalog||APL Team||'''No'''||
||[[WindowsEventLog]]||Dealing with the Windows Event Log||Dyalog||APL Team||'''Yes'''||
||[[WinFile]]||Dealing with files and directories||Dyalog||APL Team||'''No'''||
||[[WinReg]]||Dealing with the Windows Registry||Dyalog||APL Team||'''No'''||
Line 24: Line 38:
CategoryAplApl CategoryOpenSourceApl: CategoryOpenSourceApl

APL Application Programming Library (APLAPL)

Note that this is a pure Dyalog project. Note also that by definition only scripts (either class- or namespace-scripts) can be part of APLAPL.

Scripts in this category must contain a Copyright notice according to the MIT license conditions.

The basic idea behind APLAPL is to provide classes for every-day-problems programmers typically come across.

To become part of the APLAPL project, one must ensure that proper test cases are written and executed before the class is published. Although that does not guarantee that the scripts are free of bugs, this certainly decreases the danger of bugs.

Test cases: follow the standards!

Show the details

  • All test cases are supposed to be in a namespace #.TestCases.

  • At least there is one sub-namespace: "Test_001". Depending on the complexity of the tests, there may be up to 999 different test cases.
  • Every sub-namespace "Test_00n" is supposed to have a function "Run" which executes the test case.
  • There should be a function #.TestCases.RunAll which is supposed to run all test cases in one go.

  • When a test fails, let it stop.

Name

Description

Type

Originator

Needs .NET

APLTeamUtils

General utilities

Dyalog

APL Team

No

ADOC

Automated Documentation Generation

Dyalog

APL Team

No

Hash

Managing key/value-pairs

Dyalog

APL Team

No

IniFiles

Dealing with INI files

Dyalog

APL Team

No

Logger

Writing Log Files

Dyalog

APL Team

No

WindowsEventLog

Dealing with the Windows Event Log

Dyalog

APL Team

Yes

WinFile

Dealing with files and directories

Dyalog

APL Team

No

WinReg

Dealing with the Windows Registry

Dyalog

APL Team

No


CategoryOpenSourceApl

CategoryAplTree (last edited 2018-03-04 12:46:55 by KaiJaeger)