//////////////////////////////////////////////////////////////////////////////// // Copyright © 2002-2008 by Manfred Lange, Markus Renschler, Jake Anderson, // and Piers Lawson. All rights reserved. // // This software is provided 'as-is', without any express or implied warranty. // In no event will the authors be held liable for any damages arising from the // use of this software. // // Permission is granted to anyone to use this software for any purpose, // including commercial applications, and to alter it and redistribute it // freely, subject to the following restrictions: // // 1. The origin of this software must not be misrepresented; you must not claim // that you wrote the original software. If you use this software in a // product, an acknowledgment in the product documentation would be // appreciated but is not required. // // 2. Altered source versions must be plainly marked as such, and must not be // misrepresented as being the original software. // // 3. This notice may not be removed or altered from any source distribution. //////////////////////////////////////////////////////////////////////////////// Changes fall into the following categories: - Functionality - Performance - Usability - Quality Changes for csUnit 2.5 ====================== Last change: June 08, 2008 1/ [08may08, ml] [Quality] Improved setup. It now creates a simplified addin file for both Visual Studio 2005 and Visual Studio 2008. Also it now removes those files reliably upon uninstallation. Visual Studio 2005 didn't like the addin file in some instances. 2/ [08may08, ml] [Usability] ExpectedException() now included in assertions count since it is in essence just a short cut for Assert.ExceptionThrown(...) if the latter existed. 3/ [08may08, ml] [Functionality] Added Assert.Contains(T expected, IEnumerable toBeSearched) and Assert.Contains(T expected, IEnumerable toBeSearched, string customMessage). Note that a linear search will be conducted. On large collections this operation is very expensive. 4/ [12may08, ml] [Functionality] ExpectedException can also be declared with specific instances. However, upon comparison of expected and actual exception only the Message property will be considered. MSFT's .NET documentation states: "The text of Message should completely describe the error". 5/ [27may08, ml] [Usability] GUI: When execution of a test suite has completed the first node that has an error or failure will be scrolled to. 6/ [30may08, ml] [Usability] GUI: By default nodes that are skipped are no longer expanded but indicated with gray color only. Nodes that contain errors or failures are always expanded. An option is available in the Options dialog box to expand skipped nodes as well. 7/ [30may08, ml] [Usability] Setup: Installer now always installs for all users. This eliminates the need to display the option during the setup and also simplifies the setup code. 8/ [30may08, ml] [Usability] Setup: Installs recipe as a file extension associated with csUnitRunner. 9/ [31may08, ml] [Quality] Bug fix: csUnitRunner accepts files with extensions dll, exe and recipe without explicit option on the command line again. Note that the file must be the only option on the command line. 10/ [08jun08, ml] [Quality] Bug fix: SourceForge #1979183 "there are no 'build & run/debug/ tests' under vs2008". -------------------------------------------------------------------------------- Changes for csUnit 2.4 ====================== Last change: April 27, 2008 1/ [25mar08, ml] (Quality) FIX, csUnitRunner: SourceForge bug 169736 "Hiding toolbar doesn't resize content" 2/ [25mar08, ml] (Usability) NEW, csUnitRunner: Menu bar and tool bar can now be moved within the main window. Tool bar and status bar can be hidden and the content adjusts its size accordingly. 3/ [25mar08, ml] (Usability) NEW, csUnitRunner: Main window has minimum size now. 4/ [26mar08, ml] (Usability) NEW, csUnitControl: Added search panel for test hiearchy tab page. Double clicking a row in the results view will hide the panel and select the node. 5/ [27mar08, ml] (Quality) FIX, VS addin: SF1871927 "NullReferenceException when trying to use on non code file." 6/ [27mar08, ml] (Quality) FIX, VS addin: SF1894311 "csUnit Causes Errors in a CPP Solution" 7/ [29mar08, ml] (Usability) NEW, VS addin: SF1599487 "Line numbers for assertions". Errors and failures are currently reported in the task list in the "addins and macros" category. 8/ [31mar08, ml] (Quality) FIX, csUnitRunner: "Check For Update" works again as designed. 9/ [31mar08, ml] (Functionality) NEW: Added support for NUnit's TestFixtureAttribute, TestAttribute, SetUpAttribute, and TearDownAttribute. 10/ [02apr08, ml] (Functionality) NEW: csUnit now also counts assertions for NUnit based tests. 11/ [04apr08, ml] (Functionality) NEW: csUnit identifies failed NUnit assertions. 12/ [05apr08, ml] (Functionality) NEW: csUnit honors NUnit's IgnoreAttribute. 13/ [05apr08, ml] (Functionality) NEW: Basic support for NUnit's ExpectedExceptionAttribute. 14/ [16apr08, ml] (Usability) ENH: Test hierarchy: Tool tips over assemblies show properties in separate rows. 15/ [25apr08, ml] (Usability) ENH: "Run Selected" is now called "Run This" to better reflect the actual functionality. 16/ [26apr08, ml] (Quality) FIX: SF 1925947: "Check Marks Removed When Running Tests" 17/ [26apr08, ml] (Usability) ENH: Installs as an addin for both VS 2005 and VS 2008. -------------------------------------------------------------------------------- Changes for csUnit 2.3 ====================== Last change: March 24, 2008 1/ [23mar08, ml] (Quality) FIX: SourceForge bug 1797256 "implementing derived class of abstract class [TextFixture]". 2/ [24mar08, ml] (Quality) FIX: The managed C++ sample didn't compile after the upgrade to VS2005. 3/ [24mar08, ml] (Quality) FIX: CategoriesTests didn't pass in some cases. This is now fixed with an improved Setup method. 4/ [24mar08, ml] (Quality) FIX: Updated project settings for the sample Managed C++ project. It compiles again. 5/ [24mar08, ml] (Usability) NEW: zipsrc.bat now uses 7-zip command line (7za) instead of WinZip's command line. This removes the need for a WinZip license to run the batch file. 6/ [24mar08, ml] (Usability) FIX: Updated zipsrc.bat so that it works in the Subversion environment. All source code of csUnit is now versioned using SourceForge's Subversion server. For further details for accessing it please go to csUnit SourceForge presence at http://www.sourceforge.net/projects/csunit 7/ [24mar08, ml] (Quality) FIX: Depending on sequence reflection returns test fixtures, RecipeFactoryTests and/or XmlDocumentFactoryTests were failing. This was intermittend depending on recompile and/or code edits. -------------------------------------------------------------------------------- Changes for csUnit 2.2.0 ======================== Last change: July 03, 2007 1/ NEW: Added option to csUnitRunner for test hierarchy to automatically expand when a recipe or an assembly is loaded. [31mar07, ml] 2/ NEW, csUnitRunner: Checked tests are saved within the recipe and restored when the recipe is loaded. [01apr07, ml] 3/ NEW: Added support for DataRowAttribute as a first step for parameterized tests. [04apr07, ml] 4/ NEW: Added Assert.Equals() override for arrays of objects. [04apr07, ml] 5/ NEW: Supports DataSourceAttribute with static methods and static properties as a data feed for parameterized tests. [08apr07] 6/ NEW: Support for XML files as a data feed for parameterized tests. [08apr07, ml] 7/ NEW: Added support for Assert.Contains() for arrays. [12apr07, ml] 8/ NEW: Support of database tables as data source for parameterized tests. Data sources can be all .NET data providers registered in the machine.config file. [12apr07, ml] 9/ NEW: Option for choosing colors for the progress bar for improving accessability for color-blind users. [16apr07, ml] 10/ CHANGE: Redesigned options dialog box to increase usability. [19apr07, ml] 11/ CHANGE: Settings now stored in config files rather than the registry. [24apr07, ml] 12/ NEW: Can click on method in code window and execute selected test method. [01may07, ml] 13/ NEW: Added Assert.AreInstanceOfType() for generic collections. [08may07, ml] 14/ FIX: Checking/unchecking a test suite, a namespace, a test class, or a test in the test hierarchy view will update the check status of other nodes appropriately. [03jul07, ml] 15/ NEW: Tests using a DataSource attribute for a SQL database don't require full SQL Server license anymore. Minimum requirement is SQL Server 2005 Express Edition. Also added a sample data base in csUnitCoreTest named csUnitTestData.mdf to be used in conjunction with SQL Server 2005 Express Edition. [03jul07, ml] -------------------------------------------------------------------------------- Changes for csUnit 2.1.2 ======================== Last change: March 31, 2007 1/ More performance improvements. Overhead is now at approx. 2 seconds or 12.5% for the core assemblies recipe. [29Apr2006, ml] 2/ NEW: csUnit now supports multiple categories. [31mar07, ml] 3/ CHANGE: More performance improvements. csUnit coreassemblies.recipe now runs at a rate of 6,000 tests per minute on a decent notebook. [31mar07, ml] 4/ NEW: Added a reset button to test hierarchy view ("Tests" tab). Clicking the button unchecks all tests and test hierarchy. [31mar07, ml] 5/ NEW: Category settings are serialized in recipe. [31mar07, ml] 6/ NEW: Category settings stored in the recipe are honored by the command line. [31mar07, ml] 7/ CHANGE: Obsolete "Run Checked Tests" command, and removed the toolbar button and the menu entries for it. The same functionality is now provided by checking and unchecking tests and test fixtures, and then clicking the standard "Run" button. The runtime environment will consider the checked/unchecked status as well. [31mar07, ml] 8/ CHANGE: Removed the six projects csUnitCoreTest*.dll, and replaced them using mocks. [31mar07, ml] -------------------------------------------------------------------------------- Changes for csUnit 2.1.1 BETA ============================= Last change: April 24, 2006 1/ NEW, csUnit.Ui.Controls: Output tab can now optionally show line numbers for the console output. [01Apr2006, ml] 2/ NEW, csUnit.Ui.Controls: Output tab now has a button for copying the content of the output to the clipboard. [01Apr2006, ml] 3/ NEW, csUnit.Ui.Controls: Added tool tips to the output tab. [01Apr2006, ml] 4/ NEW, csUnit.Ui.Controls: Progress bar now has tooltip showing the last executed test. This tooltip is shown immediately and as long as the mouse is hovering over the progress bar. [01Apr2006, ml] 5/ NEW, csUnit.Ui.Controls: Test hierarchy tab now has a tool tip. [01Apr2006, ml] 6/ CHANGE, csUnitCore: Performance approvements, approx. 45% throught the graphical user interface. [01Apr2006, ml] 7/ NEW, csUnit.Ui.Controls: The test statistics tab has now tooltips. [01Apr2006, ml] 8/ NEW, csUnit.Ui.Controls: The test statistics tab now also reports the estimated overhead for the test run, and the average time per test. 9/ CHANGE, Test Statistics: Now uses high resolution timer for measuring test time. [22Apr2006, ml] -------------------------------------------------------------------------------- Changes for csUnit 2.1.0 BETA ============================= Last change: March 31, 2006 1/ CHANGE, general: Moved entire code base to .NET 2.0. [18Mar2006, ml] 2/ CHANGE, csUnitRunner: Filler menu items are no longer created. Instead all commands are collected first, then ordered by requested menu position, and finally as many menu items are created as needed. This also saves some time during startup. This change applies to both the menu item and the context menu. Same change will be applied to the toolbar buttons at a later stage. [18Mar2006, ml] 3/ CHANGE, general: Removed all warnings caused by moving code base to .NET 2.0. Also changed code where additional runtime errors are detected by .NET 2.0 runtime. [18Mar2006, ml] 4/ CHANGE, csUnitCore: Recipe now has an additional event "AssemblyRemoving", which is raised when an assembly is about to being removed from the recipe. The "AssemblyRemoved" event is now fired AFTER the assembly has been removed. [18Mar2006, ml] 5/ CHANGE, csUnitRunner: Removed all selection related events and introduced a new SelectedItemsCollection, which provides an event CollectionChanged. Instead of four specific events, the command target provides a SelectedItems property, which returns a SelectedItemsCollection. The benefit is a slightly reduced interface between the Commands and the MainForm. Also, the refactoring as a consequence of this has simplified the implementation of several command classes. [18Mar2006, ml] 6/ CHANGE, csUnitCore: Removed property TestsRunning from classes Loader and RemoteLoader. Instead Recipe keeps track of whether tests are running or not by using events. This reduces the amount of cross appdomain calls. [18Mar2006, ml] 7/ NEW, csUnitRunner: Split command "Run Checked/Selected" into "Run Selected" and "Run Checked" as they are two different things. Main menu item, toolbar button, and entry in context menu are available. [18Mar2006, ml] 8/ CHANGE, csUnitRunner: Simplified the implementation of commands through more substantial, merciless refactoring. Class Command is now down to just 6 public members. Including extensive inline documentation, the entire class is now just under 600 lines of code. [20Mar2006, ml] 9/ CHANGE, csUnitRunner: Filler buttons are no longer created. Instead all needed information is collected first from the commands, then exactly as many toolbar buttons as needed are created. This implementation avoids creation of unneeded toolbar buttons and also avoids some copying of textual representations. The startup time has been improved. See also change item 2 in this list. [22Mar2006, ml] 10/ CHANGE, csUnit: ExpectedExceptionAttribute(System.Type, bool) is obsolete. If an exception is expected then it is required in all cases. An expected exception that is "not required" is in effect ignoring a thrown exception. If that is the intended behavior it should be expressed in a try-catch statement in the test. [25Mar2006, ml] 11/ CHANGE, csUnitCoreTest: mscoree is no longer required. A test that needed to enumerate the number of AppDomain objects now uses a different approach to determine whether an AppDomain has been unloaded successfully. As a consequence the project for building mscoree was removed from the solution. [25Mar2006, ml] 12/ CHANGE, csUnit.Ui.Controls: Content of tabs of CsUnitControl are now in one control each. This makes the csUnitControl class substantially smaller and is at the same time an enabler for many new features. The design is more modular as new tabs can be more easily added. The code is more maintainable. [26Mar2006, ml] 13/ CHANGE, csUnitCore: The core no longer replaces out and error for the Console. Instead it is intercepted and reset at the end of each test assembly. [26Mar2006, ml] 14/ CHANGE, csUnit.Ui.Controls: The output tab now uses a fixed size font (Courier New) so that output can be formatted with spaces. Lines are not wrapped around, but a horizontal scrollbar will be displayed when a line becomes too long. [26Mar2006, ml] 15/ NEW, csUnit.Ui.Controls: Added new "Categories" tab page. This page can be used to determine which category of tests should be included in the test run. By default all categories are included. You can however, change this on a per recipe basis. In order to use categories either test assemblies, test fixtures and/or test methods have to be decorated with the TestCategoryAttribute. [28Mar2006, ml] 16/ CHANGE, setup2005: By default setup now suggests to install for all users. [31Mar2006, ml] -------------------------------------------------------------------------------- Changes for csUnit version 2.0.3 ================================ Last change: March 23, 2006 Please note that version 2.0.3 has not been released yet. However, the bugfixes have been carried forward to csUnit 2.1.0. Therefore they are listed here. 1/ BUGFIX, csUnitRunner, SourceForge Tracker ID 1447592: Console not always redirected. [12Mar2006, ml] 2/ BUGFIX, csUnitRunner: Some methods for controls were not invoke on the proper thread. Where these cases have been identified, these methods are now called using Invoke() if InvokeRequired returns 'true'. [14Mar2006, ml] 3/ BUGFIX, csUnit: Added Assert.Equals(double, double) and Assert.Equals(double, double, string). Furthermore added five additional tests to ensure that if any of the double values is NaN (Not a number), the assertions still work properly. [23Mar2006, ml] -------------------------------------------------------------------------------- Changes for csUnit version 2.0.2 ================================ Last change: March 11, 2006 1/ NEW, csUnit: Added Assert.DoesNotContain() in two versions for asserting that a string is not contained in a second string. One of the overloads accepts as a third parameter a custom message to be displayed when the assertion fails. [03Mar2006, ml] 2/ CHANGE, csUnitCmd: No longer creates a default XML file if no XML option is specified. If default XML file is need, please use /XML without a filename. [06Mar2006, ml] 3/ NEW, csUnit: Added some missing tests to improve quality. [07Mar2006, ml] 4/ NEW, csUnit: TestAttributeFixtureAttribute available that can be used to decorate a class in a test assembly. Within that class a method can be tagged with the SetUpAttribute and another one can be tagged with TearDownAttribute. The SetUp method will be executed once before any test in the test assembly is run. The TearDown method will be executed after all configured tests in the test assembly have been executed regardless of their outcome. [11Mar2006, ml] -------------------------------------------------------------------------------- Changes for csUnit version 2.0.1 ================================ Last change: February 11, 2006 1/ NEW, csUnit.Ui.Controls: Added project for all user controls which are shared between different graphical user interface in csUnit, e.g. csUnitRunner and csUnit4VS. [ml] 2/ NEW, csUnitVSWizard: Added support for the Add Project Item. Can now add a new Test Fixture to an existing C#, VB7, VC7 or J# project. [pl] 3/ CHANGE, csUnitRunner: Rearranged menus to bring them more inline with standard menu layouts. THe assembly Refresh command was also renamed Reload. [pl] 4/ CHANGE, ManagedCppDLL: Added examples of SetUp/TearDown and FixtureSetUp/ FixtureTeardown. [pl] 5/ NEW, csUnit4VS: added tool window for seamless integration. [ml] 6/ NEW, Added proxy authentication dialog. SF bug #828531. [mr] 7/ CHANGE, a few details of the proxy authentication window. [mr] 8/ CHANGE, csUnit4VS: The namespace has changed to csUnit.VSAddin. [ml] 9/ NEW, csUnit4VS: Can set breakpoints and execute command "Build and Debug Tests"; the breakpoints will be hit. [ml] 10/ NEW, csUnitCore: Added support for "Category" attributes in the Test and TestFixture attributes. Now you can control which tests and fixtures get tested by specifying a named category from the csUnitCmd command line. [jwa] 11/ CHANGE, csUnitCore: Changed the name of NullTestSpec to AllTestsTestSpec. [jwa] 12/ NEW, csUnitCore: Added TestName pattern matching using regular expressions. [jwa] 13/ CHANGE, csUnitCore, csUnitRunner: Changed the way event hookup occurs so that event handlers can reliably be removed and added to events without creating new instances of event handlers. [jwa] 14/ NEW, csUnitRunner: Added drop down boxes to select the test and fixture categories for tests to run. These drop downs get disabled while tests are being run. [jwa] 15/ CHANGE, csUnitCore: Added invocation of the AssemblyAbort event when an unhandled exception occurs while running an assembly in Loader.cs. This helps prevent lockups of the UI when an internal (csUnit) error occurs. [jwa] 16/ NEW, csUnitControls: Added check boxes for all of the node items in the test hierarchy tree. This will allow you to select more than one test case or such to run using the "Run Selected" menu command. [jwa] 17/ CHANGE, csUnitCore: Fixed the start/finish lifecycle notification for Recipes. Previously the Start event was being called each time an assembly was being tested, which is contrary to the contract for the RecipeStarted event. Now the RecipeStarted event is called at the start of a call to Recipe.RunTests and RecipeFinished is called when it successfully terminates. [jwa] 18/ CHANGE, csUnitVSWizard: Fixed SourceForge bug # 948180. Added '.' as a valid character for safe project names. [jwa] 19/ CHANGE, csUnitCmd: SourceForge bug # 922030. Removed references to the '/autorun' switch since that switch is not relevant to the csUnitCmd executable. [jwa] 20/ NEW, csUnit: SourceForge bug # 919574. Added an IsRequired parameter to the ExpectedException attribute. By default, the EE attribute denotes a required exception, but the IsRequired parameter can be set to false which will make the exception optional. 21/ NEW, csUnitRunner: SourceForge bug # 1003119. Added the counting of assertions made during each test run. The statistics panel of csUnitRunner shows the number of asserts, and a running tally is shown in the status panel. The XML output also contains the number of assertions made in a test. [jwa] 22/ NEW, csUnitRunner: Added a run-all-checked command button to the toolbar. [jwa] 23/ NEW, csUnitRunner: Added support for output of XML reports from csUnitRunner via the "/xml" command line switch. [jwa] 24/ NEW, csUnit: Added an inner exception parameter to a new ctor in the TestFailed exception class. The output from TestFailed.ToString contains the inner exception as well as the TestFailed exception message. [jwa] 25/ CHANGE, csUnitRunner: Added type-specific selection events to the MainForm so that command buttons can register handlers for assembly selection, or test fixture, test method, and recipe selection. This replaces the selected items event that was raised when nodes were selected in the test hierarchy tab. 26/ CHANGE, csUnitCmd: Refactored the csUnitCmd command line handler and the DefaultXmlWriter to use thread monitors to mark when a recipe has finished. This eliminates the sleep cycle in the DefaultXmlWriter.Join method. [jwa] 27/ CHANGE, csUnitCore: Fixed the CmdLineHandler to handle argument values that are full paths, with spaces in the path names. This would cause the file-type handler to not work for recipe files on paths that had spaces in their names. [jwa] 28/ CHANGE, csUnitRunner: Updated the help text to reflect the new commands that are available to the csUnitRunner. [jwa] 29/ CHANGE, csUnit: Added error handling during the execution of a test assembly and the test methods. Now if an unhandled exception occurs, out of the testing context, the appropriate events will get fired to keep csUnitRunner and csUnitCmd operational. [jwa] 30/ CHANGE, csUnit.Interop.mscoree: Fixed the build steps in this project to correctly use the user's path to find the type library tool. [pl] 31/ NEW, csUnit4VS: Added output of unit testing summary information to the VS.NET output window. This output pane, named 'csUnit', will contain the final console output from the unit tests and the statistics summary found in the stats panel of the UI. [jwa] 32/ CHANGE, csUnit4VS: Lots of changes to hookup the event model to recipes and tests in the Add-In so that it runs in a similar fashion to the csUnitRunner. [jwa] 33/ NEW, csUnitCore: Added a fileName and lineNumber parameter to the TestEventArgs constructor so that error locations can be identified. [jwa] 34/ NEW, csUnit4VS: Added task list items to the VS.NET task list when tests error or fail. The task list contains assembly and method name information where the error occured. To see the csUnit tasks, right-click on the TaskList and select the "Show Tasks -> csUnitTasks" menu item. [jwa] 35/ CHANGE, csUnit Installer: Added workaround for registering COM interop assemblies using a Microsoft MSI installer. [pl] 36/ CHANGE, csUnit4VS: Changed the menu item creation process so that a UI menu bar is not required on the main form of the AddIn for the context menu to contain menu items for the commands. [jwa] 37/ CHANGE, csUnit4VS: Added recipe.close() command when a solution is closed. [jwa] -------------------------------------------------------------------------------- Changes for csUnit version 1.9.2 ================================ Last change: September 02, 2003 1/ FIX, csUnitRunner: Refresh on assembly no longer crashes. [ml] -------------------------------------------------------------------------------- Changes for csUnit version 1.9.1 ================================ Last change: August 29, 2003 1/ FIX, csUnitCore: If name of one test is prefix of a second test within the same test fixture, the first test is no longer executed if the second is selected and "Run Selected" is selected. [ml] 2/ NEW, csUnit: Updated XML comments and parameter names in order to increase readability for Assert.Greater() and Assert.Less(). [mr] -------------------------------------------------------------------------------- Changes for csUnit version 1.9.0 BETA ===================================== Last change: August 13, 2003 1/ FIX, csUnitRunner: csUnitRunner calls AppDomain.Unload during shutdown. (SF bug #734784) [ml] 2/ FIX, csUnitCore: Assert.Equals() honors when different types override Equals. (SF bug #748345) [ml] 3/ CHANGE, csUnitCmd: /xml option honors path name. [ml] 4/ NEW, csUnitRunner: Run Failed Tests is a new option in the Test menu, and the context menu. This will run the last batch of failed tests from the previous test run. [jwa] 5/ FIX, csUnitRunner: Intermittent NullReferenceException caused by overrun of application event queue during initial loading of assemblies. [jwa] 6/ CHANGE, csUnitCore: Made all test worker threads be backgrounded. [jwa] 7/ CHANGE: csUnit solution and projects migrated to VisualStudio .NET 2003. This implies that csUnit will now be compiled against .NET 1.1. [ml] 8/ FIX, setup: icon file is now installed for csUnitCmd project. [ml] 9/ CHANGE, Mock.ConsoleRedirection: Made namespace consistent. [ml] 10/ FIX, csUnitCmdText: Removed a recursion leading to endless testing of csUnitCmd. [ml] 11/ CHANGE, csUnitCore: Made TestAssembly.RunTests(ITestSpec) internal instead of public. Test should be specified and started through Recipe only. [ml] 12/ FIX, csUnitCore: Set the current working directory to the directory containing the assembly about to be tested. The working directory is restored after test fixture has had its test executed. This allows tests, or the code being tested, to load partially referenced assemblies. [pl] 13/ CHANGE, csUnitRunner: Changed the menu shortcut key for File/Exit from e to x to match the standard letter used by most applications. [pl] 14/ FIX, csUnitRunner: When a test assembly is not found while loading a recipe, csUnitRunner no longer crashes. Instead a warning is displayed in a dialog box. [ml] 15/ NEW, csUnitRunner: Added support for /autorun option. When a recipe/assembly is specified and also the /autorun option, the tests in that recipe/assembly are executed automatically. [ml] 16/ NEW, setup: Added support for conditionally installing sources. Also, the option "Everyone"/"Just for me" is honored now. Thanks, Jake, for your many hints! [ml] 17/ NEW, csUnitVSWizard: The first version of a project wizard has been added. It supports C#, J#, and Visual Basic .NET. [pl] 18/ CHANGE, csUnitRunner: Status bar now shows test statistics and can be toggled on or off. [pl] 19/ CHANGE, csUnitRunner: Progress bar now displays total number of tests, number of executed tests and percentage complete. [pl] 20/ NEW, csUnitRunner: Added Toolbar. Toolbar can be hidden through the View menu. [pl] 21/ NEW, csUnitRunner: Added option in Options dialog box for specifying whether or not to expand error, warning, or skipped nodes in the test hierarchy tree. [ml] 22/ NEW, csUnitRunner: Test hierarchy tree is scrolled while tests are executed, so that the last item executed is ensured to be visible. [ml] 23/ NEW, csUnitVSWizard: Added support for C++ to the project wizard. [pl, ml] 24/ CHANGE, csUnitRunner: Changed test hierarchy tree in that it no longer sets the background color to the labels. Instead the background color of the node icons is changed. This means the selected test and the result of a selected test are visible at the same time. [ml] 25/ CHANGE, csUnitRunner: Failed tests are now indicated using yellow color. [ml] -------------------------------------------------------------------------------- Changes for csUnit version 1.8.8 ================================ Last change: May 05, 2003 1/ FIX: csUnitRunner: Option /assembly takes relative path again. 2/ CHANGE: csUnitRunner and csUnitCmd now use app.config file for specifying the .NET framework version. By default csUnit uses .NET 1.1, but switches back to .NET 1.0, if 1.1 is not available. -------------------------------------------------------------------------------- Changes for csUnit version 1.8.7 ================================ Last change: April 27, 2003 1/ FIX, csUnitCore: Selecting a namespace node and clicking on "Run Selected" now executes the tests in that namespace. (SF bug #727492) 2/ NEW, csUnitRunner: F6 is now the hot key for running the selected tests from the test hierarchy tab. 3/ FIX, csUnitRunner: Bug in ConsoleWriter that caused performance degradation of testing unit tests that generated a lot of output. 4/ FIX, csUnit4VS: Minor modifications to the VS.NET integration command to work with Visual J# projects as the startup project. 5/ NEW, JSharpDLL: Added ExpectedException test case. 6/ CHANGE, csUnitRunner: Click on the csUnit.org link will automatically close the about dialog window. -------------------------------------------------------------------------------- Changes for csUnit version 1.8.6 ================================ Last change: April 23, 2003 1/ Fix, csUnitCore: Assembly is reloaded, when tests are started even when used with a TestSpec. (SF bug #723021) 2/ Fix, csUnitCore: Redirected output is now correctly updated. (SF bug #723488) 3/ FIX, csUnit4VS: Directory is now even for VS.NET 2003 properly set to the location of the output assembly when using "Build and Run Tests...". (SF bug #723640) 4/ NEW, csUnitRunner: Pressing "Enter" is equal to clicking the "Run"/"Abort" button, that is the "Run"/"Abort" button is now the default button on the main form. 5/ NEW, csUnitRunner: The context menu in the test hierarchy tree contains three new items: "Expand", "Collapse", "Expand All". 6/ CHANGE, csUnitRunner: The URL to the online documentation has been changed from http://www.csunit.org/documentation/documentation.html to http://www.csunit.org/documentation/index.html. Two reasons: a) consistency with the rest of the web site (having an index.html in each directory) and b) the ability to successfully serve the request http://www.csunit.org/documentation by using a web server feature. -------------------------------------------------------------------------------- Changes for csUnit version 1.8.5 Beta ===================================== Last change: April 16, 2003 Number of tests for csUnit: csUnitTest: 68 csUnitRunner: 34 csUnitCore: 73 ------------------------- total: 175 1/ NEW, csUnitRunner: Added drag and drop for assemblies. 2/ NEW, csUnitRunner: Added option for loading most recently used assembly or recipe. Option can be disabled. -------------------------------------------------------------------------------- Changes for csUnit version 1.8.4 Beta ===================================== Last change: April 15, 2003 Number of tests for csUnit: csUnitTest: 68 csUnitRunner: 34 csUnitCore: 73 ------------------------- total: 175 1/ FIX: "Run" button in csUnitRunner enabled, when a recipe is loaded using the command line option. 2/ CHANGE: Added shortcuts to various menu items. 3/ NEW: Added menu item "Check for Updates". 4/ NEW: Add-In now also supports C++ projects. 5/ NEW: Added "Recent Recipies" handling. 6/ NEW: Added link to online documentation under the help menu. 7/ NEW: Added link to "Report a Bug" on SourceForge. 8/ FIX: TestFixtureAttribute will also be detected in derived test fixtures. 9/ NEW: Added support for custom failure message to all members of Assert class. 10/ NEW, csUnitRunner: Added support for running tests in a namespace (= test suite) only. 11/ NEW, csUnitRunner: Added support for running tests of a selected TestFixture only. 12/ NEW, csUnitRunner: Added support for running a single selected test method only. 13/ NEW, csUnitCore: Added support for Assert.ReferenceEquals(). 14/ NEW, csUnitCore: Added support for Assert.Equals(Double, Double, Double permittedDelta). Same for Single. 15/ FIX, csUnitCore: Improved support for Assert.Equals() when two numeric values are compared. -------------------------------------------------------------------------------- Changes for csUnit version 1.8.3 Beta ===================================== Last change: March 31, 2003 Number of tests for csUnit: csUnitTest: 42 csUnitRunner: 34 csUnitCore: 57 ------------------------- total: 133 1/ CHANGE: Managed C++ sample is now a dynamic library (.dll) and demonstrates how to use the Assert class. 2/ CHANGE: csUnitCmd no longer creates a mock result XML file. Instead it takes a recipe on the command line and then creates an XML file for the recipe. 3/ NEW: .recipe will be registered as file type for csUnitRunner. Double-clicking in Explorer launches csUnitRunner and loads the recipe. 4/ CHANGE: Selection of one assembly from a recipe allows to run just the tests in this assembly. 5/ NEW: Added options dialog box with option for whether to ask for unsaved modified untitled recipe upon closing csUnitRunner. The default is, that it does NOT ask for saving modified "Untitled" recipe. This way, if a user does not want to use recipes, the dialogbox upon closing csUnitRunner will not display. 6/ CHANGE: Removed the text box showing the full name of the assembly. As the full name of all loaded assemblies is shown in the test hierarchy tree, there is no need to duplicate the information. 7/ CHANGE: Cleanup of menu structure and UI of csUnitRunner in order to make it simpler and easier to understand. -------------------------------------------------------------------------------- Changes for csUnit version 1.8.2 Beta ===================================== Last change: March 27, 2003 Number of tests for csUnit: csUnitTest: 44 csUnitRunner: 34 csUnitCore: 45 ------------------------- total: 123 1/ FIX: Exceptions thrown in FixtureSetUp and FixtureTearDown methods are properly handled. 2/ NEW: Added support for ExpectedException attribute. 3/ CHANGE: Recipies store relatives paths now. -------------------------------------------------------------------------------- Changes for csUnit version 1.8.1 Beta ===================================== Last change: March 15, 2003 Number of tests for csUnit: csUnitTest: 44 csUnitRunner: 44 csUnitCore: 22 ------------------------- total: 110 1/ CHANGE: All event handler now have a signature according to the conventions recommend by MS: delegate void (object sender, EventArgs). 2/ NEW: csUnitRunner displays usage message for command line options. 3/ NEW: Added csUnit command line tool. Name is csUnitCmd. Usage will be displayed by entering "csUnitCmd /?" at the command line. 4/ NEW: Added support for FixtureSetUpAttribute and FixtureTearDownAttribute. 5/ CHANGE: The following methods of the Assert class are now marked as obsolete: public static void AssertFalse(bool expression) public static void AssertNotEquals(Object obj1, Object obj2) public static void AssertTrue(bool expression) public static void AssertEquals(Object expected, Object actual) Their implementation is still there. However, they create warnings when compiled and display messages about which method to used instead. 6/ NEW: csUnitCmd writes sample xml file ("csUnit.Results.xml") when option "/xml" has been specified. 7/ FIX: Textbox of "Output" tab is now cleared before every test drive. Thanks to Jake W. Anderson for providing this fix! 8/ FIX: Unknown command line options for csUnitCmd or csUnitRunner no longer crash. Instead csUnitRunner displays a dialogbox with usage information; csUnitCmd write usage to the console. 9/ NEW: Added command line option "/recipe:" to csUnitRunner. 10/ CHANGE: Changed the installer so that it removes previous versions if they are 1.8.x or later, but older than the one to be installed. -------------------------------------------------------------------------------- Changes for csUnit version 1.8.0 Beta ===================================== Last change: March 13, 2003 Number of tests for csUnit: csUnitTest: 44 csUnitRunner: 44 csUnitCore: 14 ------------------------- total: 102 1/ FIX: Tests in csUnitTest pass again. 2/ FIX: If values for position or size of the csUnitRunner main form are not within reasonable ranges they are adjusted. 3/ CHANGE: Internal message routing has been changed towards an event driven design. Loader/RemoteLoader and some other classes have been moved to csUnitCore. This increases testability and also improves the design. 4/ NEW: Double click on a line with a file name opens that file in Visual Studio .NET. 5/ ######## REMOVED: In class Assert the following deprecated members have been deleted: public static void assertEquals(Object expected, Object actual) public static void assertNotEquals(Object obj1, Object obj2) public static void assertTrue(bool expression) public static void assertFalse(bool expression) public static void fail() The replacements have been available for a while. See Assert class. ######## 6/ NEW: Added context sensitive menu to test hierarchy view with the items "Run Recipe", "Run Assembly", "Expand All", "Collapse All". 7/ CHANGE: Improved resolving assemblies. Assemblies which are part of csUnit are no longer loaded several times. 8/ NEW: Using the context sensitive menu in the test hierarchy, it is possible to run the tests of only one test assembly. 9/ NEW: The csUnit add-in for Visual Studio adds a command on projects. Using this command, the selected project will be built and the output will be loaded in a new csUnitRunner instance. This command also works, if the select project is not the startup project. The name of the command is "Build And Run Tests". -------------------------------------------------------------------------------- Changes for csUnit version 1.7.6 ================================ Last change: April 05, 2003 Number of tests for csUnit: csUnitTest: 44 csUnitRunner: 44 csUnitCore: 14 ------------------------- total: 102 1/ FIX: Changed some form and control properties, so that csUnitRunner displays properly, when "Large Fonts" have been selected for the screen. 2/ FIX: Output is now properly reset before each new run. -------------------------------------------------------------------------------- Changes for csUnit version 1.7.5 ================================ Last change: March 27, 2003 Number of tests for csUnit: csUnitTest: 44 csUnitRunner: 44 csUnitCore: 14 ------------------------- total: 102 1/ NEW: Addin installs for VS.NET 2003 Final Beta (Everett) as well. 2/ CHANGE: Managed C++ sample now contains tests showing how to use class Assert. Also, the settings of the Managed C++ project have been change so that the output file is a dynamic library (.dll). -------------------------------------------------------------------------------- Changes for csUnit version 1.7.4 ================================ Last change: March 08, 2003 Number of tests for csUnit: csUnitTest: 44 csUnitRunner: 44 csUnitCore: 14 ------------------------- total: 102 1/ FIX: csUnit Addin for VS crashed when output directory of test assembly was set to an absolute path. -------------------------------------------------------------------------------- Changes for csUnit version 1.7.3 ================================ Last change: February 25, 2003 Number of tests for csUnit: csUnitTest: 44 csUnitRunner: 44 csUnitCore: 14 ------------------------- total: 102 1/ NEW: Support for [Ignore] and [TestFixture]. Still tests written using the JUnit style naming convention are still supported. 2/ CHANGE: Configuration files per assemblies no longer supported. Will be replaced in a future version by a better mechanism. 3/ NEW: Results including reasons for skipping tests are now integrated into the class hierarchy tree. Results tab is gone. This way it is easier to associate a result with a test. -------------------------------------------------------------------------------- Changes for csUnit version 1.7.2 Beta ===================================== Last change: February 21, 2003 Number of tests for csUnit: csUnitTest: 44 csUnitRunner: 44 csUnitCore: 14 ------------------------- total: 102 1/ NEW: csUnitRunner asks user if recipe has unsaved modified recipe upon closing of the form. The same applies to creating a new recipe, or opening a different recipe. In all three cases unsaved modified recipies will be detected and the user will be offered a dialog to save the recipe. Thus no modification is lost. 2/ NEW: csUnitRunner indicates unsaved modified recipes using an asterisk in the title of the main form. 3/ FIX: Changes in the selection using the "Select All" and the "Deselect All" buttons are saved again in the test configuration files. 4/ NEW: Support for attributes [SetUp], [TearDown], [Test]. -------------------------------------------------------------------------------- Changes for csUnit version 1.7.1 Beta ===================================== Last change: February 18, 2003 Number of tests for csUnit: csUnitTest: 44 csUnitRunner: 44 csUnitCore: 11 ------------------------- total: 99 1/ NEW: Addin for VS.NET now also supports VB.NET projects. 2/ NEW: Improved drawing performance of test hierarchy tree by selectively suspending layout. 3/ CHANGE: Changed extension for recipe files to ".recipe". 4/ FIX: Assemblies specified at the command line are now automatically loaded again. This also affects for the addin. 5/ FIX: Unload of a selected assembly works now. -------------------------------------------------------------------------------- Changes for csUnit version 1.7.0 Beta ===================================== Last change: February 17, 2003 Number of tests for csUnit: csUnitTest: 44 csUnitRunner: 44 csUnitCore: 11 ------------------------- total: 99 1/ NEW: Added Assert.Null(). This method can be used for asserting that an object reference is 'null'. 2/ NEW: Added Assert.Less() and Assert.Greater(). Both methods compare two objects, which must implement the IComparable, and which must be of the same class. 3/ NEW: Added tab for redirected output of Console.Error and Console.Out (aka as stderr and stdout). The implementation of this feature is a contribution of Jake W. Anderson. Thank you! 4/ NEW: Added Assert.Contains() for two strings. Asserts that a first string is contained in a second one. 5/ FIX of defect: XML-doc for Assert.StartsWith() lists parameters in wrong order. 6/ FIX of defect: "About" dialog box does not display all text properly. 7/ FIX of defect: In some cases entries are added to the statistics list even when no tests are selected. 8/ NEW: Changed order of tabs on the main form. Now "Test Hierarchy" comes first, then "Results", then "Statistics", then "Output". "Test Hierarchy" and "Results" changed their places in order to reflect chronological order. 9/ NEW: csUnitRunner saves size and location between two sessions on a per-user basis. 10/ NEW: Added concept of "Recipe". A recipe is a collection of one or more assemblies containing tests. When loaded, each of the assemblies listed in the recipe is loaded. When run, the tests in each assembly are executed. Messages, counters, statistics, and console output is consolidated for all of the assemblies. 11/ NEW: Color code has been extended: green is used for successful tests, red for tests with errors, yellow is used for tests with failures, blue is used for skipped tests. 12/ NEW: Automatically expands nodes, when a test has failed or an error has occured. -------------------------------------------------------------------------------- Changes for csUnit version 1.6.0 ================================ Last change: January 04, 2003 Number of tests for csUnit: 62 (32 csUnit, 18 csUnitRunner, 12 csUnitCoreTest) csUnitTest: 32 csUnitRunner: 27 csUnitCore: 12 ------------------------- total: 71 1/ Moved "About" from tab to menu. "About"-box retrieves csUnitRunner assembly version from the assembly itself (had to be maintained manually in the past). 2/ Added shortcuts for "Load Assembly..." and "Tests - Run": - Ctrl + "L" opens the "Load Assembly" dialog - Ctrl + "R" runs the tests of the currently loaded assembly 3/ Added tab "Statistics", which displays how much time was spent in each test method thus helping to identify tests, which take too much testing time. Reducing testing time helps increasing the number of integrations and is therefore a means for increasing productivity. The statistics tab also contains a column with the percentage of total execution time of each test. 4/ Added "Recent Assemblies" menu item. The 10 most recently loaded assemblies are remembered and are available through the menu. This feature increases productivity as it is no longer necessary to click through paths in the "Open Assembly" dialog box. 5/ Changed some namespace names for better consitence across the different csUnit projects: csUnit csUnit.Core csUnit.Core.Test csUnit.DefEnvIntegration csUnit.Test csUnit.Runner csUnit.Runner.Test example Namespace 'example' is the only exception, as it is used for testing purposes, and the source code within it serves as an example at the same time. 6/ Added "Reload" command (shortcut F5) for reloading the current assembly. This button is disabled while tests are running or while no assembly is loaded. -------------------------------------------------------------------------------- Changes for csUnit version 1.5.6 ================================ Last change: November 27, 2002 Number of tests for csUnit: csUnitTest: 32 csUnitRunner: 22 ------------------------- total: 54 1/ Fix: Setup()/TearDown() is now called before/after each test method. This is the same behavior as with other unit testing frameworks. 2/ Change: Messages are now displayed in a tree structure. Call stacks can now more easier be associated with reported errors or failures. -------------------------------------------------------------------------------- Changes for csUnit version 1.5.5 ================================ Last change: November 24, 2002 Number of tests for csUnit: csUnitTest: 32 csUnitRunner: 21 example: 6 ------------------------- total: 59 1/ Fix: csUnit4VS integration now also load assemblies properly, which are located in a path containing spaces. -------------------------------------------------------------------------------- Changes for csUnit version 1.5.4 ================================ Last change: November 21, 2002 Number of tests for csUnit: csUnitTest: 32 csUnitRunner: 21 example: 6 ------------------------- total: 59 1/ Fix: Assemblies with a dot in their names are now loaded properly. Thanks to Chris Jaynes for his help on finding and fixing this issue! -------------------------------------------------------------------------------- Changes for csUnit version 1.5.3 ================================ Last change: November 18, 2002 Number of tests for csUnit: csUnitTest: 32 csUnitRunner: 21 example: 6 ------------------------- total: 59 1/ Fix: Exception in Setup() of test class is now properly handled. 2/ Fix: Exception in TearDown() of test class is now properly handled. 3/ Fix: Exception in default constructor of test class is now properly handled. 4/ Test classes (fixtures), which have no configured tests, are no longer instantiated. This improves runtime performance. -------------------------------------------------------------------------------- Changes for csUnit version 1.5.2 ================================ Last change: November 14, 2002 Number of tests for csUnit: 50 (32 csUnit, 18 csUnitRunner) 1/ Fix: Run command in menu is now disabled while no assembly is loaded. 2/ Fix: When assembly containing tests is an application, then the content of the config file is accessible using ConfigurationSettings.AppSettings() in tests. Thanks to Tamegai Masahiro for his help on solving this issue. -------------------------------------------------------------------------------- Changes for csUnit version 1.5.1 ================================ Last change: November 4, 2002 Number of tests for csUnit: 45 (32 csUnit, 13 csUnitRunner) 1/ Fix: Test hierarchy tree is updated, when assembly is reloaded. -------------------------------------------------------------------------------- Changes for csunit version 1.5.0 ================================ Last change: October 29, 2002 Number of tests for csUnit: 45 (32 csUnit, 13 csUnitRunner) 1/ Removed obsolete files "Web*.cs" from project csunitRunner. 2/ Main Form (Application Window) is now resizable. 3/ Narrowed interface ITestListener in order to reduce cross AppDomain traffic. 4/ Added Assert.Fail(String message). Instead of using a standard message, this can be used to display a custom message. In csUnitRunner, this will show up as "Failure! " followed by the location, where Fail() was called. 5/ Moved all classes of csUnitRunner into new namespace csUnitRunner. 6/ csUnitRunner can now test itself: The debug version contains test cases for testing csUnitRunner. 7/ Made class csunit.Assert abstract, as it contains only static methods, and as it does not make sense to instantiate the class. 8/ Renamed all methods in class csunit.Assert() in order to safe typing. However, the old methods are still available for backward compatibility. Also, the tests for the old methods are still there (see class LegacyAssertTest). This is (for now!) the last renaming of these methods. 9/ FIX: Assert.AssertFalse()/Assert.assertFalse()/Assert.False() throws TestFailed() exception with wrong message. 10/ Added application icon. 11/ Added integration of csUnitRunner into Visual Studio .NET. As a first step, csUnitRunner can be started from within the development environment. csUnitRunner tries to determine the active C# project, builds it and takes it as a paramter for the command line option "/assembly:". 12/ Added two text boxes dialogs which are intended to help in case an assembly cannot be loaded. 13/ Added csUnit.Assert.Contains(String, String[]): asserts, that a string is in an array. 14/ Added csUnit.Assert.StartsWith(String, String): asserts, that a string starts with a specified substring. 15/ Added counters for number of executed tests. Also displays number of errors, failures, and skipped tests. 16/ Added display of assembly info (name, version, culture, publik key token), e.g. "example, Version=1.5.0.34534, Culture=neutral, PublicKeyToken=null" 17/ Selected tests are now stored in XML format. The file "csUnitRunner.test.config" is stored in the directory where the assembly with the test is located. -------------------------------------------------------------------------------- Changes for csunit version 1.4.2 ================================ Last change: October 28, 2002 This is a maintenance release. No new features have been added. 1/ Fix: Path specifications for the /assembly command line switch can now also contain driver letters, e.g. "c:\program files\csunit\csunit1.4.2\csunitRunner.exe /assembly:c:\projects\csunit\example\bin\Debug\example.dll" -------------------------------------------------------------------------------- Changes for csunit version 1.4.1 ================================ Last change: September 29, 2002 This is a maintenance release. No new features have been added. 1/ FIX: Removed recursion in Assert.AssertFalse(bool expression). 2/ Change: Added attribute "[EditorBrowsable(EditorBrowsableState.Never)]" to "deprecated" methods in class Assert. For backward compatibility, the old methods are still there; however, they are no longer shown by intellisense. 3/ Added tests for Assert.AssertEquals() and Assert.AssertNotEquals() with null parameters. -------------------------------------------------------------------------------- Changes for csunit version 1.4 ============================== Last change: September 26, 2002 1/ Fix: assembly is now loaded, when specified on the command line. Added test for command line parameter /assembly. The syntax for the command line parameter of csunitRunner is now: csunitRunner /assembly: where represents the absolute or relative path to the binary representing the assembly. 2/ Added project 'example'. It contains a dll with a single test, which can be used as a template for your own tests. 3/ Added a few files to the MSI file, which were missing such as 'app.ico'. 4/ Change naming convention accoding to Microsoft standard, e.g. method names start with upper case. Due to this, the lower case methods setUp(), tearDown(), and all the test methods 'test...()' should be renamed. Currently csunitRunner is backward compatible. However, all methods in csunit.Assert have been renamed as well. If you are using any of them you need to rename them as well. 5/ csunitRunner keeps the settings for the hierarchy tree between two test runs. This includes whether a test or a test class was selected or not and whether a class was expanded or not. 6/ csunitRunner keeps the settings for the hierarchy tree also between two sessions, that is after csunitRunner has been closed and restarted. -------------------------------------------------------------------------------- Changes for csunit version 1.3 ============================== Last change: September 20, 2002 1/ Fix: Unloads assembly also upon abort. Unload happens in separate unload worker thread in order to avoid AppDomain.Unload() from 'hanging'. 2/ Moved tabs in the GUI from top to bottom, same way as with JUnit. 3/ Fix: csunitRunner has now the attribute [STAThread()] in order to avoid deadlocks on certain MS platforms. 4/ Fix: Detects, if a test class is public, but its default constructor not. 5/ Removed duplicate loading of assembly and retrieval of test case through reflection. -------------------------------------------------------------------------------- Changes for csunit version 1.2 ============================== Last change: August 26, 2002 1/ csunit runs now in its own process. The name of the executable is csunitRunner, which is installed into /csunit.org/csunit. So now there are two binaries: csunit.dll (contains the base classes for tests) and csunitRunner.exe, which loads and executes the tests. 2/ All exported, non-abstract types derived from TestCase will be checked for tests. Assembly to be checked is selected through a file-open-like dialog box. The assembly can be either a dll or an executable. 3/ Instead of self implemented exception class IllegalArgumentException, csunit now uses ArgumentException, which is part of the .NET framework. 4/ Baseclass TestCase is obsolete now. Requirements for classes containing tests are: - Class name ends with "Test" ('T' is upper case) - test methods are public void and start with "test" ('t' is lower case) 5/ Assembly can be specified as command line parameter: csunitRunner where represents the absolute or relative path to the binary representing the assembly. 6/ csunitRunner can stay open, while rebuilding the binary containing the tests. csunitRunner reloads the binary before each run, but does not deny writing a new version. 7/ csunit is now visible in the .NET tab of the "Add References" dialog box of Visual Studio .NET. VS.NET needs to be restarted after an installation so that the settings are re-read. -------------------------------------------------------------------------------- Changes for csunit version 1.1 ============================== Last change: August 15, 2002 1/ The tree view with the test cases now has checkboxes. Check items will be executed. Non-checked not. 2/ The test hierarchy tab now has two buttons to select / deselect all items. 3/ Removed a couple of now superfluous Refresh() calls. -------------------------------------------------------------------------------- Changes for csunit Version 1.0.1 ================================ Last change: August 05, 2002 1/ All binaries are now signed with a strong key. 2/ Setup installs csunit into global assembly cache (GAC). 3/ Test are executed in a separate worker thread, so that UI remains responsive. Also, long running tests can be aborted. This is handled by the framework. 4/ Added some more test cases. /////////////////////////////////////////////////////////////////////////////// // End of file ///////////////////////////////////////////////////////////////////////////////