<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="https://en.accunit.access-codelib.net/skins/common/feed.css?207"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
	<channel>
		<title>AccUnit - User contributions [en]</title>
		<link>https://en.accunit.access-codelib.net/Special:Contributions/Josef+P%C3%B6tzl</link>
		<description>From AccUnit</description>
		<language>en</language>
		<generator>MediaWiki 1.15.1</generator>
		<lastBuildDate>Sun, 10 May 2026 15:40:15 GMT</lastBuildDate>
		<item>
			<title>Getting started</title>
			<link>https://en.accunit.access-codelib.net/Getting_started</link>
			<description>&lt;p&gt;Josef Pötzl:&amp;#32;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[de:Erste_Schritte]]&lt;br /&gt;
&lt;br /&gt;
[http://en.wikipedia.org/wiki/Software_testing Software testing] is a important part of software development.&lt;br /&gt;
&lt;br /&gt;
In earlier days testing of a software was typically done at the end of the development cycle.&lt;br /&gt;
Since this is very late to uncover severe problems, today's approach relies heavily on test automation. An important part for this is testing individual pieces of the code (unit testing). Even more, with [http://en.wikipedia.org/wiki/Test-driven_development Test-Driven-Development (TDD)] tests are written before implementing a part of the application.&lt;br /&gt;
&lt;br /&gt;
Many actual programming languages ​​provide appropriate tools for automated test execution. The [http://en.wikipedia.org/wiki/Visual_Basic_for_Applications VBA]  programming language and the Code Editor (the VBE - Visual Basic Editor)&lt;br /&gt;
unfortunately only contain rudimentary functionality to support testing of code (Debug.Print, Debug.Assert).&lt;br /&gt;
&lt;br /&gt;
'''AccUnit''' now offers the possibility to run automated tests on MS Access.&lt;br /&gt;
&lt;br /&gt;
The following pages will help you to write the first tests for your application.&lt;/div&gt;</description>
			<pubDate>Mon, 26 Aug 2024 21:55:22 GMT</pubDate>			<dc:creator>Josef Pötzl</dc:creator>			<comments>https://en.accunit.access-codelib.net/Talk:Getting_started</comments>		</item>
		<item>
			<title>User Interface</title>
			<link>https://en.accunit.access-codelib.net/User_Interface</link>
			<description>&lt;p&gt;Josef Pötzl:&amp;#32;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[de:Benutzeroberfläche]] __NOTOC__&lt;br /&gt;
&lt;br /&gt;
   Is this user interface needed in the new version, or is the output to the direct area sufficient?&lt;br /&gt;
&lt;br /&gt;
[[Image:AccUnit_VBE.png]]&lt;br /&gt;
&lt;br /&gt;
    &lt;br /&gt;
&lt;br /&gt;
==== Toolbar ====&lt;br /&gt;
&lt;br /&gt;
[[Image:AccUnit_AddIn_Commandbar_Beschreibung.png]]&lt;br /&gt;
&lt;br /&gt;
==== Menu items ====&lt;br /&gt;
&lt;br /&gt;
[[Image:AccUnit_AddIn_Menu_Tools.png]]&lt;br /&gt;
[[Image:AccUnit_AddIn_Menu_View.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== VBE-Windows ====&lt;br /&gt;
[[Image:AccUnit_AddIn_Testauswahl.png]]&lt;br /&gt;
&lt;br /&gt;
[[Image:AccUnit_AddIn_Testergebnis.png]]&lt;br /&gt;
&lt;br /&gt;
==== Dialogs ====&lt;br /&gt;
[[Image:AccUnit_AddIn_TestImport.png]]&lt;br /&gt;
[[Image:AccUnit_AddIn_TestExport.png]]&lt;br /&gt;
&lt;br /&gt;
[[Image:AccUnit_AddIn_UserSettings.png]]&lt;br /&gt;
&lt;br /&gt;
[[Shortcuts]]&lt;/div&gt;</description>
			<pubDate>Wed, 06 Sep 2023 11:48:23 GMT</pubDate>			<dc:creator>Josef Pötzl</dc:creator>			<comments>https://en.accunit.access-codelib.net/Talk:User_Interface</comments>		</item>
		<item>
			<title>Installation</title>
			<link>https://en.accunit.access-codelib.net/Installation</link>
			<description>&lt;p&gt;Josef Pötzl:&amp;#32;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[de:Installation]]&lt;br /&gt;
&lt;br /&gt;
AccUnit uses the Access add-in AccUnitLoader. Only this access add-in needs to be installed.&lt;br /&gt;
&lt;br /&gt;
Installation procedure see [https://github.com/AccessCodeLib/AccUnit/wiki/How-to:-Install-AccUnit GitHub wiki].&lt;/div&gt;</description>
			<pubDate>Wed, 09 Aug 2023 17:28:59 GMT</pubDate>			<dc:creator>Josef Pötzl</dc:creator>			<comments>https://en.accunit.access-codelib.net/Talk:Installation</comments>		</item>
		<item>
			<title>Installation</title>
			<link>https://en.accunit.access-codelib.net/Installation</link>
			<description>&lt;p&gt;Josef Pötzl:&amp;#32;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[de:Installation]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Supported Platforms]]&lt;br /&gt;
&lt;br /&gt;
[[Prerequisites]]&lt;br /&gt;
&lt;br /&gt;
Before using AccUnit  you have to install SimplyVBUnit 3.0 ([http://sourceforge.net/projects/simplyvbunit/ project page of SimplyVBUnit at sourceforge]).&lt;br /&gt;
&lt;br /&gt;
You will find the setup file here: ''[http://accunit.access-codelib.net/download/SimplyVBUnitSetup.zip SimplyVBUnitSetup.zip]''.&lt;br /&gt;
&lt;br /&gt;
'''''*** IMPORTANT ***'''''&lt;br /&gt;
As of November 2012, on the SimplyVBUnit's project site, there is the version v4 of SimplyVBUnit available. That version is '''not compatible''' with AccUnit. Thus, make sure to use the link to SimplyVBUnit 3.0 provided above.&lt;br /&gt;
&lt;br /&gt;
You may start the download of AccUnit here: [http://accunit.access-codelib.net/download/AccUnitSetup.zip AccUnitSetup.zip] &lt;br /&gt;
Start you installation with ''Setup.exe''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== AccUnit as VBE-Add-In ===&lt;/div&gt;</description>
			<pubDate>Mon, 04 May 2015 16:45:20 GMT</pubDate>			<dc:creator>Josef Pötzl</dc:creator>			<comments>https://en.accunit.access-codelib.net/Talk:Installation</comments>		</item>
		<item>
			<title>AccUnit</title>
			<link>https://en.accunit.access-codelib.net/AccUnit</link>
			<description>&lt;p&gt;Josef Pötzl:&amp;#32;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Conceptual]]&lt;br /&gt;
&lt;br /&gt;
[[Known Issues]]&lt;br /&gt;
&lt;br /&gt;
[[de:AccUnit]]&lt;/div&gt;</description>
			<pubDate>Sat, 09 Nov 2013 11:21:40 GMT</pubDate>			<dc:creator>Josef Pötzl</dc:creator>			<comments>https://en.accunit.access-codelib.net/Talk:AccUnit</comments>		</item>
		<item>
			<title>AccUnit</title>
			<link>https://en.accunit.access-codelib.net/AccUnit</link>
			<description>&lt;p&gt;Josef Pötzl:&amp;#32;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Conceptual]]&lt;br /&gt;
&lt;br /&gt;
[[Known Issues]]&lt;br /&gt;
&lt;br /&gt;
[[fr:AccUnit]]&lt;br /&gt;
[[de:AccUnit]]&lt;/div&gt;</description>
			<pubDate>Mon, 04 Nov 2013 08:32:22 GMT</pubDate>			<dc:creator>Josef Pötzl</dc:creator>			<comments>https://en.accunit.access-codelib.net/Talk:AccUnit</comments>		</item>
		<item>
			<title>AccUnit</title>
			<link>https://en.accunit.access-codelib.net/AccUnit</link>
			<description>&lt;p&gt;Josef Pötzl:&amp;#32;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Conceptual]]&lt;br /&gt;
&lt;br /&gt;
[[Known Issues]]&lt;br /&gt;
&lt;br /&gt;
[[:fr:AccUnit]]&lt;br /&gt;
[[de:AccUnit]]&lt;/div&gt;</description>
			<pubDate>Mon, 04 Nov 2013 08:24:15 GMT</pubDate>			<dc:creator>Josef Pötzl</dc:creator>			<comments>https://en.accunit.access-codelib.net/Talk:AccUnit</comments>		</item>
		<item>
			<title>AccUnit</title>
			<link>https://en.accunit.access-codelib.net/AccUnit</link>
			<description>&lt;p&gt;Josef Pötzl:&amp;#32;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Conceptual]]&lt;br /&gt;
&lt;br /&gt;
[[Known Issues]]&lt;br /&gt;
&lt;br /&gt;
[[:fr:AccUnit]]&lt;br /&gt;
[[:de:AccUnit]]&lt;/div&gt;</description>
			<pubDate>Mon, 04 Nov 2013 08:23:56 GMT</pubDate>			<dc:creator>Josef Pötzl</dc:creator>			<comments>https://en.accunit.access-codelib.net/Talk:AccUnit</comments>		</item>
		<item>
			<title>AccUnit</title>
			<link>https://en.accunit.access-codelib.net/AccUnit</link>
			<description>&lt;p&gt;Josef Pötzl:&amp;#32;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Conceptual]]&lt;br /&gt;
&lt;br /&gt;
[[Known Issues]]&lt;br /&gt;
&lt;br /&gt;
[[fr:AccUnit]]&lt;br /&gt;
[[de:AccUnit]]&lt;/div&gt;</description>
			<pubDate>Mon, 04 Nov 2013 08:20:58 GMT</pubDate>			<dc:creator>Josef Pötzl</dc:creator>			<comments>https://en.accunit.access-codelib.net/Talk:AccUnit</comments>		</item>
		<item>
			<title>NewTestRunner</title>
			<link>https://en.accunit.access-codelib.net/NewTestRunner</link>
			<description>&lt;p&gt;Josef Pötzl:&amp;#32;/* Data structures */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[de:NewTestRunner]]&lt;br /&gt;
This is a first draft for an AccUnit TestRunner.&lt;br /&gt;
&lt;br /&gt;
[[image:AccUnit_TestRunner_Draft.jpg|480px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Details ==&lt;br /&gt;
&lt;br /&gt;
(Gathered mainly as results of the discussion between Josef and Paul on Jan 13th, 2012)&lt;br /&gt;
&lt;br /&gt;
TO BE ORDERED AND REVIEWED&lt;br /&gt;
&lt;br /&gt;
=== Reponsibilites and Input/Output ===&lt;br /&gt;
&lt;br /&gt;
* '''TestManager'''&lt;br /&gt;
** Responsibility: Orchestrates the parts described below&lt;br /&gt;
** Responsibilites in particular:&lt;br /&gt;
*** A2: listening to TestCollector and maintaing the list of test related info in the repository&lt;br /&gt;
*** B0: instantiates the TestRunner for each new test run&lt;br /&gt;
*** B1: providing a list of tests to be run by the TestRunner&lt;br /&gt;
**** some sources: all tests from the repository, selection from a test tree, test according to the current selection of the IDE, a prioritizer component, selection by tags, ...)&lt;br /&gt;
*** B3: creating an instance for the current TestRun (actually before starting)&lt;br /&gt;
*** B2: starting the TestRunner (as reaction to some user action)&lt;br /&gt;
*** B4: listening to the outputs of the TestRunner and maintaining the current TestRun object&lt;br /&gt;
*** B5: adding the current TestRun object to the list of test runs in the repository&lt;br /&gt;
** TO BE CLARIFIED: Should this work as a facade?&lt;br /&gt;
** Events:&lt;br /&gt;
*** BeforeCollectingTests (maybe better: BeforeScanningProject? - there are also the test-related modules)&lt;br /&gt;
*** AfterCollectingTests (maybe better: AfterScanningProject? - reasoning as above)&lt;br /&gt;
*** AddedTestRunToRepository(ITestRun)&lt;br /&gt;
&lt;br /&gt;
* '''TestCollector'''&lt;br /&gt;
** Responsibility: Collects the relevant information for running tests. (rephrased: In order to run a test, no one has to go back to the VBProject to look up something)&lt;br /&gt;
** Input: Events from a component in VbeProjectManagement or just a list of all modules in the VBProject&lt;br /&gt;
** Output: IObservable&amp;lt;ITest&amp;gt;/Events&lt;br /&gt;
*** FoundTestMethod(ITest)&lt;br /&gt;
*** LostTestMethod(ITest)&lt;br /&gt;
*** FoundTestRelatedMethod(IAttributedMethod)&lt;br /&gt;
*** LostTestRelatedMethod(IAttributedMethod)&lt;br /&gt;
** maybe better name: ProjectScanner&lt;br /&gt;
*** there are not just the test classes itself, but also the test-related modules&lt;br /&gt;
** TestManager listens to the output and maintains the list of all test related info in the repository&lt;br /&gt;
&lt;br /&gt;
* '''Repository.AllTests'''&lt;br /&gt;
** Responsibility: Represents the current structure of the VBProject with respect to tests&lt;br /&gt;
** Flat list (no fixture-tests hierarchy), hierarchies must be derived by UI components&lt;br /&gt;
** Input: Method calls by the TestManager&lt;br /&gt;
** Output: Enumeration/IObservable&amp;lt;ITest&amp;gt;/Events:&lt;br /&gt;
*** AddedTest(ITest)&lt;br /&gt;
*** RemovedTest(ITest)&lt;br /&gt;
*** Cleared&lt;br /&gt;
&lt;br /&gt;
* '''Repository.TestRelated''' (NOT IN THE DRAWING)&lt;br /&gt;
** Responsibility: Represents all modules in the VBProject that are just test-related, but not actually test fixtures.&lt;br /&gt;
** global info needed by the TestRunner&lt;br /&gt;
** Input: method calls by the TestManager in reaction to events from TestCollector&lt;br /&gt;
** Output: none&lt;br /&gt;
** The TestManager instantiates the TestRunner for each run with this information&lt;br /&gt;
&lt;br /&gt;
* '''TestRunner'''&lt;br /&gt;
** Responsibility: Coordinates the calls to the methods of the test suite (tests and tag hook handler)&lt;br /&gt;
** Note: Its the TestExecutor that actually invokes the methods via COM, not the TestRunner!&lt;br /&gt;
** Input:&lt;br /&gt;
*** List of tests (subset of test in Repository.AllTests)&lt;br /&gt;
*** List of test related modules (Repository.TestRelated)&lt;br /&gt;
** Output: IObservable&amp;lt;ITestResult&amp;gt;/Events&lt;br /&gt;
*** StartingTestRun(bool cancel)&lt;br /&gt;
*** StartedTestRun(ITestRun)&lt;br /&gt;
*** TagSetChanged(IEnumerable&amp;lt;ITagChangeInfo&amp;gt;)&lt;br /&gt;
*** FinishedTestRun(ITestRun)&lt;br /&gt;
*** ITestRun steadiliy populated during the test run&lt;br /&gt;
** The calling of tag hook handlers (see below) is also managed by the TestRunner&lt;br /&gt;
&lt;br /&gt;
* '''TestExecutor'''&lt;br /&gt;
** Responsibility: Is able to instantiate classes and invoke methods and understands exceptions from failed assertions&lt;br /&gt;
* Input:&lt;br /&gt;
** name of the class to instantiate/terminate&lt;br /&gt;
** name of the method to execute (along with parameters in the case of a call for a row test)&lt;br /&gt;
** Don't use ITest to pass the input parameters.&lt;br /&gt;
*** That's too much (attributes not needed generally, rowdata needed without name of the row or ignored state)&lt;br /&gt;
*** DIFFERENT FROM THE DRAWING&lt;br /&gt;
* Output:&lt;br /&gt;
** True: method call succeeded&lt;br /&gt;
** False: an assertion failed (assertion message is provided to the TestRunner)&lt;br /&gt;
** Non-Assert exceptions are passed to the TestRunner as is&lt;br /&gt;
*** Future extension point: special handling for exceptions&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
=== Conceptual ===&lt;br /&gt;
&lt;br /&gt;
* No support of FixtureSetup/FixtureTeardown&lt;br /&gt;
** Seldom used, and when, then often misused (violating independency of tests)&lt;br /&gt;
** More global setup/cleanup (as setting up backend for test) via tag-hooks&lt;br /&gt;
&lt;br /&gt;
* Tags applied on module level inherit to all children (test methods and rows in row tests)&lt;br /&gt;
&lt;br /&gt;
* Support for tag hierarchies?&lt;br /&gt;
** path notation: e.g. DatabaseTests/ADO/Oracle&lt;br /&gt;
&lt;br /&gt;
* No guarantee how often a test class will be instantiated during a test run&lt;br /&gt;
** discourage to use class scope (Initialize/Terminate and Fields)&lt;br /&gt;
&lt;br /&gt;
* Tag Hooks&lt;br /&gt;
** Every time a tag appears during a test run, a setup tag-hook is called (if available)&lt;br /&gt;
** Every time a tag vanishes during a test run, a teardown tag-hook is called (if available)&lt;br /&gt;
** Tag hook handler&lt;br /&gt;
*** reside in class modules annotated with AccUnit:TestRelated&lt;br /&gt;
*** are tagged with AccUnit:Setup(&amp;quot;MyTag&amp;quot;), and AccUnit:Teardown(&amp;quot;MyTag&amp;quot;), resp.&lt;br /&gt;
&lt;br /&gt;
* Test related modules (AccUnit:TestRelated) can be standard modules or class modules&lt;br /&gt;
** Test related modules with tag hooks (AccUnit:Setup(&amp;quot;MyTag&amp;quot;), AccUnit:Teardown(&amp;quot;MyTag&amp;quot;)) must reside in class modules&lt;br /&gt;
*** This helps to avoid global state enduring over the end of a test run (still could be done by copy state to fields in standard module)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Technical ===&lt;br /&gt;
&lt;br /&gt;
* New assembly AccUnit.Framework&lt;br /&gt;
** No References to COM (SimplyVbUnit/Access/TLI)&lt;br /&gt;
&lt;br /&gt;
* No IFixture&lt;br /&gt;
** By now, no relevant information besides the name&lt;br /&gt;
** The name of the fixture is a property of ITest&lt;br /&gt;
&lt;br /&gt;
* AccUnit:Rollback and AccUnit:ClickingMsgBox implemented as kind of plugins to the structure&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Data structures ===&lt;br /&gt;
&lt;br /&gt;
* IAttributedMethod&lt;br /&gt;
** modulename&lt;br /&gt;
** methodname&lt;br /&gt;
** attributes&lt;br /&gt;
&lt;br /&gt;
* ITest&lt;br /&gt;
** fixturename&lt;br /&gt;
** methodname&lt;br /&gt;
** attributes&lt;br /&gt;
** tags (specialized subset of attributes)&lt;br /&gt;
** rowdata (specialized subset of attributes)&lt;br /&gt;
&lt;br /&gt;
* ITestRun&lt;br /&gt;
** ProjectInfo (Name of the file, version info?, ...)&lt;br /&gt;
** List&amp;lt;ITestResult&amp;gt;&lt;br /&gt;
** State (prepared, running, finished, canceled, aborted)&lt;br /&gt;
** StartedAt&lt;br /&gt;
** EndedAt&lt;br /&gt;
** Summary&lt;br /&gt;
&lt;br /&gt;
* ITagChangeInfo&lt;br /&gt;
** Tag (string)&lt;br /&gt;
** Change (appeared/disappeared)&lt;br /&gt;
&lt;br /&gt;
*ITestResult&lt;br /&gt;
** ITest&lt;br /&gt;
** Status (success, failed, error, ignored) ... error = runtime error; failed = error by asserts&lt;br /&gt;
** Message (??? rowtest: summary or null ?)&lt;br /&gt;
** Rowdata (testresults of rows ... message + status of rows?)&lt;br /&gt;
** StartedAt&lt;br /&gt;
** EndedAt&lt;br /&gt;
&lt;br /&gt;
=== Open issues ===&lt;br /&gt;
* Test Reactive Extensions in a VBE AddIn&lt;/div&gt;</description>
			<pubDate>Sun, 15 Jan 2012 13:42:45 GMT</pubDate>			<dc:creator>Josef Pötzl</dc:creator>			<comments>https://en.accunit.access-codelib.net/Talk:NewTestRunner</comments>		</item>
		<item>
			<title>Notes</title>
			<link>https://en.accunit.access-codelib.net/Notes</link>
			<description>&lt;p&gt;Josef Pötzl:&amp;#32;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[de:Notizen]]&lt;br /&gt;
&lt;br /&gt;
[[NewTestRunner|New TestRunner]]&lt;/div&gt;</description>
			<pubDate>Sat, 14 Jan 2012 17:56:19 GMT</pubDate>			<dc:creator>Josef Pötzl</dc:creator>			<comments>https://en.accunit.access-codelib.net/Talk:Notes</comments>		</item>
		<item>
			<title>NewTestRunner</title>
			<link>https://en.accunit.access-codelib.net/NewTestRunner</link>
			<description>&lt;p&gt;Josef Pötzl:&amp;#32;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[de:NewTestRunner]]&lt;br /&gt;
This is a first draft for an AccUnit TestRunner.&lt;br /&gt;
&lt;br /&gt;
[[image:AccUnit_TestRunner_Draft.jpg|480px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Details ==&lt;br /&gt;
&lt;br /&gt;
(Gathered mainly as results of the discussion between Josef and Paul on Jan 13th, 2012)&lt;br /&gt;
&lt;br /&gt;
TO BE ORDERED AND REVIEWED&lt;br /&gt;
&lt;br /&gt;
=== Reponsibilites and Input/Output ===&lt;br /&gt;
&lt;br /&gt;
* '''TestManager'''&lt;br /&gt;
** Responsibility: Orchestrates the parts described below&lt;br /&gt;
** Responsibilites in particular:&lt;br /&gt;
*** A2: listening to TestCollector and maintaing the list of test related info in the repository&lt;br /&gt;
*** B0: instantiates the TestRunner for each new test run&lt;br /&gt;
*** B1: providing a list of tests to be run by the TestRunner&lt;br /&gt;
**** some sources: all tests from the repository, selection from a test tree, test according to the current selection of the IDE, a prioritizer component, selection by tags, ...)&lt;br /&gt;
*** B3: creating an instance for the current TestRun (actually before starting)&lt;br /&gt;
*** B2: starting the TestRunner (as reaction to some user action)&lt;br /&gt;
*** B4: listening to the outputs of the TestRunner and maintaining the current TestRun object&lt;br /&gt;
*** B5: adding the current TestRun object to the list of test runs in the repository&lt;br /&gt;
** TO BE CLARIFIED: Should this work as a facade?&lt;br /&gt;
** Events:&lt;br /&gt;
*** BeforeCollectingTests (maybe better: BeforeScanningProject? - there are also the test-related modules)&lt;br /&gt;
*** AfterCollectingTests (maybe better: AfterScanningProject? - reasoning as above)&lt;br /&gt;
*** AddedTestRunToRepository(ITestRun)&lt;br /&gt;
&lt;br /&gt;
* '''TestCollector'''&lt;br /&gt;
** Responsibility: Collects the relevant information for running tests. (rephrased: In order to run a test, no one has to go back to the VBProject to look up something)&lt;br /&gt;
** Input: Events from a component in VbeProjectManagement or just a list of all modules in the VBProject&lt;br /&gt;
** Output: IObservable&amp;lt;ITest&amp;gt;/Events&lt;br /&gt;
*** FoundTestMethod(ITest)&lt;br /&gt;
*** LostTestMethod(ITest)&lt;br /&gt;
*** FoundTestRelatedMethod(IAttributedMethod)&lt;br /&gt;
*** LostTestRelatedMethod(IAttributedMethod)&lt;br /&gt;
** maybe better name: ProjectScanner&lt;br /&gt;
*** there are not just the test classes itself, but also the test-related modules&lt;br /&gt;
** TestManager listens to the output and maintains the list of all test related info in the repository&lt;br /&gt;
&lt;br /&gt;
* '''Repository.AllTests'''&lt;br /&gt;
** Responsibility: Represents the current structure of the VBProject with respect to tests&lt;br /&gt;
** Flat list (no fixture-tests hierarchy), hierarchies must be derived by UI components&lt;br /&gt;
** Input: Method calls by the TestManager&lt;br /&gt;
** Output: Enumeration/IObservable&amp;lt;ITest&amp;gt;/Events:&lt;br /&gt;
*** AddedTest(ITest)&lt;br /&gt;
*** RemovedTest(ITest)&lt;br /&gt;
*** Cleared&lt;br /&gt;
&lt;br /&gt;
* '''Repository.TestRelated''' (NOT IN THE DRAWING)&lt;br /&gt;
** Responsibility: Represents all modules in the VBProject that are just test-related, but not actually test fixtures.&lt;br /&gt;
** global info needed by the TestRunner&lt;br /&gt;
** Input: method calls by the TestManager in reaction to events from TestCollector&lt;br /&gt;
** Output: none&lt;br /&gt;
** The TestManager instantiates the TestRunner for each run with this information&lt;br /&gt;
&lt;br /&gt;
* '''TestRunner'''&lt;br /&gt;
** Responsibility: Coordinates the calls to the methods of the test suite (tests and tag hook handler)&lt;br /&gt;
** Note: Its the TestExecutor that actually invokes the methods via COM, not the TestRunner!&lt;br /&gt;
** Input:&lt;br /&gt;
*** List of tests (subset of test in Repository.AllTests)&lt;br /&gt;
*** List of test related modules (Repository.TestRelated)&lt;br /&gt;
** Output: IObservable&amp;lt;ITestResult&amp;gt;/Events&lt;br /&gt;
*** StartingTestRun(bool cancel)&lt;br /&gt;
*** StartedTestRun(ITestRun)&lt;br /&gt;
*** TagSetChanged(IEnumerable&amp;lt;ITagChangeInfo&amp;gt;)&lt;br /&gt;
*** FinishedTestRun(ITestRun)&lt;br /&gt;
*** ITestRun steadiliy populated during the test run&lt;br /&gt;
** The calling of tag hook handlers (see below) is also managed by the TestRunner&lt;br /&gt;
&lt;br /&gt;
* '''TestExecutor'''&lt;br /&gt;
** Responsibility: Is able to instantiate classes and invoke methods and understands exceptions from failed assertions&lt;br /&gt;
* Input:&lt;br /&gt;
** name of the class to instantiate/terminate&lt;br /&gt;
** name of the method to execute (along with parameters in the case of a call for a row test)&lt;br /&gt;
** Don't use ITest to pass the input parameters.&lt;br /&gt;
*** That's too much (attributes not needed generally, rowdata needed without name of the row or ignored state)&lt;br /&gt;
*** DIFFERENT FROM THE DRAWING&lt;br /&gt;
* Output:&lt;br /&gt;
** True: method call succeeded&lt;br /&gt;
** False: an assertion failed (assertion message is provided to the TestRunner)&lt;br /&gt;
** Non-Assert exceptions are passed to the TestRunner as is&lt;br /&gt;
*** Future extension point: special handling for exceptions&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
=== Conceptual ===&lt;br /&gt;
&lt;br /&gt;
* No support of FixtureSetup/FixtureTeardown&lt;br /&gt;
** Seldom used, and when, then often misused (violating independency of tests)&lt;br /&gt;
** More global setup/cleanup (as setting up backend for test) via tag-hooks&lt;br /&gt;
&lt;br /&gt;
* Tags applied on module level inherit to all children (test methods and rows in row tests)&lt;br /&gt;
&lt;br /&gt;
* Support for tag hierarchies?&lt;br /&gt;
** path notation: e.g. DatabaseTests/ADO/Oracle&lt;br /&gt;
&lt;br /&gt;
* No guarantee how often a test class will be instantiated during a test run&lt;br /&gt;
** discourage to use class scope (Initialize/Terminate and Fields)&lt;br /&gt;
&lt;br /&gt;
* Tag Hooks&lt;br /&gt;
** Every time a tag appears during a test run, a setup tag-hook is called (if available)&lt;br /&gt;
** Every time a tag vanishes during a test run, a teardown tag-hook is called (if available)&lt;br /&gt;
** Tag hook handler&lt;br /&gt;
*** reside in class modules annotated with AccUnit:TestRelated&lt;br /&gt;
*** are tagged with AccUnit:Setup(&amp;quot;MyTag&amp;quot;), and AccUnit:Teardown(&amp;quot;MyTag&amp;quot;), resp.&lt;br /&gt;
&lt;br /&gt;
* Test related modules (AccUnit:TestRelated) can be standard modules or class modules&lt;br /&gt;
** Test related modules with tag hooks (AccUnit:Setup(&amp;quot;MyTag&amp;quot;), AccUnit:Teardown(&amp;quot;MyTag&amp;quot;)) must reside in class modules&lt;br /&gt;
*** This helps to avoid global state enduring over the end of a test run (still could be done by copy state to fields in standard module)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Technical ===&lt;br /&gt;
&lt;br /&gt;
* New assembly AccUnit.Framework&lt;br /&gt;
** No References to COM (SimplyVbUnit/Access/TLI)&lt;br /&gt;
&lt;br /&gt;
* No IFixture&lt;br /&gt;
** By now, no relevant information besides the name&lt;br /&gt;
** The name of the fixture is a property of ITest&lt;br /&gt;
&lt;br /&gt;
* AccUnit:Rollback and AccUnit:ClickingMsgBox implemented as kind of plugins to the structure&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Data structures ===&lt;br /&gt;
&lt;br /&gt;
* IAttributedMethod&lt;br /&gt;
** modulename&lt;br /&gt;
** methodname&lt;br /&gt;
** attributes&lt;br /&gt;
&lt;br /&gt;
* ITest&lt;br /&gt;
** fixturename&lt;br /&gt;
** methodname&lt;br /&gt;
** attributes&lt;br /&gt;
** tags (specialized subset of attributes)&lt;br /&gt;
** rowdata (specialized subset of attributes)&lt;br /&gt;
&lt;br /&gt;
* ITestRun&lt;br /&gt;
** ProjectInfo (Name of the file, version info?, ...)&lt;br /&gt;
** List&amp;lt;ITestResult&amp;gt;&lt;br /&gt;
** State (prepared, running, finished, canceled, aborted)&lt;br /&gt;
** StartedAt&lt;br /&gt;
** EndedAt&lt;br /&gt;
** Summary&lt;br /&gt;
&lt;br /&gt;
* ITagChangeInfo&lt;br /&gt;
** Tag (string)&lt;br /&gt;
** Change (appeared/disappeared)&lt;br /&gt;
&lt;br /&gt;
*ITestResult&lt;br /&gt;
** ITest&lt;br /&gt;
** status (success, failed, error, ignored) ... error = runtime error; failed = error by asserts&lt;br /&gt;
** message (??? rowtest: summary or null ?)&lt;br /&gt;
** rowdata (testresults of rows)&lt;br /&gt;
** StartedAt&lt;br /&gt;
** EndedAt&lt;br /&gt;
** Summary ??? ... summary of row tests?&lt;br /&gt;
&lt;br /&gt;
=== Open issues ===&lt;br /&gt;
* Test Reactive Extensions in a VBE AddIn&lt;/div&gt;</description>
			<pubDate>Sat, 14 Jan 2012 17:52:37 GMT</pubDate>			<dc:creator>Josef Pötzl</dc:creator>			<comments>https://en.accunit.access-codelib.net/Talk:NewTestRunner</comments>		</item>
		<item>
			<title>NewTestRunner</title>
			<link>https://en.accunit.access-codelib.net/NewTestRunner</link>
			<description>&lt;p&gt;Josef Pötzl:&amp;#32;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[de:NewTestRunner]]&lt;br /&gt;
This is a first draft for an AccUnit TestRunner.&lt;br /&gt;
&lt;br /&gt;
[[File:AccUnit_TestRunner_Draft.jpg|480px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Details ==&lt;br /&gt;
&lt;br /&gt;
(Gathered mainly as results of the discussion between Josef and Paul on Jan 13th, 2012)&lt;br /&gt;
&lt;br /&gt;
TO BE ORDERED AND REVIEWED&lt;br /&gt;
&lt;br /&gt;
=== Reponsibilites and Input/Output ===&lt;br /&gt;
&lt;br /&gt;
* '''TestManager'''&lt;br /&gt;
** Responsibility: Orchestrates the parts described below&lt;br /&gt;
** Responsibilites in particular:&lt;br /&gt;
*** A2: listening to TestCollector and maintaing the list of test related info in the repository&lt;br /&gt;
*** B0: instantiates the TestRunner for each new test run&lt;br /&gt;
*** B1: providing a list of tests to be run by the TestRunner&lt;br /&gt;
**** some sources: all tests from the repository, selection from a test tree, test according to the current selection of the IDE, a prioritizer component, selection by tags, ...)&lt;br /&gt;
*** B3: creating an instance for the current TestRun (actually before starting)&lt;br /&gt;
*** B2: starting the TestRunner (as reaction to some user action)&lt;br /&gt;
*** B4: listening to the outputs of the TestRunner and maintaining the current TestRun object&lt;br /&gt;
*** B5: adding the current TestRun object to the list of test runs in the repository&lt;br /&gt;
** TO BE CLARIFIED: Should this work as a facade?&lt;br /&gt;
** Events:&lt;br /&gt;
*** BeforeCollectingTests (maybe better: BeforeScanningProject? - there are also the test-related modules)&lt;br /&gt;
*** AfterCollectingTests (maybe better: AfterScanningProject? - reasoning as above)&lt;br /&gt;
*** AddedTestRunToRepository(ITestRun)&lt;br /&gt;
&lt;br /&gt;
* '''TestCollector'''&lt;br /&gt;
** Responsibility: Collects the relevant information for running tests. (rephrased: In order to run a test, no one has to go back to the VBProject to look up something)&lt;br /&gt;
** Input: Events from a component in VbeProjectManagement or just a list of all modules in the VBProject&lt;br /&gt;
** Output: IObservable&amp;lt;ITest&amp;gt;/Events&lt;br /&gt;
*** FoundTestMethod(ITest)&lt;br /&gt;
*** LostTestMethod(ITest)&lt;br /&gt;
*** FoundTestRelatedMethod(IAttributedMethod)&lt;br /&gt;
*** LostTestRelatedMethod(IAttributedMethod)&lt;br /&gt;
** maybe better name: ProjectScanner&lt;br /&gt;
*** there are not just the test classes itself, but also the test-related modules&lt;br /&gt;
** TestManager listens to the output and maintains the list of all test related info in the repository&lt;br /&gt;
&lt;br /&gt;
* '''Repository.AllTests'''&lt;br /&gt;
** Responsibility: Represents the current structure of the VBProject with respect to tests&lt;br /&gt;
** Flat list (no fixture-tests hierarchy), hierarchies must be derived by UI components&lt;br /&gt;
** Input: Method calls by the TestManager&lt;br /&gt;
** Output: Enumeration/IObservable&amp;lt;ITest&amp;gt;/Events:&lt;br /&gt;
*** AddedTest(ITest)&lt;br /&gt;
*** RemovedTest(ITest)&lt;br /&gt;
*** Cleared&lt;br /&gt;
&lt;br /&gt;
* '''Repository.TestRelated''' (NOT IN THE DRAWING)&lt;br /&gt;
** Responsibility: Represents all modules in the VBProject that are just test-related, but not actually test fixtures.&lt;br /&gt;
** global info needed by the TestRunner&lt;br /&gt;
** Input: method calls by the TestManager in reaction to events from TestCollector&lt;br /&gt;
** Output: none&lt;br /&gt;
** The TestManager instantiates the TestRunner for each run with this information&lt;br /&gt;
&lt;br /&gt;
* '''TestRunner'''&lt;br /&gt;
** Responsibility: Coordinates the calls to the methods of the test suite (tests and tag hook handler)&lt;br /&gt;
** Note: Its the TestExecutor that actually invokes the methods via COM, not the TestRunner!&lt;br /&gt;
** Input:&lt;br /&gt;
*** List of tests (subset of test in Repository.AllTests)&lt;br /&gt;
*** List of test related modules (Repository.TestRelated)&lt;br /&gt;
** Output: IObservable&amp;lt;ITestResult&amp;gt;/Events&lt;br /&gt;
*** StartingTestRun(bool cancel)&lt;br /&gt;
*** StartedTestRun(ITestRun)&lt;br /&gt;
*** TagSetChanged(IEnumerable&amp;lt;ITagChangeInfo&amp;gt;)&lt;br /&gt;
*** FinishedTestRun(ITestRun)&lt;br /&gt;
*** ITestRun steadiliy populated during the test run&lt;br /&gt;
** The calling of tag hook handlers (see below) is also managed by the TestRunner&lt;br /&gt;
&lt;br /&gt;
* '''TestExecutor'''&lt;br /&gt;
** Responsibility: Is able to instantiate classes and invoke methods and understands exceptions from failed assertions&lt;br /&gt;
* Input:&lt;br /&gt;
** name of the class to instantiate/terminate&lt;br /&gt;
** name of the method to execute (along with parameters in the case of a call for a row test)&lt;br /&gt;
** Don't use ITest to pass the input parameters.&lt;br /&gt;
*** That's too much (attributes not needed generally, rowdata needed without name of the row or ignored state)&lt;br /&gt;
*** DIFFERENT FROM THE DRAWING&lt;br /&gt;
* Output:&lt;br /&gt;
** True: method call succeeded&lt;br /&gt;
** False: an assertion failed (assertion message is provided to the TestRunner)&lt;br /&gt;
** Non-Assert exceptions are passed to the TestRunner as is&lt;br /&gt;
*** Future extension point: special handling for exceptions&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
=== Conceptual ===&lt;br /&gt;
&lt;br /&gt;
* No support of FixtureSetup/FixtureTeardown&lt;br /&gt;
** Seldom used, and when, then often misused (violating independency of tests)&lt;br /&gt;
** More global setup/cleanup (as setting up backend for test) via tag-hooks&lt;br /&gt;
&lt;br /&gt;
* Tags applied on module level inherit to all children (test methods and rows in row tests)&lt;br /&gt;
&lt;br /&gt;
* Support for tag hierarchies?&lt;br /&gt;
** path notation: e.g. DatabaseTests/ADO/Oracle&lt;br /&gt;
&lt;br /&gt;
* No guarantee how often a test class will be instantiated during a test run&lt;br /&gt;
** discourage to use class scope (Initialize/Terminate and Fields)&lt;br /&gt;
&lt;br /&gt;
* Tag Hooks&lt;br /&gt;
** Every time a tag appears during a test run, a setup tag-hook is called (if available)&lt;br /&gt;
** Every time a tag vanishes during a test run, a teardown tag-hook is called (if available)&lt;br /&gt;
** Tag hook handler&lt;br /&gt;
*** reside in class modules annotated with AccUnit:TestRelated&lt;br /&gt;
*** are tagged with AccUnit:Setup(&amp;quot;MyTag&amp;quot;), and AccUnit:Teardown(&amp;quot;MyTag&amp;quot;), resp.&lt;br /&gt;
&lt;br /&gt;
* Test related modules (AccUnit:TestRelated) can be standard modules or class modules&lt;br /&gt;
** Test related modules with tag hooks (AccUnit:Setup(&amp;quot;MyTag&amp;quot;), AccUnit:Teardown(&amp;quot;MyTag&amp;quot;)) must reside in class modules&lt;br /&gt;
*** This helps to avoid global state enduring over the end of a test run (still could be done by copy state to fields in standard module)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Technical ===&lt;br /&gt;
&lt;br /&gt;
* New assembly AccUnit.Framework&lt;br /&gt;
** No References to COM (SimplyVbUnit/Access/TLI)&lt;br /&gt;
&lt;br /&gt;
* No IFixture&lt;br /&gt;
** By now, no relevant information besides the name&lt;br /&gt;
** The name of the fixture is a property of ITest&lt;br /&gt;
&lt;br /&gt;
* AccUnit:Rollback and AccUnit:ClickingMsgBox implemented as kind of plugins to the structure&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Data structures ===&lt;br /&gt;
&lt;br /&gt;
* IAttributedMethod&lt;br /&gt;
** modulename&lt;br /&gt;
** methodname&lt;br /&gt;
** attributes&lt;br /&gt;
&lt;br /&gt;
* ITest&lt;br /&gt;
** fixturename&lt;br /&gt;
** methodname&lt;br /&gt;
** attributes&lt;br /&gt;
** tags (specialized subset of attributes)&lt;br /&gt;
** rowdata (specialized subset of attributes)&lt;br /&gt;
&lt;br /&gt;
* ITestRun&lt;br /&gt;
** ProjectInfo (Name of the file, version info?, ...)&lt;br /&gt;
** List&amp;lt;ITestResult&amp;gt;&lt;br /&gt;
** State (prepared, running, finished, canceled, aborted)&lt;br /&gt;
** StartedAt&lt;br /&gt;
** EndedAt&lt;br /&gt;
** Summary&lt;br /&gt;
&lt;br /&gt;
* ITagChangeInfo&lt;br /&gt;
** Tag (string)&lt;br /&gt;
** Change (appeared/disappeared)&lt;br /&gt;
&lt;br /&gt;
*ITestResult&lt;br /&gt;
** ITest&lt;br /&gt;
** status (success, failed, error, ignored) ... error = runtime error; failed = error by asserts&lt;br /&gt;
** message (??? rowtest: summary or null ?)&lt;br /&gt;
** rowdata (testresults of rows)&lt;br /&gt;
** StartedAt&lt;br /&gt;
** EndedAt&lt;br /&gt;
** Summary ??? ... summary of row tests?&lt;br /&gt;
&lt;br /&gt;
=== Open issues ===&lt;br /&gt;
* Test Reactive Extensions in a VBE AddIn&lt;/div&gt;</description>
			<pubDate>Sat, 14 Jan 2012 17:52:31 GMT</pubDate>			<dc:creator>Josef Pötzl</dc:creator>			<comments>https://en.accunit.access-codelib.net/Talk:NewTestRunner</comments>		</item>
		<item>
			<title>NewTestRunner</title>
			<link>https://en.accunit.access-codelib.net/NewTestRunner</link>
			<description>&lt;p&gt;Josef Pötzl:&amp;#32;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[de:NewTestRunner]]&lt;br /&gt;
This is a first draft for an AccUnit TestRunner.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Details ==&lt;br /&gt;
&lt;br /&gt;
(Gathered mainly as results of the discussion between Josef and Paul on Jan 13th, 2012)&lt;br /&gt;
&lt;br /&gt;
TO BE ORDERED AND REVIEWED&lt;br /&gt;
&lt;br /&gt;
=== Reponsibilites and Input/Output ===&lt;br /&gt;
&lt;br /&gt;
* '''TestManager'''&lt;br /&gt;
** Responsibility: Orchestrates the parts described below&lt;br /&gt;
** Responsibilites in particular:&lt;br /&gt;
*** A2: listening to TestCollector and maintaing the list of test related info in the repository&lt;br /&gt;
*** B0: instantiates the TestRunner for each new test run&lt;br /&gt;
*** B1: providing a list of tests to be run by the TestRunner&lt;br /&gt;
**** some sources: all tests from the repository, selection from a test tree, test according to the current selection of the IDE, a prioritizer component, selection by tags, ...)&lt;br /&gt;
*** B3: creating an instance for the current TestRun (actually before starting)&lt;br /&gt;
*** B2: starting the TestRunner (as reaction to some user action)&lt;br /&gt;
*** B4: listening to the outputs of the TestRunner and maintaining the current TestRun object&lt;br /&gt;
*** B5: adding the current TestRun object to the list of test runs in the repository&lt;br /&gt;
** TO BE CLARIFIED: Should this work as a facade?&lt;br /&gt;
** Events:&lt;br /&gt;
*** BeforeCollectingTests (maybe better: BeforeScanningProject? - there are also the test-related modules)&lt;br /&gt;
*** AfterCollectingTests (maybe better: AfterScanningProject? - reasoning as above)&lt;br /&gt;
*** AddedTestRunToRepository(ITestRun)&lt;br /&gt;
&lt;br /&gt;
* '''TestCollector'''&lt;br /&gt;
** Responsibility: Collects the relevant information for running tests. (rephrased: In order to run a test, no one has to go back to the VBProject to look up something)&lt;br /&gt;
** Input: Events from a component in VbeProjectManagement or just a list of all modules in the VBProject&lt;br /&gt;
** Output: IObservable&amp;lt;ITest&amp;gt;/Events&lt;br /&gt;
*** FoundTestMethod(ITest)&lt;br /&gt;
*** LostTestMethod(ITest)&lt;br /&gt;
*** FoundTestRelatedMethod(IAttributedMethod)&lt;br /&gt;
*** LostTestRelatedMethod(IAttributedMethod)&lt;br /&gt;
** maybe better name: ProjectScanner&lt;br /&gt;
*** there are not just the test classes itself, but also the test-related modules&lt;br /&gt;
** TestManager listens to the output and maintains the list of all test related info in the repository&lt;br /&gt;
&lt;br /&gt;
* '''Repository.AllTests'''&lt;br /&gt;
** Responsibility: Represents the current structure of the VBProject with respect to tests&lt;br /&gt;
** Flat list (no fixture-tests hierarchy), hierarchies must be derived by UI components&lt;br /&gt;
** Input: Method calls by the TestManager&lt;br /&gt;
** Output: Enumeration/IObservable&amp;lt;ITest&amp;gt;/Events:&lt;br /&gt;
*** AddedTest(ITest)&lt;br /&gt;
*** RemovedTest(ITest)&lt;br /&gt;
*** Cleared&lt;br /&gt;
&lt;br /&gt;
* '''Repository.TestRelated''' (NOT IN THE DRAWING)&lt;br /&gt;
** Responsibility: Represents all modules in the VBProject that are just test-related, but not actually test fixtures.&lt;br /&gt;
** global info needed by the TestRunner&lt;br /&gt;
** Input: method calls by the TestManager in reaction to events from TestCollector&lt;br /&gt;
** Output: none&lt;br /&gt;
** The TestManager instantiates the TestRunner for each run with this information&lt;br /&gt;
&lt;br /&gt;
* '''TestRunner'''&lt;br /&gt;
** Responsibility: Coordinates the calls to the methods of the test suite (tests and tag hook handler)&lt;br /&gt;
** Note: Its the TestExecutor that actually invokes the methods via COM, not the TestRunner!&lt;br /&gt;
** Input:&lt;br /&gt;
*** List of tests (subset of test in Repository.AllTests)&lt;br /&gt;
*** List of test related modules (Repository.TestRelated)&lt;br /&gt;
** Output: IObservable&amp;lt;ITestResult&amp;gt;/Events&lt;br /&gt;
*** StartingTestRun(bool cancel)&lt;br /&gt;
*** StartedTestRun(ITestRun)&lt;br /&gt;
*** TagSetChanged(IEnumerable&amp;lt;ITagChangeInfo&amp;gt;)&lt;br /&gt;
*** FinishedTestRun(ITestRun)&lt;br /&gt;
*** ITestRun steadiliy populated during the test run&lt;br /&gt;
** The calling of tag hook handlers (see below) is also managed by the TestRunner&lt;br /&gt;
&lt;br /&gt;
* '''TestExecutor'''&lt;br /&gt;
** Responsibility: Is able to instantiate classes and invoke methods and understands exceptions from failed assertions&lt;br /&gt;
* Input:&lt;br /&gt;
** name of the class to instantiate/terminate&lt;br /&gt;
** name of the method to execute (along with parameters in the case of a call for a row test)&lt;br /&gt;
** Don't use ITest to pass the input parameters.&lt;br /&gt;
*** That's too much (attributes not needed generally, rowdata needed without name of the row or ignored state)&lt;br /&gt;
*** DIFFERENT FROM THE DRAWING&lt;br /&gt;
* Output:&lt;br /&gt;
** True: method call succeeded&lt;br /&gt;
** False: an assertion failed (assertion message is provided to the TestRunner)&lt;br /&gt;
** Non-Assert exceptions are passed to the TestRunner as is&lt;br /&gt;
*** Future extension point: special handling for exceptions&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
=== Conceptual ===&lt;br /&gt;
&lt;br /&gt;
* No support of FixtureSetup/FixtureTeardown&lt;br /&gt;
** Seldom used, and when, then often misused (violating independency of tests)&lt;br /&gt;
** More global setup/cleanup (as setting up backend for test) via tag-hooks&lt;br /&gt;
&lt;br /&gt;
* Tags applied on module level inherit to all children (test methods and rows in row tests)&lt;br /&gt;
&lt;br /&gt;
* Support for tag hierarchies?&lt;br /&gt;
** path notation: e.g. DatabaseTests/ADO/Oracle&lt;br /&gt;
&lt;br /&gt;
* No guarantee how often a test class will be instantiated during a test run&lt;br /&gt;
** discourage to use class scope (Initialize/Terminate and Fields)&lt;br /&gt;
&lt;br /&gt;
* Tag Hooks&lt;br /&gt;
** Every time a tag appears during a test run, a setup tag-hook is called (if available)&lt;br /&gt;
** Every time a tag vanishes during a test run, a teardown tag-hook is called (if available)&lt;br /&gt;
** Tag hook handler&lt;br /&gt;
*** reside in class modules annotated with AccUnit:TestRelated&lt;br /&gt;
*** are tagged with AccUnit:Setup(&amp;quot;MyTag&amp;quot;), and AccUnit:Teardown(&amp;quot;MyTag&amp;quot;), resp.&lt;br /&gt;
&lt;br /&gt;
* Test related modules (AccUnit:TestRelated) can be standard modules or class modules&lt;br /&gt;
** Test related modules with tag hooks (AccUnit:Setup(&amp;quot;MyTag&amp;quot;), AccUnit:Teardown(&amp;quot;MyTag&amp;quot;)) must reside in class modules&lt;br /&gt;
*** This helps to avoid global state enduring over the end of a test run (still could be done by copy state to fields in standard module)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Technical ===&lt;br /&gt;
&lt;br /&gt;
* New assembly AccUnit.Framework&lt;br /&gt;
** No References to COM (SimplyVbUnit/Access/TLI)&lt;br /&gt;
&lt;br /&gt;
* No IFixture&lt;br /&gt;
** By now, no relevant information besides the name&lt;br /&gt;
** The name of the fixture is a property of ITest&lt;br /&gt;
&lt;br /&gt;
* AccUnit:Rollback and AccUnit:ClickingMsgBox implemented as kind of plugins to the structure&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Data structures ===&lt;br /&gt;
&lt;br /&gt;
* IAttributedMethod&lt;br /&gt;
** modulename&lt;br /&gt;
** methodname&lt;br /&gt;
** attributes&lt;br /&gt;
&lt;br /&gt;
* ITest&lt;br /&gt;
** fixturename&lt;br /&gt;
** methodname&lt;br /&gt;
** attributes&lt;br /&gt;
** tags (specialized subset of attributes)&lt;br /&gt;
** rowdata (specialized subset of attributes)&lt;br /&gt;
&lt;br /&gt;
* ITestRun&lt;br /&gt;
** ProjectInfo (Name of the file, version info?, ...)&lt;br /&gt;
** List&amp;lt;ITestResult&amp;gt;&lt;br /&gt;
** State (prepared, running, finished, canceled, aborted)&lt;br /&gt;
** StartedAt&lt;br /&gt;
** EndedAt&lt;br /&gt;
** Summary&lt;br /&gt;
&lt;br /&gt;
* ITagChangeInfo&lt;br /&gt;
** Tag (string)&lt;br /&gt;
** Change (appeared/disappeared)&lt;br /&gt;
&lt;br /&gt;
*ITestResult&lt;br /&gt;
** ITest&lt;br /&gt;
** status (success, failed, error, ignored) ... error = runtime error; failed = error by asserts&lt;br /&gt;
** message (??? rowtest: summary or null ?)&lt;br /&gt;
** rowdata (testresults of rows)&lt;br /&gt;
** StartedAt&lt;br /&gt;
** EndedAt&lt;br /&gt;
** Summary ??? ... summary of row tests?&lt;br /&gt;
&lt;br /&gt;
=== Open issues ===&lt;br /&gt;
* Test Reactive Extensions in a VBE AddIn&lt;/div&gt;</description>
			<pubDate>Sat, 14 Jan 2012 17:50:53 GMT</pubDate>			<dc:creator>Josef Pötzl</dc:creator>			<comments>https://en.accunit.access-codelib.net/Talk:NewTestRunner</comments>		</item>
		<item>
			<title>NewTestRunner</title>
			<link>https://en.accunit.access-codelib.net/NewTestRunner</link>
			<description>&lt;p&gt;Josef Pötzl:&amp;#32;Created page with 'de:NewTestRunner This is a first draft for an AccUnit TestRunner.  480px   == Details ==  (Gathered mainly as results of the discussion…'&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[de:NewTestRunner]]&lt;br /&gt;
This is a first draft for an AccUnit TestRunner.&lt;br /&gt;
&lt;br /&gt;
[[Datei:AccUnit_TestRunner_Draft.jpg|480px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Details ==&lt;br /&gt;
&lt;br /&gt;
(Gathered mainly as results of the discussion between Josef and Paul on Jan 13th, 2012)&lt;br /&gt;
&lt;br /&gt;
TO BE ORDERED AND REVIEWED&lt;br /&gt;
&lt;br /&gt;
=== Reponsibilites and Input/Output ===&lt;br /&gt;
&lt;br /&gt;
* '''TestManager'''&lt;br /&gt;
** Responsibility: Orchestrates the parts described below&lt;br /&gt;
** Responsibilites in particular:&lt;br /&gt;
*** A2: listening to TestCollector and maintaing the list of test related info in the repository&lt;br /&gt;
*** B0: instantiates the TestRunner for each new test run&lt;br /&gt;
*** B1: providing a list of tests to be run by the TestRunner&lt;br /&gt;
**** some sources: all tests from the repository, selection from a test tree, test according to the current selection of the IDE, a prioritizer component, selection by tags, ...)&lt;br /&gt;
*** B3: creating an instance for the current TestRun (actually before starting)&lt;br /&gt;
*** B2: starting the TestRunner (as reaction to some user action)&lt;br /&gt;
*** B4: listening to the outputs of the TestRunner and maintaining the current TestRun object&lt;br /&gt;
*** B5: adding the current TestRun object to the list of test runs in the repository&lt;br /&gt;
** TO BE CLARIFIED: Should this work as a facade?&lt;br /&gt;
** Events:&lt;br /&gt;
*** BeforeCollectingTests (maybe better: BeforeScanningProject? - there are also the test-related modules)&lt;br /&gt;
*** AfterCollectingTests (maybe better: AfterScanningProject? - reasoning as above)&lt;br /&gt;
*** AddedTestRunToRepository(ITestRun)&lt;br /&gt;
&lt;br /&gt;
* '''TestCollector'''&lt;br /&gt;
** Responsibility: Collects the relevant information for running tests. (rephrased: In order to run a test, no one has to go back to the VBProject to look up something)&lt;br /&gt;
** Input: Events from a component in VbeProjectManagement or just a list of all modules in the VBProject&lt;br /&gt;
** Output: IObservable&amp;lt;ITest&amp;gt;/Events&lt;br /&gt;
*** FoundTestMethod(ITest)&lt;br /&gt;
*** LostTestMethod(ITest)&lt;br /&gt;
*** FoundTestRelatedMethod(IAttributedMethod)&lt;br /&gt;
*** LostTestRelatedMethod(IAttributedMethod)&lt;br /&gt;
** maybe better name: ProjectScanner&lt;br /&gt;
*** there are not just the test classes itself, but also the test-related modules&lt;br /&gt;
** TestManager listens to the output and maintains the list of all test related info in the repository&lt;br /&gt;
&lt;br /&gt;
* '''Repository.AllTests'''&lt;br /&gt;
** Responsibility: Represents the current structure of the VBProject with respect to tests&lt;br /&gt;
** Flat list (no fixture-tests hierarchy), hierarchies must be derived by UI components&lt;br /&gt;
** Input: Method calls by the TestManager&lt;br /&gt;
** Output: Enumeration/IObservable&amp;lt;ITest&amp;gt;/Events:&lt;br /&gt;
*** AddedTest(ITest)&lt;br /&gt;
*** RemovedTest(ITest)&lt;br /&gt;
*** Cleared&lt;br /&gt;
&lt;br /&gt;
* '''Repository.TestRelated''' (NOT IN THE DRAWING)&lt;br /&gt;
** Responsibility: Represents all modules in the VBProject that are just test-related, but not actually test fixtures.&lt;br /&gt;
** global info needed by the TestRunner&lt;br /&gt;
** Input: method calls by the TestManager in reaction to events from TestCollector&lt;br /&gt;
** Output: none&lt;br /&gt;
** The TestManager instantiates the TestRunner for each run with this information&lt;br /&gt;
&lt;br /&gt;
* '''TestRunner'''&lt;br /&gt;
** Responsibility: Coordinates the calls to the methods of the test suite (tests and tag hook handler)&lt;br /&gt;
** Note: Its the TestExecutor that actually invokes the methods via COM, not the TestRunner!&lt;br /&gt;
** Input:&lt;br /&gt;
*** List of tests (subset of test in Repository.AllTests)&lt;br /&gt;
*** List of test related modules (Repository.TestRelated)&lt;br /&gt;
** Output: IObservable&amp;lt;ITestResult&amp;gt;/Events&lt;br /&gt;
*** StartingTestRun(bool cancel)&lt;br /&gt;
*** StartedTestRun(ITestRun)&lt;br /&gt;
*** TagSetChanged(IEnumerable&amp;lt;ITagChangeInfo&amp;gt;)&lt;br /&gt;
*** FinishedTestRun(ITestRun)&lt;br /&gt;
*** ITestRun steadiliy populated during the test run&lt;br /&gt;
** The calling of tag hook handlers (see below) is also managed by the TestRunner&lt;br /&gt;
&lt;br /&gt;
* '''TestExecutor'''&lt;br /&gt;
** Responsibility: Is able to instantiate classes and invoke methods and understands exceptions from failed assertions&lt;br /&gt;
* Input:&lt;br /&gt;
** name of the class to instantiate/terminate&lt;br /&gt;
** name of the method to execute (along with parameters in the case of a call for a row test)&lt;br /&gt;
** Don't use ITest to pass the input parameters.&lt;br /&gt;
*** That's too much (attributes not needed generally, rowdata needed without name of the row or ignored state)&lt;br /&gt;
*** DIFFERENT FROM THE DRAWING&lt;br /&gt;
* Output:&lt;br /&gt;
** True: method call succeeded&lt;br /&gt;
** False: an assertion failed (assertion message is provided to the TestRunner)&lt;br /&gt;
** Non-Assert exceptions are passed to the TestRunner as is&lt;br /&gt;
*** Future extension point: special handling for exceptions&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
=== Conceptual ===&lt;br /&gt;
&lt;br /&gt;
* No support of FixtureSetup/FixtureTeardown&lt;br /&gt;
** Seldom used, and when, then often misused (violating independency of tests)&lt;br /&gt;
** More global setup/cleanup (as setting up backend for test) via tag-hooks&lt;br /&gt;
&lt;br /&gt;
* Tags applied on module level inherit to all children (test methods and rows in row tests)&lt;br /&gt;
&lt;br /&gt;
* Support for tag hierarchies?&lt;br /&gt;
** path notation: e.g. DatabaseTests/ADO/Oracle&lt;br /&gt;
&lt;br /&gt;
* No guarantee how often a test class will be instantiated during a test run&lt;br /&gt;
** discourage to use class scope (Initialize/Terminate and Fields)&lt;br /&gt;
&lt;br /&gt;
* Tag Hooks&lt;br /&gt;
** Every time a tag appears during a test run, a setup tag-hook is called (if available)&lt;br /&gt;
** Every time a tag vanishes during a test run, a teardown tag-hook is called (if available)&lt;br /&gt;
** Tag hook handler&lt;br /&gt;
*** reside in class modules annotated with AccUnit:TestRelated&lt;br /&gt;
*** are tagged with AccUnit:Setup(&amp;quot;MyTag&amp;quot;), and AccUnit:Teardown(&amp;quot;MyTag&amp;quot;), resp.&lt;br /&gt;
&lt;br /&gt;
* Test related modules (AccUnit:TestRelated) can be standard modules or class modules&lt;br /&gt;
** Test related modules with tag hooks (AccUnit:Setup(&amp;quot;MyTag&amp;quot;), AccUnit:Teardown(&amp;quot;MyTag&amp;quot;)) must reside in class modules&lt;br /&gt;
*** This helps to avoid global state enduring over the end of a test run (still could be done by copy state to fields in standard module)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Technical ===&lt;br /&gt;
&lt;br /&gt;
* New assembly AccUnit.Framework&lt;br /&gt;
** No References to COM (SimplyVbUnit/Access/TLI)&lt;br /&gt;
&lt;br /&gt;
* No IFixture&lt;br /&gt;
** By now, no relevant information besides the name&lt;br /&gt;
** The name of the fixture is a property of ITest&lt;br /&gt;
&lt;br /&gt;
* AccUnit:Rollback and AccUnit:ClickingMsgBox implemented as kind of plugins to the structure&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Data structures ===&lt;br /&gt;
&lt;br /&gt;
* IAttributedMethod&lt;br /&gt;
** modulename&lt;br /&gt;
** methodname&lt;br /&gt;
** attributes&lt;br /&gt;
&lt;br /&gt;
* ITest&lt;br /&gt;
** fixturename&lt;br /&gt;
** methodname&lt;br /&gt;
** attributes&lt;br /&gt;
** tags (specialized subset of attributes)&lt;br /&gt;
** rowdata (specialized subset of attributes)&lt;br /&gt;
&lt;br /&gt;
* ITestRun&lt;br /&gt;
** ProjectInfo (Name of the file, version info?, ...)&lt;br /&gt;
** List&amp;lt;ITestResult&amp;gt;&lt;br /&gt;
** State (prepared, running, finished, canceled, aborted)&lt;br /&gt;
** StartedAt&lt;br /&gt;
** EndedAt&lt;br /&gt;
** Summary&lt;br /&gt;
&lt;br /&gt;
* ITagChangeInfo&lt;br /&gt;
** Tag (string)&lt;br /&gt;
** Change (appeared/disappeared)&lt;br /&gt;
&lt;br /&gt;
*ITestResult&lt;br /&gt;
** ITest&lt;br /&gt;
** status (success, failed, error, ignored) ... error = runtime error; failed = error by asserts&lt;br /&gt;
** message (??? rowtest: summary or null ?)&lt;br /&gt;
** rowdata (testresults of rows)&lt;br /&gt;
** StartedAt&lt;br /&gt;
** EndedAt&lt;br /&gt;
** Summary ??? ... summary of row tests?&lt;br /&gt;
&lt;br /&gt;
=== Open issues ===&lt;br /&gt;
* Test Reactive Extensions in a VBE AddIn&lt;/div&gt;</description>
			<pubDate>Sat, 14 Jan 2012 17:50:36 GMT</pubDate>			<dc:creator>Josef Pötzl</dc:creator>			<comments>https://en.accunit.access-codelib.net/Talk:NewTestRunner</comments>		</item>
		<item>
			<title>Installation</title>
			<link>https://en.accunit.access-codelib.net/Installation</link>
			<description>&lt;p&gt;Josef Pötzl:&amp;#32;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[de:Installation]]&lt;br /&gt;
&lt;br /&gt;
Before using AccUnit  you have to install SimplyVBUnit 3.0.&lt;br /&gt;
&lt;br /&gt;
You will find the setup file here: ''[http://sourceforge.net/projects/simplyvbunit/files/ View all files]'' on the  [http://sourceforge.net/projects/simplyvbunit/ project page of SimplyVBUnit at sourceforge].&lt;br /&gt;
&lt;br /&gt;
You may start the download of AccUnit here: [http://accunit.access-codelib.net/download/AccUnitSetup.zip AccUnitSetup.zip] &lt;br /&gt;
Start you installation with ''Setup.exe''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== AccUnit as VBE-Add-In ===&lt;/div&gt;</description>
			<pubDate>Thu, 22 Dec 2011 12:50:42 GMT</pubDate>			<dc:creator>Josef Pötzl</dc:creator>			<comments>https://en.accunit.access-codelib.net/Talk:Installation</comments>		</item>
		<item>
			<title>Basics</title>
			<link>https://en.accunit.access-codelib.net/Basics</link>
			<description>&lt;p&gt;Josef Pötzl:&amp;#32;Created page with 'de:Grundlagen'&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[de:Grundlagen]]&lt;/div&gt;</description>
			<pubDate>Fri, 25 Feb 2011 13:09:04 GMT</pubDate>			<dc:creator>Josef Pötzl</dc:creator>			<comments>https://en.accunit.access-codelib.net/Talk:Basics</comments>		</item>
		<item>
			<title>Advanced features</title>
			<link>https://en.accunit.access-codelib.net/Advanced_features</link>
			<description>&lt;p&gt;Josef Pötzl:&amp;#32;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[de:Erweiterte_Funktionen]]&lt;br /&gt;
&lt;br /&gt;
[[Testing with vbWatchdog]]&lt;/div&gt;</description>
			<pubDate>Sat, 12 Feb 2011 20:29:31 GMT</pubDate>			<dc:creator>Josef Pötzl</dc:creator>			<comments>https://en.accunit.access-codelib.net/Talk:Advanced_features</comments>		</item>
		<item>
			<title>Advanced features</title>
			<link>https://en.accunit.access-codelib.net/Advanced_features</link>
			<description>&lt;p&gt;Josef Pötzl:&amp;#32;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[de:Erweiterte_Funktionen]]&lt;br /&gt;
&lt;br /&gt;
[Testing with vbWatchdog]&lt;/div&gt;</description>
			<pubDate>Sat, 12 Feb 2011 20:29:20 GMT</pubDate>			<dc:creator>Josef Pötzl</dc:creator>			<comments>https://en.accunit.access-codelib.net/Talk:Advanced_features</comments>		</item>
		<item>
			<title>Testing with vbWatchdog</title>
			<link>https://en.accunit.access-codelib.net/Testing_with_vbWatchdog</link>
			<description>&lt;p&gt;Josef Pötzl:&amp;#32;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[de:Testen mit vbWatchdog]]&lt;br /&gt;
Use &amp;lt;code&amp;gt;PropagateUnhandledClassErrors&amp;lt;/code&amp;gt; to configure vbWatchdog (Version 2.3.2 or higher) for testing in Setup/TearDown.&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
Public Sub Setup()&lt;br /&gt;
   EnableWatchdog&lt;br /&gt;
   ErrEx.PropagateUnhandledClassErrors = True&lt;br /&gt;
End Sub&lt;br /&gt;
&lt;br /&gt;
Public Sub TearDown()&lt;br /&gt;
   DisableWatchdog&lt;br /&gt;
   ErrEx.PropagateUnhandledClassErrors = False&lt;br /&gt;
End Sub&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</description>
			<pubDate>Sat, 12 Feb 2011 20:27:58 GMT</pubDate>			<dc:creator>Josef Pötzl</dc:creator>			<comments>https://en.accunit.access-codelib.net/Talk:Testing_with_vbWatchdog</comments>		</item>
		<item>
			<title>Testing with vbWatchdog</title>
			<link>https://en.accunit.access-codelib.net/Testing_with_vbWatchdog</link>
			<description>&lt;p&gt;Josef Pötzl:&amp;#32;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[de:Testen mit vbWatchdog]]&lt;br /&gt;
Use PropagateUnhandledClassErrors to configure vbWatchdog (Version 2.3.2 or higher) for testing in Setup/TearDown.&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
Public Sub Setup()&lt;br /&gt;
   EnableWatchdog&lt;br /&gt;
   ErrEx.PropagateUnhandledClassErrors = True&lt;br /&gt;
End Sub&lt;br /&gt;
&lt;br /&gt;
Public Sub TearDown()&lt;br /&gt;
   DisableWatchdog&lt;br /&gt;
   ErrEx.PropagateUnhandledClassErrors = False&lt;br /&gt;
End Sub&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</description>
			<pubDate>Sat, 12 Feb 2011 20:27:36 GMT</pubDate>			<dc:creator>Josef Pötzl</dc:creator>			<comments>https://en.accunit.access-codelib.net/Talk:Testing_with_vbWatchdog</comments>		</item>
		<item>
			<title>Testing with vbWatchdog</title>
			<link>https://en.accunit.access-codelib.net/Testing_with_vbWatchdog</link>
			<description>&lt;p&gt;Josef Pötzl:&amp;#32;Created page with 'de:Testen mit vbWatchdog  &amp;lt;source&amp;gt; Public Sub Setup()    EnableWatchdog    ErrEx.PropagateUnhandledClassErrors = True End Sub  Public Sub TearDown()    DisableWatchdog    Err…'&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[de:Testen mit vbWatchdog]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
Public Sub Setup()&lt;br /&gt;
   EnableWatchdog&lt;br /&gt;
   ErrEx.PropagateUnhandledClassErrors = True&lt;br /&gt;
End Sub&lt;br /&gt;
&lt;br /&gt;
Public Sub TearDown()&lt;br /&gt;
   DisableWatchdog&lt;br /&gt;
   ErrEx.PropagateUnhandledClassErrors = False&lt;br /&gt;
End Sub&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</description>
			<pubDate>Sat, 12 Feb 2011 20:14:36 GMT</pubDate>			<dc:creator>Josef Pötzl</dc:creator>			<comments>https://en.accunit.access-codelib.net/Talk:Testing_with_vbWatchdog</comments>		</item>
		<item>
			<title>Advanced features</title>
			<link>https://en.accunit.access-codelib.net/Advanced_features</link>
			<description>&lt;p&gt;Josef Pötzl:&amp;#32;Created page with 'de:Erweiterte_Funktionen'&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[de:Erweiterte_Funktionen]]&lt;/div&gt;</description>
			<pubDate>Sat, 12 Feb 2011 20:11:25 GMT</pubDate>			<dc:creator>Josef Pötzl</dc:creator>			<comments>https://en.accunit.access-codelib.net/Talk:Advanced_features</comments>		</item>
		<item>
			<title>MediaWiki:Sidebar</title>
			<link>https://en.accunit.access-codelib.net/MediaWiki:Sidebar</link>
			<description>&lt;p&gt;Josef Pötzl:&amp;#32;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* navigation&lt;br /&gt;
** mainpage|mainpage-description&lt;br /&gt;
** portal-url|portal&lt;br /&gt;
*User Manual&lt;br /&gt;
** gettingstarted|gettingstarted-description&lt;br /&gt;
** Installation|Installation&lt;br /&gt;
** basics-url|basics-description&lt;br /&gt;
** advancedfeatures-url|advancedfeatures-description&lt;br /&gt;
** userinterface-url|userinterface-description&lt;br /&gt;
** tips-url|tips-description&lt;br /&gt;
* Development&lt;br /&gt;
** source-url|source-description&lt;br /&gt;
** notes-url|notes-description&lt;br /&gt;
* SEARCH&lt;br /&gt;
* LANGUAGES&lt;br /&gt;
* Wiki&lt;br /&gt;
** currentevents-url|currentevents&lt;br /&gt;
** recentchanges-url|recentchanges&lt;br /&gt;
** randompage-url|randompage&lt;br /&gt;
** helppage|help&lt;br /&gt;
* TOOLBOX&lt;/div&gt;</description>
			<pubDate>Tue, 08 Feb 2011 08:11:32 GMT</pubDate>			<dc:creator>Josef Pötzl</dc:creator>			<comments>https://en.accunit.access-codelib.net/MediaWiki_talk:Sidebar</comments>		</item>
		<item>
			<title>MediaWiki:Sidebar</title>
			<link>https://en.accunit.access-codelib.net/MediaWiki:Sidebar</link>
			<description>&lt;p&gt;Josef Pötzl:&amp;#32;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* navigation&lt;br /&gt;
** mainpage|mainpage-description&lt;br /&gt;
** portal-url|portal&lt;br /&gt;
*User Manual&lt;br /&gt;
** gettingstarted|gettingstarted-description&lt;br /&gt;
** Installation|Installation&lt;br /&gt;
** basics-url|basics-description&lt;br /&gt;
** advancedfeatures-url|advancedfeatures-description&lt;br /&gt;
** userinterface-url|userinterface-description&lt;br /&gt;
** tips-url|tips-description&lt;br /&gt;
* Development&lt;br /&gt;
** source-url|source-description&lt;br /&gt;
** notes-url|notes-description&lt;br /&gt;
* Wiki&lt;br /&gt;
** currentevents-url|currentevents&lt;br /&gt;
** recentchanges-url|recentchanges&lt;br /&gt;
** randompage-url|randompage&lt;br /&gt;
** helppage|help&lt;br /&gt;
* SEARCH&lt;br /&gt;
* LANGUAGES&lt;br /&gt;
* TOOLBOX&lt;/div&gt;</description>
			<pubDate>Tue, 08 Feb 2011 08:10:46 GMT</pubDate>			<dc:creator>Josef Pötzl</dc:creator>			<comments>https://en.accunit.access-codelib.net/MediaWiki_talk:Sidebar</comments>		</item>
		<item>
			<title>MediaWiki:Advancedfeatures-description</title>
			<link>https://en.accunit.access-codelib.net/MediaWiki:Advancedfeatures-description</link>
			<description>&lt;p&gt;Josef Pötzl:&amp;#32;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Advanced features&lt;/div&gt;</description>
			<pubDate>Mon, 07 Feb 2011 19:36:27 GMT</pubDate>			<dc:creator>Josef Pötzl</dc:creator>			<comments>https://en.accunit.access-codelib.net/MediaWiki_talk:Advancedfeatures-description</comments>		</item>
		<item>
			<title>MediaWiki:Advancedfeatures-url</title>
			<link>https://en.accunit.access-codelib.net/MediaWiki:Advancedfeatures-url</link>
			<description>&lt;p&gt;Josef Pötzl:&amp;#32;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Advanced features&lt;/div&gt;</description>
			<pubDate>Mon, 07 Feb 2011 19:36:09 GMT</pubDate>			<dc:creator>Josef Pötzl</dc:creator>			<comments>https://en.accunit.access-codelib.net/MediaWiki_talk:Advancedfeatures-url</comments>		</item>
		<item>
			<title>MediaWiki:Basics-description/de</title>
			<link>https://en.accunit.access-codelib.net/MediaWiki:Basics-description/de</link>
			<description>&lt;p&gt;Josef Pötzl:&amp;#32;Created page with 'Grundlagen'&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Grundlagen&lt;/div&gt;</description>
			<pubDate>Mon, 07 Feb 2011 19:33:12 GMT</pubDate>			<dc:creator>Josef Pötzl</dc:creator>			<comments>https://en.accunit.access-codelib.net/MediaWiki_talk:Basics-description/de</comments>		</item>
		<item>
			<title>MediaWiki:Basics-description</title>
			<link>https://en.accunit.access-codelib.net/MediaWiki:Basics-description</link>
			<description>&lt;p&gt;Josef Pötzl:&amp;#32;Created page with 'Basics'&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Basics&lt;/div&gt;</description>
			<pubDate>Mon, 07 Feb 2011 19:33:00 GMT</pubDate>			<dc:creator>Josef Pötzl</dc:creator>			<comments>https://en.accunit.access-codelib.net/MediaWiki_talk:Basics-description</comments>		</item>
		<item>
			<title>MediaWiki:Tips-description/de</title>
			<link>https://en.accunit.access-codelib.net/MediaWiki:Tips-description/de</link>
			<description>&lt;p&gt;Josef Pötzl:&amp;#32;Created page with 'Tipps und Tricks'&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Tipps und Tricks&lt;/div&gt;</description>
			<pubDate>Mon, 07 Feb 2011 19:28:50 GMT</pubDate>			<dc:creator>Josef Pötzl</dc:creator>			<comments>https://en.accunit.access-codelib.net/MediaWiki_talk:Tips-description/de</comments>		</item>
		<item>
			<title>MediaWiki:Tips-description</title>
			<link>https://en.accunit.access-codelib.net/MediaWiki:Tips-description</link>
			<description>&lt;p&gt;Josef Pötzl:&amp;#32;Created page with 'Tips and tricks'&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Tips and tricks&lt;/div&gt;</description>
			<pubDate>Mon, 07 Feb 2011 19:28:23 GMT</pubDate>			<dc:creator>Josef Pötzl</dc:creator>			<comments>https://en.accunit.access-codelib.net/MediaWiki_talk:Tips-description</comments>		</item>
		<item>
			<title>MediaWiki:Tips-url</title>
			<link>https://en.accunit.access-codelib.net/MediaWiki:Tips-url</link>
			<description>&lt;p&gt;Josef Pötzl:&amp;#32;Created page with 'Tips and tricks'&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Tips and tricks&lt;/div&gt;</description>
			<pubDate>Mon, 07 Feb 2011 19:27:27 GMT</pubDate>			<dc:creator>Josef Pötzl</dc:creator>			<comments>https://en.accunit.access-codelib.net/MediaWiki_talk:Tips-url</comments>		</item>
		<item>
			<title>MediaWiki:Advancedfeatures-description/de</title>
			<link>https://en.accunit.access-codelib.net/MediaWiki:Advancedfeatures-description/de</link>
			<description>&lt;p&gt;Josef Pötzl:&amp;#32;moved MediaWiki:Advancedfeatures-description/en to MediaWiki:Advancedfeatures-description/de&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Erweiterte Funktionen&lt;/div&gt;</description>
			<pubDate>Mon, 07 Feb 2011 19:24:07 GMT</pubDate>			<dc:creator>Josef Pötzl</dc:creator>			<comments>https://en.accunit.access-codelib.net/MediaWiki_talk:Advancedfeatures-description/de</comments>		</item>
		<item>
			<title>MediaWiki:Advancedfeatures-description/de</title>
			<link>https://en.accunit.access-codelib.net/MediaWiki:Advancedfeatures-description/de</link>
			<description>&lt;p&gt;Josef Pötzl:&amp;#32;Created page with 'Erweiterte Funktionen'&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Erweiterte Funktionen&lt;/div&gt;</description>
			<pubDate>Mon, 07 Feb 2011 19:23:21 GMT</pubDate>			<dc:creator>Josef Pötzl</dc:creator>			<comments>https://en.accunit.access-codelib.net/MediaWiki_talk:Advancedfeatures-description/de</comments>		</item>
		<item>
			<title>MediaWiki:Advancedfeatures-description</title>
			<link>https://en.accunit.access-codelib.net/MediaWiki:Advancedfeatures-description</link>
			<description>&lt;p&gt;Josef Pötzl:&amp;#32;Created page with 'Advanced Features'&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Advanced Features&lt;/div&gt;</description>
			<pubDate>Mon, 07 Feb 2011 19:22:54 GMT</pubDate>			<dc:creator>Josef Pötzl</dc:creator>			<comments>https://en.accunit.access-codelib.net/MediaWiki_talk:Advancedfeatures-description</comments>		</item>
		<item>
			<title>MediaWiki:Advancedfeatures-url</title>
			<link>https://en.accunit.access-codelib.net/MediaWiki:Advancedfeatures-url</link>
			<description>&lt;p&gt;Josef Pötzl:&amp;#32;Created page with 'Advanced Features'&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Advanced Features&lt;/div&gt;</description>
			<pubDate>Mon, 07 Feb 2011 19:22:39 GMT</pubDate>			<dc:creator>Josef Pötzl</dc:creator>			<comments>https://en.accunit.access-codelib.net/MediaWiki_talk:Advancedfeatures-url</comments>		</item>
		<item>
			<title>MediaWiki:Basics-url</title>
			<link>https://en.accunit.access-codelib.net/MediaWiki:Basics-url</link>
			<description>&lt;p&gt;Josef Pötzl:&amp;#32;Created page with 'Basics'&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Basics&lt;/div&gt;</description>
			<pubDate>Mon, 07 Feb 2011 19:21:27 GMT</pubDate>			<dc:creator>Josef Pötzl</dc:creator>			<comments>https://en.accunit.access-codelib.net/MediaWiki_talk:Basics-url</comments>		</item>
		<item>
			<title>MediaWiki:Sidebar</title>
			<link>https://en.accunit.access-codelib.net/MediaWiki:Sidebar</link>
			<description>&lt;p&gt;Josef Pötzl:&amp;#32;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* navigation&lt;br /&gt;
** mainpage|mainpage-description&lt;br /&gt;
** portal-url|portal&lt;br /&gt;
*User Manual&lt;br /&gt;
** gettingstarted|gettingstarted-description&lt;br /&gt;
** Installation|Installation&lt;br /&gt;
** basics-url|basics-description&lt;br /&gt;
** advancedfeatures-url|advancedfeatures-description&lt;br /&gt;
** userinterface-url|userinterface-description&lt;br /&gt;
** tips-url|tips-description&lt;br /&gt;
* Development&lt;br /&gt;
** source-url|source-description&lt;br /&gt;
** notes-url|notes-description&lt;br /&gt;
* Wiki&lt;br /&gt;
** currentevents-url|currentevents&lt;br /&gt;
** recentchanges-url|recentchanges&lt;br /&gt;
** randompage-url|randompage&lt;br /&gt;
** helppage|help&lt;br /&gt;
* SEARCH&lt;br /&gt;
* TOOLBOX&lt;br /&gt;
* LANGUAGES&lt;/div&gt;</description>
			<pubDate>Mon, 07 Feb 2011 19:20:20 GMT</pubDate>			<dc:creator>Josef Pötzl</dc:creator>			<comments>https://en.accunit.access-codelib.net/MediaWiki_talk:Sidebar</comments>		</item>
		<item>
			<title>MediaWiki:Userinterface-description/de</title>
			<link>https://en.accunit.access-codelib.net/MediaWiki:Userinterface-description/de</link>
			<description>&lt;p&gt;Josef Pötzl:&amp;#32;Created page with 'Benutzeroberfläche'&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Benutzeroberfläche&lt;/div&gt;</description>
			<pubDate>Sun, 06 Feb 2011 18:39:38 GMT</pubDate>			<dc:creator>Josef Pötzl</dc:creator>			<comments>https://en.accunit.access-codelib.net/MediaWiki_talk:Userinterface-description/de</comments>		</item>
		<item>
			<title>User Interface</title>
			<link>https://en.accunit.access-codelib.net/User_Interface</link>
			<description>&lt;p&gt;Josef Pötzl:&amp;#32;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[de:Benutzeroberfläche]] __NOTOC__&lt;br /&gt;
[[Image:AccUnit_VBE.png]]&lt;br /&gt;
&lt;br /&gt;
==== Symbolleiste ====&lt;br /&gt;
&lt;br /&gt;
[[Image:AccUnit_AddIn_Commandbar_Beschreibung.png]]&lt;br /&gt;
&lt;br /&gt;
==== Menüeinträge ====&lt;br /&gt;
&lt;br /&gt;
[[Image:AccUnit_AddIn_Menu_Tools.png]]&lt;br /&gt;
[[Image:AccUnit_AddIn_Menu_View.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== VBE-Fenster ====&lt;br /&gt;
[[Image:AccUnit_AddIn_Testauswahl.png]]&lt;br /&gt;
&lt;br /&gt;
[[Image:AccUnit_AddIn_Testergebnis.png]]&lt;br /&gt;
&lt;br /&gt;
==== Dialoge ====&lt;br /&gt;
[[Image:AccUnit_AddIn_TestImport.png]]&lt;br /&gt;
[[Image:AccUnit_AddIn_TestExport.png]]&lt;br /&gt;
&lt;br /&gt;
[[Image:AccUnit_AddIn_UserSettings.png]]&lt;/div&gt;</description>
			<pubDate>Sun, 06 Feb 2011 18:35:59 GMT</pubDate>			<dc:creator>Josef Pötzl</dc:creator>			<comments>https://en.accunit.access-codelib.net/Talk:User_Interface</comments>		</item>
		<item>
			<title>MediaWiki:Userinterface-url</title>
			<link>https://en.accunit.access-codelib.net/MediaWiki:Userinterface-url</link>
			<description>&lt;p&gt;Josef Pötzl:&amp;#32;Created page with 'User Interface'&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;User Interface&lt;/div&gt;</description>
			<pubDate>Sun, 06 Feb 2011 18:35:07 GMT</pubDate>			<dc:creator>Josef Pötzl</dc:creator>			<comments>https://en.accunit.access-codelib.net/MediaWiki_talk:Userinterface-url</comments>		</item>
		<item>
			<title>MediaWiki:Userinterface-description</title>
			<link>https://en.accunit.access-codelib.net/MediaWiki:Userinterface-description</link>
			<description>&lt;p&gt;Josef Pötzl:&amp;#32;Created page with 'User Interface'&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;User Interface&lt;/div&gt;</description>
			<pubDate>Sun, 06 Feb 2011 18:34:52 GMT</pubDate>			<dc:creator>Josef Pötzl</dc:creator>			<comments>https://en.accunit.access-codelib.net/MediaWiki_talk:Userinterface-description</comments>		</item>
		<item>
			<title>MediaWiki:Sidebar</title>
			<link>https://en.accunit.access-codelib.net/MediaWiki:Sidebar</link>
			<description>&lt;p&gt;Josef Pötzl:&amp;#32;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* navigation&lt;br /&gt;
** mainpage|mainpage-description&lt;br /&gt;
** portal-url|portal&lt;br /&gt;
*User Manual&lt;br /&gt;
** gettingstarted|gettingstarted-description&lt;br /&gt;
** Installation|Installation&lt;br /&gt;
** userinterface-url|userinterface-description&lt;br /&gt;
* Development&lt;br /&gt;
** source-url|source-description&lt;br /&gt;
** notes-url|notes-description&lt;br /&gt;
* Wiki&lt;br /&gt;
** currentevents-url|currentevents&lt;br /&gt;
** recentchanges-url|recentchanges&lt;br /&gt;
** randompage-url|randompage&lt;br /&gt;
** helppage|help&lt;br /&gt;
* SEARCH&lt;br /&gt;
* TOOLBOX&lt;br /&gt;
* LANGUAGES&lt;/div&gt;</description>
			<pubDate>Sun, 06 Feb 2011 18:34:38 GMT</pubDate>			<dc:creator>Josef Pötzl</dc:creator>			<comments>https://en.accunit.access-codelib.net/MediaWiki_talk:Sidebar</comments>		</item>
		<item>
			<title>User Interface</title>
			<link>https://en.accunit.access-codelib.net/User_Interface</link>
			<description>&lt;p&gt;Josef Pötzl:&amp;#32;moved VBE Add-in to User Interface&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[de:VBE-Add-In]] __NOTOC__&lt;br /&gt;
[[Image:AccUnit_VBE.png]]&lt;br /&gt;
&lt;br /&gt;
==== Symbolleiste ====&lt;br /&gt;
&lt;br /&gt;
[[Image:AccUnit_AddIn_Commandbar_Beschreibung.png]]&lt;br /&gt;
&lt;br /&gt;
==== Menüeinträge ====&lt;br /&gt;
&lt;br /&gt;
[[Image:AccUnit_AddIn_Menu_Tools.png]]&lt;br /&gt;
[[Image:AccUnit_AddIn_Menu_View.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== VBE-Fenster ====&lt;br /&gt;
[[Image:AccUnit_AddIn_Testauswahl.png]]&lt;br /&gt;
&lt;br /&gt;
[[Image:AccUnit_AddIn_Testergebnis.png]]&lt;br /&gt;
&lt;br /&gt;
==== Dialoge ====&lt;br /&gt;
[[Image:AccUnit_AddIn_TestImport.png]]&lt;br /&gt;
[[Image:AccUnit_AddIn_TestExport.png]]&lt;br /&gt;
&lt;br /&gt;
[[Image:AccUnit_AddIn_UserSettings.png]]&lt;/div&gt;</description>
			<pubDate>Sun, 06 Feb 2011 18:33:33 GMT</pubDate>			<dc:creator>Josef Pötzl</dc:creator>			<comments>https://en.accunit.access-codelib.net/Talk:User_Interface</comments>		</item>
		<item>
			<title>Template:Email</title>
			<link>https://en.accunit.access-codelib.net/Template:Email</link>
			<description>&lt;p&gt;Josef Pötzl:&amp;#32;Protected &amp;quot;Template:Email&amp;quot; ([edit=sysop] (indefinite) [move=sysop] (indefinite))&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;onlyinclude&amp;gt;&amp;lt;span class=&amp;quot;email&amp;quot;&amp;gt;{{{1}}}&amp;lt;/span&amp;gt;&amp;lt;/onlyinclude&amp;gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Beispiel: {{email|access.joposol.com}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Template:Symbol]]&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</description>
			<pubDate>Sun, 06 Feb 2011 17:19:47 GMT</pubDate>			<dc:creator>Josef Pötzl</dc:creator>			<comments>https://en.accunit.access-codelib.net/Template_talk:Email</comments>		</item>
		<item>
			<title>Template:Phonenumber</title>
			<link>https://en.accunit.access-codelib.net/Template:Phonenumber</link>
			<description>&lt;p&gt;Josef Pötzl:&amp;#32;Protected &amp;quot;Template:Phonenumber&amp;quot; ([edit=sysop] (indefinite) [move=sysop] (indefinite))&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;onlyinclude&amp;gt;&amp;lt;span class=&amp;quot;phone&amp;quot;&amp;gt;{{{1}}}&amp;lt;/span&amp;gt;&amp;lt;/onlyinclude&amp;gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Beispiel: {{phonenumber|12 34 56}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Template:Symbol]]&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</description>
			<pubDate>Sun, 06 Feb 2011 17:19:37 GMT</pubDate>			<dc:creator>Josef Pötzl</dc:creator>			<comments>https://en.accunit.access-codelib.net/Template_talk:Phonenumber</comments>		</item>
		<item>
			<title>Template:Faxnumber</title>
			<link>https://en.accunit.access-codelib.net/Template:Faxnumber</link>
			<description>&lt;p&gt;Josef Pötzl:&amp;#32;Protected &amp;quot;Template:Faxnumber&amp;quot; ([edit=sysop] (indefinite) [move=sysop] (indefinite))&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;onlyinclude&amp;gt;&amp;lt;span class=&amp;quot;fax&amp;quot;&amp;gt;{{{1}}}&amp;lt;/span&amp;gt;&amp;lt;/onlyinclude&amp;gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Beispiel: {{faxnumber|12 34 56}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Template:Symbol]]&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</description>
			<pubDate>Sun, 06 Feb 2011 17:19:23 GMT</pubDate>			<dc:creator>Josef Pötzl</dc:creator>			<comments>https://en.accunit.access-codelib.net/Template_talk:Faxnumber</comments>		</item>
		<item>
			<title>AccUnit:Impressum</title>
			<link>https://en.accunit.access-codelib.net/AccUnit:Impressum</link>
			<description>&lt;p&gt;Josef Pötzl:&amp;#32;Protected &amp;quot;AccUnit:Impressum&amp;quot; ([edit=sysop] (indefinite) [move=sysop] (indefinite))&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;----&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|Name:&lt;br /&gt;
|Josef Pötzl&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|Adresse:&lt;br /&gt;
|Idlhofgasse 22a/21&amp;lt;br /&amp;gt;8020 Graz&amp;lt;br /&amp;gt;Österreich&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|Kontaktdaten:&lt;br /&gt;
|{{email|&amp;amp;#106;&amp;amp;#x6F;&amp;amp;#115;&amp;amp;#x65;&amp;amp;#102;&amp;amp;#46;&amp;amp;#x70;&amp;amp;#111;&amp;amp;#x65;&amp;amp;#x74;&amp;amp;#x7A;&amp;amp;#108;&amp;amp;#x40;&amp;amp;#x6A;&amp;amp;#x6F;&amp;amp;#x70;&amp;amp;#x6F;&amp;amp;#115;&amp;amp;#111;&amp;amp;#108;&amp;amp;#46;&amp;amp;#99;&amp;amp;#x6F;&amp;amp;#x6D;}}&amp;lt;br /&amp;gt;{{phonenumber|+43 (316) 21 40 56 bzw. +43 (699) 19 21 40 56}}&amp;lt;br /&amp;gt;{{faxnumber|+43 (316) 21 40 56}}&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|Kammerzugehörigkeit:&lt;br /&gt;
|[http://portal.wko.at/ Wirtschaftskammer Steiermark]&amp;lt;br /&amp;gt;[http://www.ubit.at/ Fachgruppe Unternehmensberatung und Informationstechnologie]&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|UID-Nummer:&lt;br /&gt;
|ATU60084358&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|Geschäftsleitung:&lt;br /&gt;
|Dipl.-Ing. Josef Pötzl&lt;br /&gt;
|}&lt;br /&gt;
----&lt;br /&gt;
[http://firmena-z.wko.at/ecg.asp?MGID=69031981F5BC249103981298C2B33455 Informationspflicht lt. § 5 Abs. 1 E-Commerce-Gesetz und Offenlegungspflicht gem&amp;amp;auml;&amp;amp;szlig; Mediengesetz §25]&lt;/div&gt;</description>
			<pubDate>Sun, 06 Feb 2011 17:19:03 GMT</pubDate>			<dc:creator>Josef Pötzl</dc:creator>			<comments>https://en.accunit.access-codelib.net/AccUnit_talk:Impressum</comments>		</item>
		<item>
			<title>Template:Faxnumber</title>
			<link>https://en.accunit.access-codelib.net/Template:Faxnumber</link>
			<description>&lt;p&gt;Josef Pötzl:&amp;#32;Created page with '&amp;lt;onlyinclude&amp;gt;&amp;lt;span class=&amp;quot;fax&amp;quot;&amp;gt;{{{1}}}&amp;lt;/span&amp;gt;&amp;lt;/onlyinclude&amp;gt;&amp;lt;noinclude&amp;gt;  Beispiel: {{faxnumber|12 34 56}}  Category:Template:Symbol &amp;lt;/noinclude&amp;gt;'&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;onlyinclude&amp;gt;&amp;lt;span class=&amp;quot;fax&amp;quot;&amp;gt;{{{1}}}&amp;lt;/span&amp;gt;&amp;lt;/onlyinclude&amp;gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Beispiel: {{faxnumber|12 34 56}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Template:Symbol]]&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</description>
			<pubDate>Sun, 06 Feb 2011 17:16:40 GMT</pubDate>			<dc:creator>Josef Pötzl</dc:creator>			<comments>https://en.accunit.access-codelib.net/Template_talk:Faxnumber</comments>		</item>
		<item>
			<title>Template:Phonenumber</title>
			<link>https://en.accunit.access-codelib.net/Template:Phonenumber</link>
			<description>&lt;p&gt;Josef Pötzl:&amp;#32;Created page with '&amp;lt;onlyinclude&amp;gt;&amp;lt;span class=&amp;quot;phone&amp;quot;&amp;gt;{{{1}}}&amp;lt;/span&amp;gt;&amp;lt;/onlyinclude&amp;gt;&amp;lt;noinclude&amp;gt;  Beispiel: {{phonenumber|12 34 56}}  Category:Template:Symbol &amp;lt;/noinclude&amp;gt;'&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;onlyinclude&amp;gt;&amp;lt;span class=&amp;quot;phone&amp;quot;&amp;gt;{{{1}}}&amp;lt;/span&amp;gt;&amp;lt;/onlyinclude&amp;gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Beispiel: {{phonenumber|12 34 56}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Template:Symbol]]&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</description>
			<pubDate>Sun, 06 Feb 2011 17:16:12 GMT</pubDate>			<dc:creator>Josef Pötzl</dc:creator>			<comments>https://en.accunit.access-codelib.net/Template_talk:Phonenumber</comments>		</item>
		<item>
			<title>Template:Email</title>
			<link>https://en.accunit.access-codelib.net/Template:Email</link>
			<description>&lt;p&gt;Josef Pötzl:&amp;#32;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;onlyinclude&amp;gt;&amp;lt;span class=&amp;quot;email&amp;quot;&amp;gt;{{{1}}}&amp;lt;/span&amp;gt;&amp;lt;/onlyinclude&amp;gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Beispiel: {{email|access.joposol.com}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Template:Symbol]]&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</description>
			<pubDate>Sun, 06 Feb 2011 17:14:22 GMT</pubDate>			<dc:creator>Josef Pötzl</dc:creator>			<comments>https://en.accunit.access-codelib.net/Template_talk:Email</comments>		</item>
	</channel>
</rss>