diff --git a/.gitignore b/.gitignore new file mode 100644 index 00000000..d65e709c --- /dev/null +++ b/.gitignore @@ -0,0 +1,11 @@ +*resharper.user +[Dd]ebug/ +[Rr]elease/ +build/ +[Bb]in/ +[Oo]bj/ +*.suo +*.sln.cache +_ReSharper.*/ +AssemblyInfo.cs +*.user \ No newline at end of file diff --git a/Default.build b/Default.build deleted file mode 100644 index d2f82f6a..00000000 --- a/Default.build +++ /dev/null @@ -1,42 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Rhino.Mocks.Tests.Model/Rhino.Mocks.Tests.Model.csproj b/Rhino.Mocks.Tests.Model/Rhino.Mocks.Tests.Model.csproj index 8f7e1557..139ce018 100644 --- a/Rhino.Mocks.Tests.Model/Rhino.Mocks.Tests.Model.csproj +++ b/Rhino.Mocks.Tests.Model/Rhino.Mocks.Tests.Model.csproj @@ -3,7 +3,7 @@ Debug AnyCPU - 9.0.21022 + 9.0.30729 2.0 {3078B943-10A5-41FA-A68A-7C4FC98506A0} Library @@ -13,7 +13,7 @@ v3.5 512 true - ..\..\ayende-open-source.snk + ..\ayende-open-source.snk true @@ -59,7 +59,7 @@ - + ayende-open-source.snk diff --git a/Rhino.Mocks.Tests.Model/default.build b/Rhino.Mocks.Tests.Model/default.build deleted file mode 100644 index b5890598..00000000 --- a/Rhino.Mocks.Tests.Model/default.build +++ /dev/null @@ -1,28 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Rhino.Mocks.Tests/Rhino.Mocks.Tests 3.5.csproj b/Rhino.Mocks.Tests/Rhino.Mocks.Tests 3.5.csproj index 5fad1bb3..d0810171 100644 --- a/Rhino.Mocks.Tests/Rhino.Mocks.Tests 3.5.csproj +++ b/Rhino.Mocks.Tests/Rhino.Mocks.Tests 3.5.csproj @@ -15,7 +15,7 @@ Rhino.Mocks.Tests OnBuildSuccess true - ..\..\ayende-open-source.snk + ..\ayende-open-source.snk publish\ true Disk @@ -77,27 +77,31 @@ False - ..\..\SharedLibs\Castle\Castle.Core.dll + ..\SharedLibs\Castle.Core.dll - + False - ..\..\SharedLibs\Castle\Castle.DynamicProxy2.dll + ..\SharedLibs\Castle.DynamicProxy2.dll False - ..\..\SharedLibs\Interop\Interop.ADODB.dll + ..\SharedLibs\Interop.ADODB.dll False - ..\..\SharedLibs\Interop\Interop.MSHTML.dll + ..\SharedLibs\Interop.MSHTML.dll - + False - ..\..\SharedLibs\Tools\MbUnit\MbUnit.Framework.dll + ..\SharedLibs\MbUnit.Framework.dll False - ..\..\SharedLibs\Interop\Rhino.Mocks.CPP.Interfaces.dll + ..\SharedLibs\Rhino.Mocks.CPP.Interfaces.dll + + + False + ..\SharedLibs\Scripting.dll System @@ -365,6 +369,7 @@ + @@ -411,11 +416,6 @@ - - - ayende-open-source.snk - - False @@ -434,14 +434,9 @@ - - {420B2830-E718-11CF-893D-00A0C9054228} - 1 - 0 - 0 - tlbimp - False - + + ayende-open-source.snk + \ No newline at end of file diff --git a/Rhino.Mocks.Tests/TestDlls/Rhino.Mocks.CPP.Interfaces.dll b/Rhino.Mocks.Tests/TestDlls/Rhino.Mocks.CPP.Interfaces.dll deleted file mode 100644 index a5b89c3e..00000000 Binary files a/Rhino.Mocks.Tests/TestDlls/Rhino.Mocks.CPP.Interfaces.dll and /dev/null differ diff --git a/Rhino.Mocks.Tests/default.build b/Rhino.Mocks.Tests/default.build deleted file mode 100644 index 200e3a48..00000000 --- a/Rhino.Mocks.Tests/default.build +++ /dev/null @@ -1,36 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Rhino.Mocks/Rhino.Mocks 3.5.csproj b/Rhino.Mocks/Rhino.Mocks 3.5.csproj index 1d95d15b..1d5a2b79 100644 --- a/Rhino.Mocks/Rhino.Mocks 3.5.csproj +++ b/Rhino.Mocks/Rhino.Mocks 3.5.csproj @@ -15,7 +15,7 @@ Rhino.Mocks OnBuildSuccess true - ..\..\ayende-open-source.snk + ..\ayende-open-source.snk 2.0 @@ -60,11 +60,11 @@ False - ..\..\SharedLibs\Castle\Castle.Core.dll + ..\SharedLibs\Castle.Core.dll - + False - ..\..\SharedLibs\Castle\Castle.DynamicProxy2.dll + ..\SharedLibs\Castle.DynamicProxy2.dll System @@ -262,11 +262,11 @@ Code - - ayende-open-source.snk - + + ayende-open-source.snk + diff --git a/Rhino.Mocks/default.build b/Rhino.Mocks/default.build deleted file mode 100644 index 42de1009..00000000 --- a/Rhino.Mocks/default.build +++ /dev/null @@ -1,44 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/SharedLibs/Castle.Core.dll b/SharedLibs/Castle.Core.dll new file mode 100644 index 00000000..0bd62d69 Binary files /dev/null and b/SharedLibs/Castle.Core.dll differ diff --git a/SharedLibs/Castle.DynamicProxy2.dll b/SharedLibs/Castle.DynamicProxy2.dll new file mode 100644 index 00000000..1e97d1a1 Binary files /dev/null and b/SharedLibs/Castle.DynamicProxy2.dll differ diff --git a/SharedLibs/Interop.ADODB.dll b/SharedLibs/Interop.ADODB.dll new file mode 100644 index 00000000..d84af31a Binary files /dev/null and b/SharedLibs/Interop.ADODB.dll differ diff --git a/SharedLibs/Interop.MSHTML.dll b/SharedLibs/Interop.MSHTML.dll new file mode 100644 index 00000000..a286feb3 Binary files /dev/null and b/SharedLibs/Interop.MSHTML.dll differ diff --git a/SharedLibs/MbUnit.Framework.dll b/SharedLibs/MbUnit.Framework.dll new file mode 100644 index 00000000..18108b9f Binary files /dev/null and b/SharedLibs/MbUnit.Framework.dll differ diff --git a/SharedLibs/Rhino.Mocks.CPP.Interfaces.dll b/SharedLibs/Rhino.Mocks.CPP.Interfaces.dll new file mode 100644 index 00000000..d5e41f10 Binary files /dev/null and b/SharedLibs/Rhino.Mocks.CPP.Interfaces.dll differ diff --git a/SharedLibs/Scripting.dll b/SharedLibs/Scripting.dll new file mode 100644 index 00000000..6731432d Binary files /dev/null and b/SharedLibs/Scripting.dll differ diff --git a/Tools/ILMerge.exe b/Tools/ILMerge.exe new file mode 100644 index 00000000..fd61d2c3 Binary files /dev/null and b/Tools/ILMerge.exe differ diff --git a/Tools/MbUnit/Aggregate.dll b/Tools/MbUnit/Aggregate.dll new file mode 100644 index 00000000..b0d7c3c8 Binary files /dev/null and b/Tools/MbUnit/Aggregate.dll differ diff --git a/Tools/MbUnit/Aggregate.pdb b/Tools/MbUnit/Aggregate.pdb new file mode 100644 index 00000000..4850e666 Binary files /dev/null and b/Tools/MbUnit/Aggregate.pdb differ diff --git a/Tools/MbUnit/MbUnit.AddIn.dll b/Tools/MbUnit/MbUnit.AddIn.dll new file mode 100644 index 00000000..35464b93 Binary files /dev/null and b/Tools/MbUnit/MbUnit.AddIn.dll differ diff --git a/Tools/MbUnit/MbUnit.Cons.exe b/Tools/MbUnit/MbUnit.Cons.exe new file mode 100644 index 00000000..ff5913a0 Binary files /dev/null and b/Tools/MbUnit/MbUnit.Cons.exe differ diff --git a/Tools/MbUnit/MbUnit.Cons.exe.config b/Tools/MbUnit/MbUnit.Cons.exe.config new file mode 100644 index 00000000..7fd5edb1 --- /dev/null +++ b/Tools/MbUnit/MbUnit.Cons.exe.config @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/Tools/MbUnit/MbUnit.Demo.1.1.dll b/Tools/MbUnit/MbUnit.Demo.1.1.dll new file mode 100644 index 00000000..01224cf5 Binary files /dev/null and b/Tools/MbUnit/MbUnit.Demo.1.1.dll differ diff --git a/Tools/MbUnit/MbUnit.Framework.1.1.XML b/Tools/MbUnit/MbUnit.Framework.1.1.XML new file mode 100644 index 00000000..59492a4d --- /dev/null +++ b/Tools/MbUnit/MbUnit.Framework.1.1.XML @@ -0,0 +1,20 @@ + + + + MbUnit.Framework.1.1 + + + + + Tags methods to execute database operation in its own database + transaction. + + + + This attribute was invented by Roy Osherove ( + http://weblogs.asp.net/rosherove/). + + + + + diff --git a/Tools/MbUnit/MbUnit.Framework.1.1.dll b/Tools/MbUnit/MbUnit.Framework.1.1.dll new file mode 100644 index 00000000..db54cfe7 Binary files /dev/null and b/Tools/MbUnit/MbUnit.Framework.1.1.dll differ diff --git a/Tools/MbUnit/MbUnit.Framework.2.0.dll b/Tools/MbUnit/MbUnit.Framework.2.0.dll new file mode 100644 index 00000000..ec1e6d79 Binary files /dev/null and b/Tools/MbUnit/MbUnit.Framework.2.0.dll differ diff --git a/Tools/MbUnit/MbUnit.Framework.XML b/Tools/MbUnit/MbUnit.Framework.XML new file mode 100644 index 00000000..cfb23ec5 --- /dev/null +++ b/Tools/MbUnit/MbUnit.Framework.XML @@ -0,0 +1,10995 @@ + + + + MbUnit.Framework + + + + + Array Assertion class + + + + + A private constructor disallows any instances of this object. + + + + + Verifies that both array have the same dimension and elements. + + + + + + + Assertion class + + + + + + The Equals method throws an AssertionException. This is done + to make sure there is no mistake by calling this function. + + + + + + + override the default ReferenceEquals to throw an AssertionException. This + implementation makes sure there is no mistake in calling this function + as part of Assert. + + + + + + + Checks the type of the object, returning true if + the object is a numeric type. + + The object to check + true if the object is a numeric type + + + + Used to compare numeric types. Comparisons between + same types are fine (Int32 to Int32, or Int64 to Int64), + but the Equals method fails across different types. + This method was added to allow any numeric type to + be handled correctly, by using ToString and + comparing the result + + + + + + + + A private constructor disallows any instances of this object. + + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + The evaluated condition + + The format of the message to display if the condition is false, + containing zero or more format items. + + + An array containing zero or more objects to format. + + + + The error message is formatted using . + + + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + The evaluated condition + + + + Asserts that a condition is false. If the condition is true the method throws + an . + + The evaluated condition + + The format of the message to display if the condition is false, + containing zero or more format items. + + + An array containing zero or more objects to format. + + + + The error message is formatted using . + + + + + + Asserts that a condition is false. If the condition is true the method throws + an . + + The evaluated condition + + + + Verifies that two doubles are equal considering a delta. If the + expected value is infinity then the delta value is ignored. If + they are not equals then an is + thrown. + + The expected value + The actual value + The maximum acceptable difference between the + the expected and the actual + The message printed out upon failure + + + + Verifies that two doubles are equal considering a delta. If the + expected value is infinity then the delta value is ignored. If + they are not equals then an is + thrown. + + The expected value + The actual value + The maximum acceptable difference between the + the expected and the actual + + + + Verifies that two floats are equal considering a delta. If the + expected value is infinity then the delta value is ignored. If + they are not equals then an is + thrown. + + The message printed out upon failure + The expected value + The actual value + The maximum acceptable difference between the + the expected and the actual + + + + Verifies that two floats are equal considering a delta. If the + expected value is infinity then the delta value is ignored. If + they are not equals then an is + thrown. + + The expected value + The actual value + The maximum acceptable difference between the + the expected and the actual + + + + Verifies that two decimals are equal. If + they are not equals then an is + thrown. + + The message printed out upon failure + The expected value + The actual value + + + + Verifies that two decimals are equal. If + they are not equals then an is + thrown. + + The expected value + The actual value + + The format of the message to display if the assertion fails, + containing zero or more format items. + + + An array containing zero or more objects to format. + + + + The error message is formatted using . + + + + + + Verifies that two decimals are equal. If + they are not equals then an is + thrown. + + The expected value + The actual value + + + + Verifies that two ints are equal. If + they are not equals then an is + thrown. + + The message printed out upon failure + The expected value + The actual value + + + + Verifies that two ints are equal. If + they are not equals then an is + thrown. + + The expected value + The actual value + + The format of the message to display if the assertion fails, + containing zero or more format items. + + + An array containing zero or more objects to format. + + + + The error message is formatted using . + + + + + + Verifies that two ints are equal. If + they are not equals then an is + thrown. + + The expected value + The actual value + + + + Verifies that two objects are equal. Two objects are considered + equal if both are null, or if both have the same value. All + non-numeric types are compared by using the Equals method. + If they are not equal an is thrown. + + The value that is expected + The actual value + + The format of the message to display if the assertion fails, + containing zero or more format items. + + + An array containing zero or more objects to format. + + + + The error message is formatted using . + + + + + + Verifies that two objects are equal. Two objects are considered + equal if both are null, or if both have the same value. All + non-numeric types are compared by using the Equals method. + If they are not equal an is thrown. + + The value that is expected + The actual value + The message to display if objects are not equal + + + + Verifies that two objects are equal. Two objects are considered + equal if both are null, or if both have the same value. All + non-numeric types are compared by using the Equals method. + If they are not equal an is thrown. + + The value that is expected + The actual value + + + + Verifies that the value of the property described by is the same + in both ojects. + + + Property describing the value to test + + + Reference object + + + Actual object + + + Index of the property. + + + + + Asserts that two objects are not equal. If they are equal + an is thrown. + + The expected object + The actual object + The message to be displayed when the two objects are the same object. + Arguments to be used in formatting the message + + + + Asserts that two objects are not equal. If they are equal + an is thrown. + + The expected object + The actual object + The message to be displayed when the objects are the same + + + + Asserts that two objects are not equal. If they are equal + an is thrown. + + The expected object + The actual object + + + + Asserts that two objects are not equal. If they are equal + an is thrown. + + The expected object + The actual object + The message to be displayed when the two objects are the same object. + Arguments to be used in formatting the message + + + + Asserts that two objects are not equal. If they are equal + an is thrown. + + The expected object + The actual object + The message to be displayed when the objects are the same + + + + Asserts that two objects are not equal. If they are equal + an is thrown. + + The expected object + The actual object + + + + Asserts that two ints are not equal. If they are equal + an is thrown. + + The expected object + The actual object + The message to be displayed when the two objects are the same object. + Arguments to be used in formatting the message + + + + Asserts that two ints are not equal. If they are equal + an is thrown. + + The expected object + The actual object + The message to be displayed when the objects are the same + + + + Asserts that two ints are not equal. If they are equal + an is thrown. + + The expected object + The actual object + + + + Asserts that two uints are not equal. If they are equal + an is thrown. + + The expected object + The actual object + The message to be displayed when the two objects are the same object. + Arguments to be used in formatting the message + + + + Asserts that two uints are not equal. If they are equal + an is thrown. + + The expected object + The actual object + The message to be displayed when the objects are the same + + + + Asserts that two uints are not equal. If they are equal + an is thrown. + + The expected object + The actual object + + + + Asserts that two decimals are not equal. If they are equal + an is thrown. + + The expected object + The actual object + The message to be displayed when the two objects are the same object. + Arguments to be used in formatting the message + + + + Asserts that two decimals are not equal. If they are equal + an is thrown. + + The expected object + The actual object + The message to be displayed when the objects are the same + + + + Asserts that two decimals are not equal. If they are equal + an is thrown. + + The expected object + The actual object + + + + Asserts that two floats are not equal. If they are equal + an is thrown. + + The expected object + The actual object + The message to be displayed when the two objects are the same object. + Arguments to be used in formatting the message + + + + Asserts that two floats are not equal. If they are equal + an is thrown. + + The expected object + The actual object + The message to be displayed when the objects are the same + + + + Asserts that two floats are not equal. If they are equal + an is thrown. + + The expected object + The actual object + + + + Asserts that two doubles are not equal. If they are equal + an is thrown. + + The expected object + The actual object + The message to be displayed when the two objects are the same object. + Arguments to be used in formatting the message + + + + Asserts that two doubles are not equal. If they are equal + an is thrown. + + The expected object + The actual object + The message to be displayed when the objects are the same + + + + Asserts that two doubles are not equal. If they are equal + an is thrown. + + The expected object + The actual object + + + + Verifies that the object that is passed in is not equal to null + If the object is not null then an + is thrown. + + The object that is to be tested + + The format of the message to display if the assertion fails, + containing zero or more format items. + + + An array containing zero or more objects to format. + + + + The error message is formatted using . + + + + + + Verifies that the object that is passed in is not equal to null + If the object is not null then an + is thrown. + + The object that is to be tested + + + + Verifies that the object that is passed in is equal to null + If the object is null then an + is thrown. + + The object that is to be tested + + The format of the message to display if the assertion fails, + containing zero or more format items. + + + An array containing zero or more objects to format. + + + + The error message is formatted using . + + + + + + Verifies that the object that is passed in is equal to null + If the object is null then an + is thrown. + + The object that is to be tested + + + + Asserts that two objects refer to the same object. If they + are not the same an is thrown. + + The message to be printed when the two objects are not the same object. + The expected object + The actual object + + + + Asserts that two objects refer to the same object. If they + are not the same an is thrown. + + The expected object + The actual object + + The format of the message to display if the assertion fails, + containing zero or more format items. + + + An array containing zero or more objects to format. + + + + The error message is formatted using . + + + + + + Asserts that two objects refer to the same object. If they + are not the same an is thrown. + + The expected object + The actual object + + + + Throws an with the message that is + passed in. This is used by the other Assert functions. + + + The format of the message to initialize the with. + + + An array containing zero or more objects to format. + + + + The error message is formatted using . + + + + + + Throws an with the message that is + passed in. This is used by the other Assert functions. + + The message to initialize the with. + + + + Throws an with the message that is + passed in. This is used by the other Assert functions. + + + + + Makes the current test ignored using like + formatting + + + + + + + Makes the current test ignored using like + formatting + + + + + + Verifies that is strictly lower than + . + + + + + Verifies that is strictly lower than + . + + + + + Verifies that is strictly lower than + . + + + + + Verifies that is strictly lower than + . + + + + + Verifies that is strictly lower than + . + + + + + Verifies that is strictly lower than + . + + + + + Verifies that is strictly lower than + . + + + + + Verifies that is strictly lower than + . + + + + + Verifies that is strictly lower than + . + + + + + Verifies that is strictly lower than + . + + + + + Verifies that is strictly lower than + . + + + + + Verifies that is strictly lower than + . + + + + + Verifies that is strictly lower than + . + + + + + Verifies that is strictly lower than + . + + + + + Verifies that is strictly lower than + . + + + + + Verifies that is strictly lower than + . + + + + + Verifies that is strictly lower than + . + + + + + Verifies that is strictly lower than + . + + + + + Verifies that is strictly lower than + . + + + + + Verifies that is strictly lower than + . + + + + + Verifies that is strictly lower than + . + + + + + Verifies that is strictly lower than + . + + + + + Verifies that is strictly lower than + . + + + + + Verifies that is strictly lower than + . + + + + + Verifies that is strictly lower than + . + + + + + Verifies that is strictly lower than + . + + + + + Verifies that is strictly lower than + . + + + + + Verifies that is strictly lower than + . + + + + + Verifies that is strictly lower than + . + + + + + Verifies that is strictly lower than + . + + + + + Verifies that is strictly lower than + . + + + + + Verifies that is strictly lower than + . + + + + + Verifies that is strictly lower than + . + + + + + Verifies that is strictly lower than + . + + + + + Verifies that is strictly lower than + . + + + + + Verifies that is strictly lower than + . + + + + + Verifies that is strictly lower than + . + + + + + Verifies that is strictly lower than + . + + + + + Verifies that is strictly lower than + . + + + + + Verifies that is lower equal than + . + + + + + Verifies that is lower equal than + . + + + + + Verifies that is lower equal than + . + + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message that will be displayed on failure + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message that will be displayed on failure + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message that will be displayed on failure + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message that will be displayed on failure + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message that will be displayed on failure + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message that will be displayed on failure + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message that will be displayed on failure + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + + + + Verifies that is strictly greater than + . + + + + + Verifies that is strictly greater than + . + + + + + Verifies that is strictly greater than + . + + + + + Verifies that is strictly greater than + . + + + + + Verifies that is strictly greater than + . + + + + + Verifies that is strictly greater than + . + + + + + Verifies that is strictly greater than + . + + + + + Verifies that is strictly greater than + . + + + + + Verifies that is strictly greater than + . + + + + + Verifies that is strictly greater than + . + + + + + Verifies that is strictly greater than + . + + + + + Verifies that is strictly greater than + . + + + + + Verifies that is strictly greater than + . + + + + + Verifies that is strictly greater than + . + + + + + Verifies that is strictly greater than + . + + + + + Verifies that is strictly greater than + . + + + + + Verifies that is strictly greater than + . + + + + + Verifies that is strictly greater than + . + + + + + Verifies that is strictly greater than + . + + + + + Verifies that is strictly greater than + . + + + + + Verifies that is strictly greater than + . + + + + + Verifies that the first value is greater than the second + value. If they are not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Verifies that the first value is greater than the second + value. If they are not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message that will be displayed on failure + + + + Verifies that the first value is greater than the second + value. If they are not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + + + + Verifies that the first value is greater than the second + value. If they are not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Verifies that the first value is greater than the second + value. If they are not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message that will be displayed on failure + + + + Verifies that the first value is greater than the second + value. If they are not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + + + + Verifies that the first value is greater than the second + value. If they are not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Verifies that the first value is greater than the second + value. If they are not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message that will be displayed on failure + + + + Verifies that the first value is greater than the second + value. If they are not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + + + + Verifies that the first value is greater than the second + value. If they are not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Verifies that the first value is greater than the second + value. If they are not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message that will be displayed on failure + + + + Verifies that the first value is greater than the second + value. If they are not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + + + + Verifies that the first value is greater than the second + value. If they are not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Verifies that the first value is greater than the second + value. If they are not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message that will be displayed on failure + + + + Verifies that the first value is greater than the second + value. If they are not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + + + + Verifies that the first value is greater than the second + value. If they are not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Verifies that the first value is greater than the second + value. If they are not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message that will be displayed on failure + + + + Verifies that the first value is greater than the second + value. If they are not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + + + + Verifies that the first value is greater than the second + value. If they are not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Verifies that the first value is greater than the second + value. If they are not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message that will be displayed on failure + + + + Verifies that the first value is greater than the second + value. If they are not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + + + + Verifies that is greater than + . + + + + + Verifies that is greater than + . + + + + + Verifies that is greater than + . + + + + + Verifies that is greater than + . + + + + + Verifies that is greater than + . + + + + + Verifies that is greater than + . + + + + + Verifies that is greater than + . + + + + + Verifies that is greater than + . + + + + + Verifies that is greater than + . + + + + + Verifies that is greater than + . + + + + + Verifies that is greater than + . + + + + + Verifies that is greater than + . + + + + + Verifies that is greater than + . + + + + + Verifies that is greater than + . + + + + + Verifies that is greater than + . + + + + + Verifies that is greater than + . + + + + + Verifies that is greater than + . + + + + + Verifies that is greater than + . + + + + + Verifies that is strictly greater than + . + + + + + Verifies that is strictly greater than + . + + + + + Verifies that is strictly greater than + . + + + + + Asserts that is between and + . + + + + + Asserts that is between and + . + + + + + Asserts that is between and + . + + + + + Asserts that is between and + . + + + + + Asserts that is between and + . + + + + + Asserts that is between and + . + + + + + Asserts that is between and + . + + + + + Asserts that is between and + . + + + + + Asserts that is between and + . + + + + + Asserts that is between and + . + + + + + Asserts that is between and + . + + + + + Asserts that is between and + . + + + + + Asserts that is between and + . + + + + + Asserts that is between and + . + + + + + Asserts that is between and + . + + + + + Asserts that is between and + . + + + + + Asserts that is between and + . + + + + + Asserts that is between and + . + + + + + Asserts that is between and + . + + + + + Asserts that is between and + . + + + + + Asserts that is between and + . + + + + + Asserts that is not between and + . + + + + + Asserts that is not between and + . + + + + + Asserts that is not between and + . + + + + + Asserts that is not between and + . + + + + + Asserts that is not between and + . + + + + + Asserts that is not between and + . + + + + + Asserts that is not between and + . + + + + + Asserts that is in the dic . + + + + + Asserts that is in the dic . + + + + + Asserts that is in the list . + + + + + Asserts that is in the list . + + + + + Asserts that is in the enumerable collection . + + + + + Asserts that is in the enumerable collection . + + + + + Asserts that is not in the dic . + + + + + Asserts that is not in the dic . + + + + + Asserts that is not in the list . + + + + + Asserts that is not in the list . + + + + + Asserts that is not in the enumerable collection . + + + + + Asserts that is not in the enumerable collection . + + + + + Assert that a string is empty - that is equal to string.Empty + + The string to be tested + The message to be displayed on failure + Arguments to be used in formatting the message + + + + Assert that a string is empty - that is equal to string.Emtpy + + The string to be tested + The message to be displayed on failure + + + + Assert that a string is empty - that is equal to string.Emtpy + + The string to be tested + + + + Assert that an array, list or other collection is empty + + An array, list or other collection implementing ICollection + The message to be displayed on failure + Arguments to be used in formatting the message + + + + Assert that an array, list or other collection is empty + + An array, list or other collection implementing ICollection + The message to be displayed on failure + + + + Assert that an array,list or other collection is empty + + An array, list or other collection implementing ICollection + + + + Assert that a string is empty - that is equal to string.Emtpy + + The string to be tested + The message to be displayed on failure + Arguments to be used in formatting the message + + + + Assert that a string is empty - that is equal to string.Emtpy + + The string to be tested + The message to be displayed on failure + + + + Assert that a string is empty - that is equal to string.Emtpy + + The string to be tested + + + + Assert that an array, list or other collection is empty + + An array, list or other collection implementing ICollection + The message to be displayed on failure + Arguments to be used in formatting the message + + + + Assert that an array, list or other collection is empty + + An array, list or other collection implementing ICollection + The message to be displayed on failure + + + + Assert that an array,list or other collection is empty + + An array, list or other collection implementing ICollection + + + + Verifies that the double is passed is an NaN value. + If the object is not NaN then an + is thrown. + + The value that is to be tested + The message to be displayed when the object is not null + Arguments to be used in formatting the message + + + + Verifies that the double is passed is an NaN value. + If the object is not NaN then an + is thrown. + + The object that is to be tested + The message to be displayed when the object is not null + + + + Verifies that the double is passed is an NaN value. + If the object is not NaN then an + is thrown. + + The object that is to be tested + + + + Asserts that an object may be assigned a value of a given Type. + + The expected Type. + The object under examination + + + + Asserts that an object may be assigned a value of a given Type. + + The expected Type. + The object under examination + The messge to display in case of failure + + + + Asserts that an object may be assigned a value of a given Type. + + The expected Type. + The object under examination + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an object may not be assigned a value of a given Type. + + The expected Type. + The object under examination + + + + Asserts that an object may not be assigned a value of a given Type. + + The expected Type. + The object under examination + The messge to display in case of failure + + + + Asserts that an object may not be assigned a value of a given Type. + + The expected Type. + The object under examination + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an object is an instance of a given type. + + The expected Type + The object being examined + + + + Asserts that an object is an instance of a given type. + + The expected Type + The object being examined + A message to display in case of failure + + + + Asserts that an object is an instance of a given type. + + The expected Type + The object being examined + A message to display in case of failure + An array of objects to be used in formatting the message + + + + Asserts that an object is not an instance of a given type. + + The expected Type + The object being examined + + + + Asserts that an object is not an instance of a given type. + + The expected Type + The object being examined + A message to display in case of failure + + + + Asserts that an object is not an instance of a given type. + + The expected Type + The object being examined + A message to display in case of failure + An array of objects to be used in formatting the message + + + + This method is called when two objects have been compared and found to be + different. This prints a nice message to the screen. + + The expected object + The actual object + + The format of the message to display if the assertion fails, + containing zero or more format items. + + + An array containing zero or more objects to format. + + + + The error message is formatted using . + + + + + + This method is called when the two objects are not the same. + + The expected object + The actual object + + The format of the message to display if the assertion fails, + containing zero or more format items. + + + An array containing zero or more objects to format. + + + + The error message is formatted using . + + + + + + This attribute identifies the author of a test fixture. + + + + + + Assertion helper for the class. + + + + This class contains static helper methods to verify assertions on the + class. + + + + + + Verifies that the property value + of and are equal. + + + Instance containing the expected value. + + + Instance containing the tested value. + + + + + Verifies that the property value + of is equal to . + + + Expected value. + + + Instance containing the tested value. + + + + + Verifies that the property value + is true. + + + Instance containing the expected value. + + + + + Verifies that the property value + is false. + + + Instance containing the expected value. + + + + + Verifies that the property value + of and are equal. + + + Instance containing the expected value. + + + Instance containing the tested value. + + + + + Verifies that the property value + of is equal to . + + + Expected value. + + + Instance containing the tested value. + + + + + Verifies that the property value + of and are equal. + + + Instance containing the expected value. + + + Instance containing the tested value. + + + + + Verifies that the property value + of is equal to . + + + Expected value. + + + Instance containing the tested value. + + + + + Verifies that the property + is synchronized with the number of iterated elements. + + + Collection to test + + + is a null reference (Nothing in Visual Basic) + + + + + Verifies that and + are equal collections. Element count and element wize equality is verified. + + + Expected value. + + + Instance containing the tested value. + + + + + Verifies that and + are equal collections. Element count and element wize equality is verified. + + + Expected value. + + + Instance containing the tested value. + + + + + Asserts that all items contained in collection are of the type specified by expectedType. + + ICollection of objects to be considered + System.Type that all objects in collection must be instances of + + + + Asserts that all items contained in collection are of the type specified by expectedType. + + ICollection of objects to be considered + System.Type that all objects in collection must be instances of + The message that will be displayed on failure + + + + Asserts that all items contained in collection are of the type specified by expectedType. + + ICollection of objects to be considered + System.Type that all objects in collection must be instances of + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that all items contained in collection are not equal to null. + + ICollection of objects to be considered + + + + Asserts that all items contained in collection are not equal to null. + + ICollection of objects to be considered + The message that will be displayed on failure + + + + Asserts that all items contained in collection are not equal to null. + + ICollection of objects to be considered + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Ensures that every object contained in collection exists within the collection + once and only once. + + ICollection of objects to be considered + + + + Ensures that every object contained in collection exists within the collection + once and only once. + + ICollection of objects to be considered + The message that will be displayed on failure + + + + Ensures that every object contained in collection exists within the collection + once and only once. + + ICollection of objects to be considered + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that expected and actual are equivalent, containing the same objects but the match may be in any order. + + The first ICollection of objects to be considered + The second ICollection of objects to be considered + + + + Asserts that expected and actual are equivalent, containing the same objects but the match may be in any order. + + The first ICollection of objects to be considered + The second ICollection of objects to be considered + The message that will be displayed on failure + + + + Asserts that expected and actual are equivalent, containing the same objects but the match may be in any order. + + The first ICollection of objects to be considered + The second ICollection of objects to be considered + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that expected and actual are not exactly equal. + + The first ICollection of objects to be considered + The second ICollection of objects to be considered + + + + Asserts that expected and actual are not exactly equal. + If comparer is not null then it will be used to compare the objects. + + The first ICollection of objects to be considered + The second ICollection of objects to be considered + The IComparer to use in comparing objects from each ICollection + + + + Asserts that expected and actual are not exactly equal. + + The first ICollection of objects to be considered + The second ICollection of objects to be considered + The message that will be displayed on failure + + + + Asserts that expected and actual are not exactly equal. + If comparer is not null then it will be used to compare the objects. + + The first ICollection of objects to be considered + The second ICollection of objects to be considered + The IComparer to use in comparing objects from each ICollection + The message that will be displayed on failure + + + + Asserts that expected and actual are not exactly equal. + + The first ICollection of objects to be considered + The second ICollection of objects to be considered + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that expected and actual are not exactly equal. + If comparer is not null then it will be used to compare the objects. + + The first ICollection of objects to be considered + The second ICollection of objects to be considered + The IComparer to use in comparing objects from each ICollection + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that expected and actual are not equivalent. + + The first ICollection of objects to be considered + The second ICollection of objects to be considered + + + + Asserts that expected and actual are not equivalent. + + The first ICollection of objects to be considered + The second ICollection of objects to be considered + The message that will be displayed on failure + + + + Asserts that expected and actual are not equivalent. + + The first ICollection of objects to be considered + The second ICollection of objects to be considered + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that collection contains actual as an item. + + ICollection of objects to be considered + Object to be found within collection + + + + Asserts that collection contains actual as an item. + + ICollection of objects to be considered + Object to be found within collection + The message that will be displayed on failure + + + + Asserts that collection contains actual as an item. + + ICollection of objects to be considered + Object to be found within collection + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that collection does not contain actual as an item. + + ICollection of objects to be considered + Object that cannot exist within collection + + + + Asserts that collection does not contain actual as an item. + + ICollection of objects to be considered + Object that cannot exist within collection + The message that will be displayed on failure + + + + Asserts that collection does not contain actual as an item. + + ICollection of objects to be considered + Object that cannot exist within collection + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that superset is not a subject of subset. + + The ICollection superset to be considered + The ICollection subset to be considered + + + + Asserts that superset is not a subject of subset. + + The ICollection superset to be considered + The ICollection subset to be considered + The message that will be displayed on failure + + + + Asserts that superset is not a subject of subset. + + The ICollection superset to be considered + The ICollection subset to be considered + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that superset is a subset of subset. + + The ICollection superset to be considered + The ICollection subset to be considered + + + + Asserts that superset is a subset of subset. + + The ICollection superset to be considered + The ICollection subset to be considered + The message that will be displayed on failure + + + + Asserts that superset is a subset of subset. + + The ICollection superset to be considered + The ICollection subset to be considered + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Collection indexing pattern. + + + +The implements the Collection Indexing Pattern. + + +The user provides filled collection, index type and index range through +the attribute. + + + + +This example checks the Collection Indexing Pattern for the +and collections: + + + + + + + + Base class for attributes that define test fixtures. + + + + + + Base class for all attributes that are part of the MbUnit framework. + + + Base class for all attributes of MbUnit. + + + + + Gets or sets the fixture timeout in minutes. + + + Default value is 5 minutes. + + + Time out minutes. + + + + + Default constructor + + + + + Constructor with fixture description + + + + + Creates the execution logic + + + See summary. + + A instance that represent the type + test logic. + + + +This example checks the Collection Indexing Pattern for the +and collections: + + + + + + + + Different collection order + + + + Tests ascending order collection + + + Tests ascending order collection + + + + Collection Order Pattern implementations. + + +Implements: Collection Order Pattern +Logic: + +{Provider} +[SetUp] +{Fill} +(Order) // internal +[TearDown] + + + +This fixture tests sorted collections. The user must provider a +comparer and the type of desired test based on the +enumeration: ascending, descending. + + +Tested collections are provided by methods tagged with the +attribute. The collection are then filled using methods tagged by the + attribute. The rest of the tests is handled by the framework. + + +SetUp and TearDown methods can be added to set up the fixtue object. + + + + + + Tag use to mark a mark a unit test method. + + + + + + Base class for attributes that define unit test. + + + + + + Assertion helper for compilation. + + + + This class contains static helper methods to verify that snippets are compilable. + + + + + + Verifies that compiles using the provided compiler. + + Compiler instance + Source code to compile + + + + Verifies that compiles using the provided compiler. + + Compiler instance + Source code to compile + + + + Verifies that compiles using the provided compiler. + + Compiler instance + Referenced assemblies + Source code to compile + + + + Verifies that compiles using the provided compiler. + + + instance. + Compilation options + source to compile + + + + Verifies that compiles using the provided compiler. + + + instance. + Compilation options + Source to compile + + true if assertion should throw if any warning. + + + + + Verifies that compiles using the provided compiler. + + + instance. + Compilation options + Stream containing the source to compile + + + + Verifies that compiles using the provided compiler. + + + instance. + Compilation options + Stream containing the source to compile + + true if assertion should throw if any warning. + + + + + Verifies that does not compile using the provided compiler. + + + instance. + Source to compile + + + + Verifies that does not compile using the provided compiler. + + + instance. + Source to compile + + + + Verifies that does not compile using the provided compiler. + + + instance. + Collection of referenced assemblies + Source to compile + + + + Verifies that does not compile using the provided compiler. + + + instance. + Compilation options + Source to compile + + + + Verifies that does not compile using the provided compiler. + + + instance. + Compilation options + Source to compile + + + + Gets the C# compiler from . + + + C# compiler. + + + + + Gets the VB.NET compiler from . + + + VB.NET compiler. + + + + + + + + + This interface defines a type of test/non test run that is used + to define the logic. + + + + + Populates the invoker graph + with generated by the run. + + Invoker tree + parent vertex + class type that is marked by the run + + + + + + Gets a descriptive name of the + + + A descriptive name of the + + + + + Gets a value indicating the run is considered as a test or not. + + + true if the instance is a test + + + + + Populates the invoker graph + with generated by the run. + + Invoker tree + parent vertex + class type that is marked by the run + + TODO + + + + + Gets a descriptive name of the + + + A descriptive name of the + + + + + Gets a value indicating the run is considered as a test or not. + + + true if the instance is a test + + + + + Composite fixture pattern implementation. + + + + + + Creates a fixture for the type. + + + Initializes the attribute with . + + type to apply the fixture to + + + is a null reference + + + + Creates a fixture for the type + and a description + + + Initializes the attribute with . + + type to apply the fixture to + description of the fixture + fixtureType is a null reference + + + + Creates the execution logic + + + See summary. + + A instance that represent the type + test logic. + + + + + Gets or sets the fixture type. + + + Fixture instance type. + + + + + This interface defines a method invoker object. + + + +When processing the test fixture, the tests are splitted down to a +tree instance where each denotes +the invokation of a fixture method, or a special processing of the fixture methods. + + +The derived fixture define their logic by returning +an instance. This instance is the generator +for instances. + + + + + + Executes the wrapped method + + + Test fixture instance + + + Method arguments + + + Return value of the invoked method. If the method returns void, null + is returned. + + + + + Gets a value indicating if the instance is related to + + + + A instance + + + true if the instance is related to the member info; + otherwize false + + + + Gets a descriptive name of the + + + A descriptive name of the . + + + + + Gets a reference to the instance that generated + the invoker. + + + Reference to the instance that generated + the invoker. + + + + + Tags method that should throw an exception if a predicate is true. + + + + + Tags method that should throw an exception. + + + + + + This is the base class for attributes that can decorate tests. + + + + + + Assertion helper for the class. + + + + This class contains static helper methods to verify assertions on the + class. + + + This class was automatically generated. Do not edit (or edit the template). + + + + + + Verifies that the property value + of and are equal. + + + Instance containing the expected value. + + + Instance containing the tested value. + + + + + Verifies that the property value + of is equal to . + + + Expected value. + + + Instance containing the tested value. + + + + + Verifies that the property value + of and are equal. + + + Instance containing the expected value. + + + Instance containing the tested value. + + + + + Verifies that the property value + of is equal to . + + + Expected value. + + + Instance containing the tested value. + + + + + Verifies that the property value + of and are equal. + + + Instance containing the expected value. + + + Instance containing the tested value. + + + + + Verifies that the property value + of is equal to . + + + Expected value. + + + Instance containing the tested value. + + + + + Verifies that the property value + of and are equal. + + + Instance containing the expected value. + + + Instance containing the tested value. + + + + + Verifies that the property value + of is equal to . + + + Expected value. + + + Instance containing the tested value. + + + + + Verifies that the property value + is true. + + + Instance containing the expected value. + + + + + Verifies that the property value + is false. + + + Instance containing the expected value. + + + + + Verifies that the property value + of and are equal. + + + Instance containing the expected value. + + + Instance containing the tested value. + + + + + Verifies that the property value + of is equal to . + + + Expected value. + + + Instance containing the tested value. + + + + + Verifies that the property value + of and are equal. + + + Instance containing the expected value. + + + Instance containing the tested value. + + + + + Verifies that the property value + of is equal to . + + + Expected value. + + + Instance containing the tested value. + + + + + Verifies that the property value + of and are equal. + + + Instance containing the expected value. + + + Instance containing the tested value. + + + + + Verifies that the property value + of is equal to . + + + Expected value. + + + Instance containing the tested value. + + + + + Verifies that the property value + of and are equal. + + + Instance containing the expected value. + + + Instance containing the tested value. + + + + + Verifies that the property value + of is equal to . + + + Expected value. + + + Instance containing the tested value. + + + + + Verifies that the property value + of and are equal. + + + Instance containing the expected value. + + + Instance containing the tested value. + + + + + Verifies that the property value + of is equal to . + + + Expected value. + + + Instance containing the tested value. + + + + + Verifies that the property value + of and are equal. + + + Instance containing the expected value. + + + Instance containing the tested value. + + + + + Verifies that the property value + of is equal to . + + + Expected value. + + + Instance containing the tested value. + + + + + Verifies that the property value + of and are equal. + + + Instance containing the expected value. + + + Instance containing the tested value. + + + + + Verifies that the property value + of is equal to . + + + Expected value. + + + Instance containing the tested value. + + + + + Verifies that the property value + of and are equal. + + + Instance containing the expected value. + + + Instance containing the tested value. + + + + + Verifies that the property value + of is equal to . + + + Expected value. + + + Instance containing the tested value. + + + + + Verifies that the property value + is true. + + + Instance containing the expected value. + + + + + Verifies that the property value + is false. + + + Instance containing the expected value. + + + + + Verifies that the property value + of and are equal. + + + Instance containing the expected value. + + + Instance containing the tested value. + + + + + Verifies that the property value + of is equal to . + + + Expected value. + + + Instance containing the tested value. + + + + + Verifies that the property value + is true. + + + Instance containing the expected value. + + + + + Verifies that the property value + is false. + + + Instance containing the expected value. + + + + + Verifies that the property value + of and are equal. + + + Instance containing the expected value. + + + Instance containing the tested value. + + + + + Verifies that the property value + of is equal to . + + + Expected value. + + + Instance containing the tested value. + + + + + Verifies that the property value + is true. + + + Instance containing the expected value. + + + + + Verifies that the property value + is false. + + + Instance containing the expected value. + + + + + Verifies that the property value + of and are equal. + + + Instance containing the expected value. + + + Instance containing the tested value. + + + + + Verifies that the property value + of is equal to . + + + Expected value. + + + Instance containing the tested value. + + + + + Verifies that the property value + is true. + + + Instance containing the expected value. + + + + + Verifies that the property value + is false. + + + Instance containing the expected value. + + + + + Verifies that the property value + of and are equal. + + + Instance containing the expected value. + + + Instance containing the tested value. + + + + + Verifies that the property value + of is equal to . + + + Expected value. + + + Instance containing the tested value. + + + + + Verifies that the property value + of and are equal. + + + Instance containing the expected value. + + + Instance containing the tested value. + + + + + Verifies that the property value + of is equal to . + + + Expected value. + + + Instance containing the tested value. + + + + + Verifies that the property value + of and are equal. + + + Instance containing the expected value. + + + Instance containing the tested value. + + + + + Verifies that the property value + of is equal to . + + + Expected value. + + + Instance containing the tested value. + + + + + Verifies that the property value + of and are equal. + + + Instance containing the expected value. + + + Instance containing the tested value. + + + + + Verifies that the property value + of is equal to . + + + Expected value. + + + Instance containing the tested value. + + + + + Verifies that the property value + is true. + + + Instance containing the expected value. + + + + + Verifies that the property value + is false. + + + Instance containing the expected value. + + + + + Verifies that the property value + of and are equal. + + + Instance containing the expected value. + + + Instance containing the tested value. + + + + + Verifies that the property value + of is equal to . + + + Expected value. + + + Instance containing the tested value. + + + + + Verifies that the property value + of and are equal. + + + Instance containing the expected value. + + + Instance containing the tested value. + + + + + Verifies that the property value + of is equal to . + + + Expected value. + + + Instance containing the tested value. + + + + + Verifies that the property value + of and are equal. + + + Instance containing the expected value. + + + Instance containing the tested value. + + + + + Verifies that the property value + of is equal to . + + + Expected value. + + + Instance containing the tested value. + + + + + Verifies that the property value + is true. + + + Instance containing the expected value. + + + + + Verifies that the property value + is false. + + + Instance containing the expected value. + + + + + Verifies that the property value + of and are equal. + + + Instance containing the expected value. + + + Instance containing the tested value. + + + + + Verifies that the property value + of is equal to . + + + Expected value. + + + Instance containing the tested value. + + + + + Verifies that the property value + of and are equal. + + + Instance containing the expected value. + + + Instance containing the tested value. + + + + + Verifies that the property value + of is equal to . + + + Expected value. + + + Instance containing the tested value. + + + + + Verifies that the property value + of and are equal. + + + Instance containing the expected value. + + + Instance containing the tested value. + + + + + Verifies that the property value + of is equal to . + + + Expected value. + + + Instance containing the tested value. + + + + + Verifies that the property value + is true. + + + Instance containing the expected value. + + + + + Verifies that the property value + is false. + + + Instance containing the expected value. + + + + + Verifies that the property value + of and are equal. + + + Instance containing the expected value. + + + Instance containing the tested value. + + + + + Verifies that the property value + of is equal to . + + + Expected value. + + + Instance containing the tested value. + + + + + Verifies that the property value + is true. + + + Instance containing the expected value. + + + + + Verifies that the property value + is false. + + + Instance containing the expected value. + + + + + Verifies that the property value + of and are equal. + + + Instance containing the expected value. + + + Instance containing the tested value. + + + + + Verifies that the property value + of is equal to . + + + Expected value. + + + Instance containing the tested value. + + + + + Verifies that the property value + of and are equal. + + + Instance containing the expected value. + + + Instance containing the tested value. + + + + + Verifies that the property value + of is equal to . + + + Expected value. + + + Instance containing the tested value. + + + + + Verifies that the property value + is true. + + + Instance containing the expected value. + + + + + Verifies that the property value + is false. + + + Instance containing the expected value. + + + + + Verifies that the property value + of and are equal. + + + Instance containing the expected value. + + + Instance containing the tested value. + + + + + Verifies that the property value + of is equal to . + + + Expected value. + + + Instance containing the tested value. + + + + + Verifies that the property value + is true. + + + Instance containing the expected value. + + + + + Verifies that the property value + is false. + + + Instance containing the expected value. + + + + + Verifies that the property value + of and are equal. + + + Instance containing the expected value. + + + Instance containing the tested value. + + + + + Verifies that the property value + of is equal to . + + + Expected value. + + + Instance containing the tested value. + + + + + Verifies that the property value + of and are equal. + + + Instance containing the expected value. + + + Instance containing the tested value. + + + + + Verifies that the property value + of is equal to . + + + Expected value. + + + Instance containing the tested value. + + + + + Verifies that the property value + of and are equal. + + + Instance containing the expected value. + + + Instance containing the tested value. + + + + + Verifies that the property value + of is equal to . + + + Expected value. + + + Instance containing the tested value. + + + + + Verifies that the property value + of and are equal. + + + Instance containing the expected value. + + + Instance containing the tested value. + + + + + Verifies that the property value + of is equal to . + + + Expected value. + + + Instance containing the tested value. + + + + + Verifies that the property value + is true. + + + Instance containing the expected value. + + + + + Verifies that the property value + is false. + + + Instance containing the expected value. + + + + + Verifies that the property value + of and are equal. + + + Instance containing the expected value. + + + Instance containing the tested value. + + + + + Verifies that the property value + of is equal to . + + + Expected value. + + + Instance containing the tested value. + + + + + Verifies that the property value + of and are equal. + + + Instance containing the expected value. + + + Instance containing the tested value. + + + + + Verifies that the property value + of is equal to . + + + Expected value. + + + Instance containing the tested value. + + + + + Verifies that the property value + is true. + + + Instance containing the expected value. + + + + + Verifies that the property value + is false. + + + Instance containing the expected value. + + + + + Verifies that the property value + of and are equal. + + + Instance containing the expected value. + + + Instance containing the tested value. + + + + + Verifies that the property value + of is equal to . + + + Expected value. + + + Instance containing the tested value. + + + + + Verifies that the property value + of and are equal. + + + Instance containing the expected value. + + + Instance containing the tested value. + + + + + Verifies that the property value + of is equal to . + + + Expected value. + + + Instance containing the tested value. + + + + + Verifies that the property value + is true. + + + Instance containing the expected value. + + + + + Verifies that the property value + is false. + + + Instance containing the expected value. + + + + + Verifies that the property value + of and are equal. + + + Instance containing the expected value. + + + Instance containing the tested value. + + + + + Verifies that the property value + of is equal to . + + + Expected value. + + + Instance containing the tested value. + + + + + Verifies that the property value + is true. + + + Instance containing the expected value. + + + + + Verifies that the property value + is false. + + + Instance containing the expected value. + + + + + Verifies that the property value + of and are equal. + + + Instance containing the expected value. + + + Instance containing the tested value. + + + + + Verifies that the property value + of is equal to . + + + Expected value. + + + Instance containing the tested value. + + + + + Verifies that the property value + of and are equal. + + + Instance containing the expected value. + + + Instance containing the tested value. + + + + + Verifies that the property value + of is equal to . + + + Expected value. + + + Instance containing the tested value. + + + + + Verifies that the property value + of and are equal. + + + Instance containing the expected value. + + + Instance containing the tested value. + + + + + Verifies that the property value + of is equal to . + + + Expected value. + + + Instance containing the tested value. + + + + + Verifies that the property value + of and are equal. + + + Instance containing the expected value. + + + Instance containing the tested value. + + + + + Verifies that the property value + of is equal to . + + + Expected value. + + + Instance containing the tested value. + + + + + Verifies that the property value + of and are equal. + + + Instance containing the expected value. + + + Instance containing the tested value. + + + + + Verifies that the property value + of and are equal. + + + Instance containing the expected value. + + + Instance containing the tested value. + + + + + Verifies that the property value + of is equal to . + + + Expected value. + + + Instance containing the tested value. + + + + + Verifies that the property value + of and are equal. + + + Instance containing the expected value. + + + Instance containing the tested value. + + + + + Verifies that the property value + of is equal to . + + + Expected value. + + + Instance containing the tested value. + + + + + Verifies that the property value + is true. + + + Instance containing the expected value. + + + + + Verifies that the property value + is false. + + + Instance containing the expected value. + + + + + Verifies that the property value + of and are equal. + + + Instance containing the expected value. + + + Instance containing the tested value. + + + + + Verifies that the property value + of is equal to . + + + Expected value. + + + Instance containing the tested value. + + + + + Verifies that the property value + of and are equal. + + + Instance containing the expected value. + + + Instance containing the tested value. + + + + + Verifies that the property value + of is equal to . + + + Expected value. + + + Instance containing the tested value. + + + + + Verifies that the property value + of and are equal. + + + Instance containing the expected value. + + + Instance containing the tested value. + + + + + Verifies that the property value + of is equal to . + + + Expected value. + + + Instance containing the tested value. + + + + + Verifies that the property value + of and are equal. + + + Instance containing the expected value. + + + Instance containing the tested value. + + + + + Verifies that the property value + of is equal to . + + + Expected value. + + + Instance containing the tested value. + + + + + Verifies that the property value + of and are equal. + + + Instance containing the expected value. + + + Instance containing the tested value. + + + + + Verifies that the property value + of is equal to . + + + Expected value. + + + Instance containing the tested value. + + + + + Verifies that the property value + of and are equal. + + + Instance containing the expected value. + + + Instance containing the tested value. + + + + + Verifies that the property value + of is equal to . + + + Expected value. + + + Instance containing the tested value. + + + + + Verifies that the property value + of and are equal. + + + Instance containing the expected value. + + + Instance containing the tested value. + + + + + Verifies that the property value + of is equal to . + + + Expected value. + + + Instance containing the tested value. + + + + + Verifies that the property value + is true. + + + Instance containing the expected value. + + + + + Verifies that the property value + is false. + + + Instance containing the expected value. + + + + + Verifies that the property value + of and are equal. + + + Instance containing the expected value. + + + Instance containing the tested value. + + + + + Verifies that the property value + of is equal to . + + + Expected value. + + + Instance containing the tested value. + + + + + Verifies that the property value + of and are equal. + + + Instance containing the expected value. + + + Instance containing the tested value. + + + + + Verifies that the property value + of is equal to . + + + Expected value. + + + Instance containing the tested value. + + + + + Verifies that the property value + of and are equal. + + + Instance containing the expected value. + + + Instance containing the tested value. + + + + + Verifies that the property value + of is equal to . + + + Expected value. + + + Instance containing the tested value. + + + + + Verifies that the property value + of and are equal. + + + Instance containing the expected value. + + + Instance containing the tested value. + + + + + Verifies that the property value + of is equal to . + + + Expected value. + + + Instance containing the tested value. + + + + + Verifies that the property value + of and are equal. + + + Instance containing the expected value. + + + Instance containing the tested value. + + + + + Verifies that the property value + is true. + + + Instance containing the expected value. + + + + + Verifies that the property value + is false. + + + Instance containing the expected value. + + + + + Verifies that the property value + of and are equal. + + + Instance containing the expected value. + + + Instance containing the tested value. + + + + + Verifies that the property value + of is equal to . + + + Expected value. + + + Instance containing the tested value. + + + + + Verifies that the property value + of and are equal. + + + Instance containing the expected value. + + + Instance containing the tested value. + + + + + Verifies that the property value + of is equal to . + + + Expected value. + + + Instance containing the tested value. + + + + + Verifies that the property value + of and are equal. + + + Instance containing the expected value. + + + Instance containing the tested value. + + + + + Verifies that the property value + of is equal to . + + + Expected value. + + + Instance containing the tested value. + + + + + Verifies that the property value + of and are equal. + + + Instance containing the expected value. + + + Instance containing the tested value. + + + + + Verifies that the property value + of is equal to . + + + Expected value. + + + Instance containing the tested value. + + + + + Tags method that provider a new object and copy the content of the arguments + into the object + + + + + + Tags method that provide new object to be used in the following tests. + + + + + + Constructs a provider attribute for the + type. + + provider type + + + + Constructs a provider attribute for the + type. + + provider type + description of the provider + + + + Gets or sets the provided type + + + Provided type. + + + + + Event argument that contains an assembly. + + + + + Creates a new event argument. + + + + Assembly event delegate + + + + A collection of elements of type Assembly + + + + + Initializes a new empty instance of the AssemblyCollection class. + + + + + Adds an instance of type Assembly to the end of this AssemblyCollection. + + + The Assembly to be added to the end of this AssemblyCollection. + + + + + Determines whether a specfic Assembly value is in this AssemblyCollection. + + + The Assembly value to locate in this AssemblyCollection. + + + true if value is found in this AssemblyCollection; + false otherwise. + + + + + Removes the first occurrence of a specific Assembly from this AssemblyCollection. + + + The Assembly value to remove from this AssemblyCollection. + + + + + Returns an enumerator that can iterate through the elements of this AssemblyCollection. + + + An object that implements System.Collections.IEnumerator. + + + + + Gets or sets the Assembly at the given index in this AssemblyCollection. + + + + + Type-specific enumeration class, used by AssemblyCollection.GetEnumerator. + + + + + A dictionary with keys of type Assembly and values of type TypeCollection + + + + + Initializes a new empty instance of the AssemblyTypeCollectionDictionary class + + + + + Adds an element with the specified key and value to this AssemblyTypeCollectionDictionary. + + + The Assembly key of the element to add. + + + + + Determines whether this AssemblyTypeCollectionDictionary contains a specific key. + + + The Assembly key to locate in this AssemblyTypeCollectionDictionary. + + + true if this AssemblyTypeCollectionDictionary contains an element with the specified key; + otherwise, false. + + + + + Removes the element with the specified key from this AssemblyTypeCollectionDictionary. + + + The Assembly key of the element to remove. + + + + + Gets or sets the TypeCollection associated with the given Assembly + + + The Assembly whose value to get or set. + + + + + Gets a collection containing the keys in this AssemblyTypeCollectionDictionary. + + + + + Gets a collection containing the values in this AssemblyTypeCollectionDictionary. + + + + + Summary description for AttributedMethodCollection. + + + + + Summary description for AttributedMethodEnumerator. + + + + + Summary description for AttributedMethodCollection. + + + + + Summary description for AttributedPropertyEnumerator. + + + + + Initializes a new empty instance of the FixtureCollection class. + + + + + Adds an instance of type Fixture to the end of this FixtureCollection. + + + The Fixture to be added to the end of this FixtureCollection. + + + + + Determines whether a specfic Fixture value is in this FixtureCollection. + + + The Fixture value to locate in this FixtureCollection. + + + true if value is found in this FixtureCollection; + false otherwise. + + + + + Removes the first occurrence of a specific Fixture from this FixtureCollection. + + + The Fixture value to remove from this FixtureCollection. + + + + + Returns an enumerator that can iterate through the elements of this FixtureCollection. + + + An object that implements System.Collections.IEnumerator. + + + + + Type-specific enumeration class, used by FixtureCollection.GetEnumerator. + + + + + A collection of elements of type IFixtureFactory + + + + + Initializes a new empty instance of the FixtureFactoryCollection class. + + + + + Adds an instance of type IFixtureFactory to the end of this FixtureFactoryCollection. + + + The IFixtureFactory to be added to the end of this FixtureFactoryCollection. + + + + + Determines whether a specfic IFixtureFactory value is in this FixtureFactoryCollection. + + + The IFixtureFactory value to locate in this FixtureFactoryCollection. + + + true if value is found in this FixtureFactoryCollection; + false otherwise. + + + + + Removes the first occurrence of a specific IFixtureFactory from this FixtureFactoryCollection. + + + The IFixtureFactory value to remove from this FixtureFactoryCollection. + + + + + Returns an enumerator that can iterate through the elements of this FixtureFactoryCollection. + + + An object that implements System.Collections.IEnumerator. + + + + + Type-specific enumeration class, used by FixtureFactoryCollection.GetEnumerator. + + + + + A collection of elements of type IRun + + + + + Initializes a new empty instance of the RunCollection class. + + + + + Adds an instance of type IRun to the end of this RunCollection. + + + The IRun to be added to the end of this RunCollection. + + + + + Determines whether a specfic IRun value is in this RunCollection. + + + The IRun value to locate in this RunCollection. + + + true if value is found in this RunCollection; + false otherwise. + + + + + Removes the first occurrence of a specific IRun from this RunCollection. + + + The IRun value to remove from this RunCollection. + + + + + Returns an enumerator that can iterate through the elements of this RunCollection. + + + An object that implements System.Collections.IEnumerator. + + + + + Gets or sets the IRun at the given index in this RunCollection. + + + + + Type-specific enumeration class, used by RunCollection.GetEnumerator. + + + + + A collection of elements of type IRunInvoker + + + + + Initializes a new empty instance of the IRunInvokerCollection class. + + + + + Adds an instance of type IRunInvoker to the end of this IRunInvokerCollection. + + + The IRunInvoker to be added to the end of this IRunInvokerCollection. + + + + + Determines whether a specfic IRunInvoker value is in this IRunInvokerCollection. + + + The IRunInvoker value to locate in this IRunInvokerCollection. + + + true if value is found in this IRunInvokerCollection; + false otherwise. + + + + + Removes the first occurrence of a specific IRunInvoker from this IRunInvokerCollection. + + + The IRunInvoker value to remove from this IRunInvokerCollection. + + + + + Returns an enumerator that can iterate through the elements of this IRunInvokerCollection. + + + An object that implements System.Collections.IEnumerator. + + + + + Gets or sets the IRunInvoker at the given index in this IRunInvokerCollection. + + + + + Type-specific enumeration class, used by IRunInvokerCollection.GetEnumerator. + + + + + A collection of elements of type RunInvokerVertex + + + + + Initializes a new empty instance of the RunInvokerVertexCollection class. + + + + + Adds an instance of type RunInvokerVertex to the end of this RunInvokerVertexCollection. + + + The RunInvokerVertex to be added to the end of this RunInvokerVertexCollection. + + + + + Determines whether a specfic RunInvokerVertex value is in this RunInvokerVertexCollection. + + + The RunInvokerVertex value to locate in this RunInvokerVertexCollection. + + + true if value is found in this RunInvokerVertexCollection; + false otherwise. + + + + + Removes the first occurrence of a specific RunInvokerVertex from this RunInvokerVertexCollection. + + + The RunInvokerVertex value to remove from this RunInvokerVertexCollection. + + + + + Returns an enumerator that can iterate through the elements of this RunInvokerVertexCollection. + + + An object that implements System.Collections.IEnumerator. + + + + + Gets or sets the RunInvokerVertex at the given index in this RunInvokerVertexCollection. + + + + + Type-specific enumeration class, used by RunInvokerVertexCollection.GetEnumerator. + + + + + A collection of elements of type RunInvokerVertexCollection + + + + + Initializes a new empty instance of the RunInvokerVertexCollectionCollection class. + + + + + Adds an instance of type RunInvokerVertexCollection to the end of this RunInvokerVertexCollectionCollection. + + + The RunInvokerVertexCollection to be added to the end of this RunInvokerVertexCollectionCollection. + + + + + Determines whether a specfic RunInvokerVertexCollection value is in this RunInvokerVertexCollectionCollection. + + + The RunInvokerVertexCollection value to locate in this RunInvokerVertexCollectionCollection. + + + true if value is found in this RunInvokerVertexCollectionCollection; + false otherwise. + + + + + Removes the first occurrence of a specific RunInvokerVertexCollection from this RunInvokerVertexCollectionCollection. + + + The RunInvokerVertexCollection value to remove from this RunInvokerVertexCollectionCollection. + + + + + Returns an enumerator that can iterate through the elements of this RunInvokerVertexCollectionCollection. + + + An object that implements System.Collections.IEnumerator. + + + + + Gets or sets the RunInvokerVertexCollection at the given index in this RunInvokerVertexCollectionCollection. + + + + + Type-specific enumeration class, used by RunInvokerVertexCollectionCollection.GetEnumerator. + + + + + A collection of elements of type RunPipe + + + + + Initializes a new empty instance of the RunPipeCollection class. + + + + + Adds an instance of type RunPipe to the end of this RunPipeCollection. + + + The RunPipe to be added to the end of this RunPipeCollection. + + + + + Determines whether a specfic RunPipe value is in this RunPipeCollection. + + + The RunPipe value to locate in this RunPipeCollection. + + + true if value is found in this RunPipeCollection; + false otherwise. + + + + + Removes the first occurrence of a specific RunPipe from this RunPipeCollection. + + + The RunPipe value to remove from this RunPipeCollection. + + + + + Returns an enumerator that can iterate through the elements of this RunPipeCollection. + + + An object that implements System.Collections.IEnumerator. + + + + + Gets or sets the RunPipe at the given index in this RunPipeCollection. + + + + + Type-specific enumeration class, used by RunPipeCollection.GetEnumerator. + + + + + A collection of elements of type IRunPipeListener + + + + + Initializes a new empty instance of the RunPipeListenerCollection class. + + + + + Adds an instance of type IRunPipeListener to the end of this RunPipeListenerCollection. + + + The IRunPipeListener to be added to the end of this RunPipeListenerCollection. + + + + + Determines whether a specfic IRunPipeListener value is in this RunPipeListenerCollection. + + + The IRunPipeListener value to locate in this RunPipeListenerCollection. + + + true if value is found in this RunPipeListenerCollection; + false otherwise. + + + + + Removes the first occurrence of a specific IRunPipeListener from this RunPipeListenerCollection. + + + The IRunPipeListener value to remove from this RunPipeListenerCollection. + + + + + Returns an enumerator that can iterate through the elements of this RunPipeListenerCollection. + + + An object that implements System.Collections.IEnumerator. + + + + + Type-specific enumeration class, used by RunPipeListenerCollection.GetEnumerator. + + + + + A collection of elements of type RunPipeStarter + + + + + Initializes a new empty instance of the RunPipeStarterCollection class. + + + + + Adds an instance of type RunPipeStarter to the end of this RunPipeStarterCollection. + + + The RunPipeStarter to be added to the end of this RunPipeStarterCollection. + + + + + Determines whether a specfic RunPipeStarter value is in this RunPipeStarterCollection. + + + The RunPipeStarter value to locate in this RunPipeStarterCollection. + + + true if value is found in this RunPipeStarterCollection; + false otherwise. + + + + + Removes the first occurrence of a specific RunPipeStarter from this RunPipeStarterCollection. + + + The RunPipeStarter value to remove from this RunPipeStarterCollection. + + + + + Returns an enumerator that can iterate through the elements of this RunPipeStarterCollection. + + + An object that implements System.Collections.IEnumerator. + + + + + Type-specific enumeration class, used by RunPipeStarterCollection.GetEnumerator. + + + + + A dictionary with keys of type IRun and values of type RunVertex + + + + + Initializes a new empty instance of the RunVertexDictionary class + + + + + Adds an element with the specified key and value to this RunVertexDictionary. + + + The IRun key of the element to add. + + + The RunVertex value of the element to add. + + + + + Determines whether this RunVertexDictionary contains a specific key. + + + The IRun key to locate in this RunVertexDictionary. + + + true if this RunVertexDictionary contains an element with the specified key; + otherwise, false. + + + + + Determines whether this RunVertexDictionary contains a specific value. + + + The RunVertex value to locate in this RunVertexDictionary. + + + true if this RunVertexDictionary contains an element with the specified value; + otherwise, false. + + + + + Removes the element with the specified key from this RunVertexDictionary. + + + The IRun key of the element to remove. + + + + + Gets or sets the RunVertex associated with the given IRun + + + The IRun whose value to get or set. + + + + + Gets a collection containing the keys in this RunVertexDictionary. + + + + + Gets a collection containing the values in this RunVertexDictionary. + + + + + A collection of elements of type Thread + + + + + Initializes a new empty instance of the ThreadCollection class. + + + + + Adds an instance of type Thread to the end of this ThreadCollection. + + + The Thread to be added to the end of this ThreadCollection. + + + + + Determines whether a specfic Thread value is in this ThreadCollection. + + + The Thread value to locate in this ThreadCollection. + + + true if value is found in this ThreadCollection; + false otherwise. + + + + + Removes the first occurrence of a specific Thread from this ThreadCollection. + + + The Thread value to remove from this ThreadCollection. + + + + + Returns an enumerator that can iterate through the elements of this ThreadCollection. + + + An object that implements System.Collections.IEnumerator. + + + + + Gets or sets the Thread at the given index in this ThreadCollection. + + + + + Type-specific enumeration class, used by ThreadCollection.GetEnumerator. + + + + + Summary description for ThreadCollectionRunner. + + + + + A collection of elements of type Type + + + + + Initializes a new empty instance of the TypeCollection class. + + + + + Adds an instance of type Type to the end of this TypeCollection. + + + The Type to be added to the end of this TypeCollection. + + + + + Determines whether a specfic Type value is in this TypeCollection. + + + The Type value to locate in this TypeCollection. + + + true if value is found in this TypeCollection; + false otherwise. + + + + + Removes the first occurrence of a specific Type from this TypeCollection. + + + The Type value to remove from this TypeCollection. + + + + + Returns an enumerator that can iterate through the elements of this TypeCollection. + + + An object that implements System.Collections.IEnumerator. + + + + + Gets or sets the Type at the given index in this TypeCollection. + + + + + Type-specific enumeration class, used by TypeCollection.GetEnumerator. + + + + + Allows control of command line parsing. + Attach this attribute to instance fields of types used + as the destination of command line argument parsing. + + + + Command line parsing code from Peter Halam, + http://www.gotdotnet.com/community/usersamples/details.aspx?sampleguid=62a0f27e-274e-4228-ba7f-bc0118ecc41e + + + + + + Allows control of command line parsing. + + Specifies the error checking to be done on the argument. + + + + The error checking to be done on the argument. + + + + + Returns true if the argument did not have an explicit short name specified. + + + + + The short name of the argument. + + + + + Returns true if the argument did not have an explicit long name specified. + + + + + The long name of the argument. + + + + + Parser for command line arguments. + + + + The parser specification is infered from the instance fields of the object + specified as the destination of the parse. + Valid argument types are: int, uint, string, bool, enums + Also argument types of Array of the above types are also valid. + + + Error checking options can be controlled by adding a CommandLineArgumentAttribute + to the instance fields of the destination object. + + + At most one field may be marked with the DefaultCommandLineArgumentAttribute + indicating that arguments without a '-' or '/' prefix will be parsed as that argument. + + + If not specified then the parser will infer default options for parsing each + instance field. The default long name of the argument is the field name. The + default short name is the first character of the long name. Long names and explicitly + specified short names must be unique. Default short names will be used provided that + the default short name does not conflict with a long name or an explicitly + specified short name. + + + Arguments which are array types are collection arguments. Collection + arguments can be specified multiple times. + + + Command line parsing code from Peter Halam, + http://www.gotdotnet.com/community/usersamples/details.aspx?sampleguid=62a0f27e-274e-4228-ba7f-bc0118ecc41e + + + + + + Creates a new command line argument parser. + + The type of object to parse. + The destination for parse errors. + + + + Parses an argument list into an object + + + + true if an error occurred + + + + Parses an argument list. + + The arguments to parse. + The destination of the parsed arguments. + true if no parse errors were encountered. + + + + A user firendly usage string describing the command line argument syntax. + + + + + Used to control parsing of command line arguments. + + + + Command line parsing code from Peter Halam, + http://www.gotdotnet.com/community/usersamples/details.aspx?sampleguid=62a0f27e-274e-4228-ba7f-bc0118ecc41e + + + + + + Indicates that this field is required. An error will be displayed + if it is not present when parsing arguments. + + + + + Only valid in conjunction with Multiple. + Duplicate values will result in an error. + + + + + Inidicates that the argument may be specified more than once. + Only valid if the argument is a collection + + + + + The default type for non-collection arguments. + The argument is not required, but an error will be reported if it is specified more than once. + + + + + For non-collection arguments, when the argument is specified more than + once no error is reported and the value of the argument is the last + value which occurs in the argument list. + + + + + The default type for collection arguments. + The argument is permitted to occur multiple times, but duplicate + values will cause an error to be reported. + + + + + Useful Stuff. + + + + Command line parsing code from Peter Halam, + http://www.gotdotnet.com/community/usersamples/details.aspx?sampleguid=62a0f27e-274e-4228-ba7f-bc0118ecc41e + + + + + + The System Defined new line string. + + + + + Don't ever call this. + + + + + Parses Command Line Arguments. + Errors are output on Console.Error. + Use CommandLineArgumentAttributes to control parsing behaviour. + + The actual arguments. + The resulting parsed arguments. + + + + Parses Command Line Arguments. + Use CommandLineArgumentAttributes to control parsing behaviour. + + The actual arguments. + The resulting parsed arguments. + The destination for parse errors. + + + + Returns a Usage string for command line argument parsing. + Use CommandLineArgumentAttributes to control parsing behaviour. + + The type of the arguments to display usage for. + Printable string containing a user friendly description of command line arguments. + + + + Indicates that this argument is the default argument. + '/' or '-' prefix only the argument value is specified. + + + + Command line parsing code from Peter Halam, + http://www.gotdotnet.com/community/usersamples/details.aspx?sampleguid=62a0f27e-274e-4228-ba7f-bc0118ecc41e + + + + + + Indicates that this argument is the default argument. + + Specifies the error checking to be done on the argument. + + + + A delegate used in error reporting. + + + + Command line parsing code from Peter Halam, + http://www.gotdotnet.com/community/usersamples/details.aspx?sampleguid=62a0f27e-274e-4228-ba7f-bc0118ecc41e + + + + + + This method is used to provide assembly location resolver. It is called on event as needed by the CLR. + Refer to document related to AppDomain.CurrentDomain.AssemblyResolve + + + + + Base class for MbUnit exceptions + + + + + Initializes an empty + instance. + + + + + Exception throwed when not finding a vertex. + + + + + Exception throwed when not finding a vertex. + + + + + Creates an exception with a message + and an inner exception. + + Error message + Inner exception + + + + + + + + + + + + + + + + + Returns true if the entire test fixture is ignored. + + + + + This is the base class for attributes that can decorate fixtures. + + + + + + Base class for attributes that tag method that are usualy used to + set up, provide data, tear down tests, etc... + + + + + + An invoker that wraps up the call to a fixture method. + + + + + Default constructor - initializes all fields to default values + + + + + Decorator invorkers are used to modify the way a fixute method is executed. + Popular examples of such is the + or the . + + + + + Default constructor - initializes all fields to default values + + + + + + + + TODO - Add class summary + + + created by - dehalleux + created on - 30/01/2004 13:38:05 + + + + + Default constructor - initializes all fields to default values + + + + + Summary description for PropertyGetRunInvoker. + + + + + + + + Summary description for RunInvokerTreeEventHandler. + + + + + A implementation, containing a + . + + + + + Builds a new unitialized vertex. Internal use only. + + You should not call this method directly. + + + + Not implemented. + + + always thrown + + + + Serializes informations to the instance. + + serialization device + info is a null reference + + + + Converts the object to string + + + This class outputs the vertex ID and Invoker.ToString(). + + + String representation of the vertex + + + + + Gets a value indicating if the vertex has a + instance attached to it. + + + true if the vertex has a instance attached. + + + + + Gets the attached to the vertex. + + + The instance attached to the vertex + + + the is a null reference + + + + + Internal use + + + + + Functor class that lanches an invoker execution. + + + You can use this method to launch execution + in separate threads. + + + + + Constructs a execute functor + + invoker to execute + .Execute arguments + .Execute arguments + + + Launches the invoker execution + + + + + TODO - Add class summary + + + created by - dehalleux + created on - 30/01/2004 11:35:56 + + + + + Summary description for MemoryTracker. + + + + + Describes the status of the memory. + + + + The code to retreive the total physical and available physical memory + was takened from the AUT project (http://aut.tigris.org). + + + + + + A high performance timer + + + High Precision Timer based on Win32 methods. + + + This example times the execution of a method: + + TimeMonitor timer = new TimeMonitor(); + timer.Start(); + ... // execute code + timer.Stop(); + + Console.WriteLine("Duration: {0}",timer.Duration); + + + + + Default constructor + Initializes the timer. + + + Starts the timer + Resets the duration and starts the timer + + + Stops the timer + Stops the timer + + + Gets the current duration value without stopping the timer + Current duration value + + + Gets the timed duration value in seconds + Timer duration + + + + + The MbUnit.Core namespace and child namespaces + contains the kernel of MbUnit. + + + The MbUnit.Core.Collections namespace contains + stronly typed collections. + + + The Exceptions namespace contains custom exception + classes relative to the MbUnit framework. + + + The MbUnit.Framework namespace contains base class for custom attributes + , for test fixtures. The custom attributes can be used to build new + test fixture. + + + The MbUnit.Core.Invokers namespace contains invokers classes that + are functor-like wrapper for fixture methods. + + + The MbUnit.Core.Monitoring namespace contains time and memory + performance tracers. + + + The MbUnit.Core.Runs namespace contains run object that are generators + for invoker methods. + + + + + + Long living object. (Extracted from NUnit source) + + + + All objects which are marshalled by reference + and whose lifetime is manually controlled by + the app, should derive from this class rather + than MarshalByRefObject. + + + This includes the remote test domain objects + which are accessed by the client and those + client objects which are called back by the + remote test domain. + + + Objects in this category that already inherit + from some other class (e.g. from TextWriter) + which in turn inherits from MarshalByRef object + should override InitializeLifetimeService to + return null to obtain the same effect. + + + Original code from NUnit. + Portions Copyright © 2003 James W. Newkirk, Michael C. Two, Alexei A. Vorontsov, Charlie Poole + + + + + + Raises the event. + + + + + Raises the event. + + + + + Raises the event. + + + + + Loads domain and test assembly + + + + + Unload domain + + + + + Unload and reload test domain + + + + + Gets a identifying the + + + + + AssemblyWatcher keeps track of one or more assemblies to + see if they have changed. It incorporates a delayed notification + and uses a standard event to notify any interested parties + about the change. The path to the assembly is provided as + an argument to the event handler so that one routine can + be used to handle events from multiple watchers. + + + + Code takened from NUnit. + + /************************************************************************************ + ' + ' Copyright 2002-2003 James W. Newkirk, Michael C. Two, Alexei A. Vorontsov, Charlie Poole + ' Copyright 2000-2002 Philip A. Craig + ' + ' 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 (see the following) in the product documentation is required. + ' + ' Portions Copyright 2002-2003 James W. Newkirk, Michael C. Two, Alexei A. Vorontsov, Charlie Poole + ' or Copyright 2000-2002 Philip A. Craig + ' + ' 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. + ' + '***********************************************************************************/ + + + + + + + Summary description for AuthorTestTreePopulator. + + + + + Defines a class that can populate a tree of tests + + + + + Defines a class that can populate a tree of tests + + + + + Clears the internal representation of the tree + + + + + Populates the node using the instance + contained in . + + + + node dictionary + + or is a null + reference (Nothing in Visual Basic) + + + + + Clears the internal representation of the tree + + + + + Populates the node using the instance + contained in . + + + or is a null + reference (Nothing in Visual Basic) + + + + + Helper method to delete the cache dir. This method deals + with a bug that occurs when pdb files are marked read-only. + + + + + + Merge a 'dependentAssembly' directive into a given config document. + If any entries exist for the same assembly they will be deleted + before the new entry is merged. + + The config document to merge + The Assembly that should be used + The range of compatable versions (eg. "1.0.0.0-3.0.0.0") + + + + + + + + + specify a URL to define a codeBase otherwise null + + + + + Summary description for FixtureCategoryTestTreePopulator. + + + + + A dictionary with keys of type Guid and values of type TestTreeNode + + + + + Initializes a new empty instance of the GuidTestTreeNodeDictionary class + + + + + Adds an element with the specified key and value to this GuidTestTreeNodeDictionary. + + + The TestTreeNode value of the element to add. + + + + + Determines whether this GuidTestTreeNodeDictionary contains a specific key. + + + The Guid key to locate in this GuidTestTreeNodeDictionary. + + + true if this GuidTestTreeNodeDictionary contains an element with the specified key; + otherwise, false. + + + + + Determines whether this GuidTestTreeNodeDictionary contains a specific key. + + + The Guid key to locate in this GuidTestTreeNodeDictionary. + + + true if this GuidTestTreeNodeDictionary contains an element with the specified key; + otherwise, false. + + + + + Removes the element with the specified key from this GuidTestTreeNodeDictionary. + + + The Guid key of the element to remove. + + + + + Gets or sets the TestTreeNode associated with the given Guid + + + The Guid whose value to get or set. + + + + + Gets a collection containing the keys in this GuidTestTreeNodeDictionary. + + + + + Gets a collection containing the values in this GuidTestTreeNodeDictionary. + + + + + A dictionary with keys of type Guid and values of type TreeNode + + + + + Initializes a new empty instance of the GuidTreeNodeDictionary class + + + + + Adds an element with the specified key and value to this GuidTreeNodeDictionary. + + + The TreeNode value of the element to add. + + + + + Determines whether this GuidTreeNodeDictionary contains a specific key. + + + The Guid key to locate in this GuidTreeNodeDictionary. + + + true if this GuidTreeNodeDictionary contains an element with the specified key; + otherwise, false. + + + + + Determines whether this GuidTreeNodeDictionary contains a specific key. + + + The Guid key to locate in this GuidTreeNodeDictionary. + + + true if this GuidTreeNodeDictionary contains an element with the specified key; + otherwise, false. + + + + + Removes the element with the specified key from this GuidTreeNodeDictionary. + + + The Guid key of the element to remove. + + + + + Gets or sets the TreeNode associated with the given Guid + + + The Guid whose value to get or set. + + + + + Gets a collection containing the keys in this GuidTreeNodeDictionary. + + + + + Gets a collection containing the values in this GuidTreeNodeDictionary. + + + + + Summary description for ImportanceTestTreePopulator. + + + + + Clears the internal representation of the tree + + + + + Populates the node using the instance + contained in . + + + + + Summary description for ImageListBuilder. + + + + + Supports verbose output option of console app. + Added as part of fix to issue MBUNIT-28. + + Marc Stober + December 21, 2005 + + + + Set the location for caching and delete any old cache info + + Our domain + + + + This method is used to provide assembly location resolver. It is called on event as needed by the CLR. + Refer to document related to AppDomain.CurrentDomain.AssemblyResolve + + + + + Creates an AppDomain for the Test Assembly + + + + + + + + + + Gets or sets a value indicating the assemblies have + to be shadow copied + + + + + A dictionary with keys of type String and values of type TestTreeNode + + + + + Initializes a new empty instance of the StringTestTreeNodeDictionary class + + + + + Adds an element with the specified key and value to this StringTestTreeNodeDictionary. + + + The String key of the element to add. + + + The TestTreeNode value of the element to add. + + + + + Determines whether this StringTestTreeNodeDictionary contains a specific key. + + + The String key to locate in this StringTestTreeNodeDictionary. + + + true if this StringTestTreeNodeDictionary contains an element with the specified key; + otherwise, false. + + + + + Removes the element with the specified key from this StringTestTreeNodeDictionary. + + + The String key of the element to remove. + + + + + Gets or sets the TestTreeNode associated with the given String + + + The String whose value to get or set. + + + + + Gets a collection containing the keys in this StringTestTreeNodeDictionary. + + + + + Gets a collection containing the values in this StringTestTreeNodeDictionary. + + + + + Gets the testFilePath + + + + + Summary description for TestsOnTestTreePopulator. + + + + + A collection of elements of type TestTreeNode + + + + + Initializes a new empty instance of the TestTreeNodeCollection class. + + + + + Adds an instance of type TestTreeNode to the end of this TestTreeNodeCollection. + + + The TestTreeNode to be added to the end of this TestTreeNodeCollection. + + + + + Determines whether a specfic TestTreeNode value is in this TestTreeNodeCollection. + + + The TestTreeNode value to locate in this TestTreeNodeCollection. + + + true if value is found in this TestTreeNodeCollection; + false otherwise. + + + + + Removes the first occurrence of a specific TestTreeNode from this TestTreeNodeCollection. + + + The TestTreeNode value to remove from this TestTreeNodeCollection. + + + + + Returns an enumerator that can iterate through the elements of this TestTreeNodeCollection. + + + An object that implements System.Collections.IEnumerator. + + + + + Type-specific enumeration class, used by TestTreeNodeCollection.GetEnumerator. + + + + + A collection of elements of type TestTreePopulator + + + + + Initializes a new empty instance of the TestTreePopulatorCollection class. + + + + + Initializes a new instance of the TestTreePopulatorCollection class, containing elements + copied from an array. + + + The array whose elements are to be added to the new TestTreePopulatorCollection. + + + + + Initializes a new instance of the TestTreePopulatorCollection class, containing elements + copied from another instance of TestTreePopulatorCollection + + + The TestTreePopulatorCollection whose elements are to be added to the new TestTreePopulatorCollection. + + + + + Adds the elements of an array to the end of this TestTreePopulatorCollection. + + + The array whose elements are to be added to the end of this TestTreePopulatorCollection. + + + + + Adds the elements of another TestTreePopulatorCollection to the end of this TestTreePopulatorCollection. + + + The TestTreePopulatorCollection whose elements are to be added to the end of this TestTreePopulatorCollection. + + + + + Adds an instance of type TestTreePopulator to the end of this TestTreePopulatorCollection. + + + The TestTreePopulator to be added to the end of this TestTreePopulatorCollection. + + + + + Determines whether a specfic TestTreePopulator value is in this TestTreePopulatorCollection. + + + The TestTreePopulator value to locate in this TestTreePopulatorCollection. + + + true if value is found in this TestTreePopulatorCollection; + false otherwise. + + + + + Removes the first occurrence of a specific TestTreePopulator from this TestTreePopulatorCollection. + + + The TestTreePopulator value to remove from this TestTreePopulatorCollection. + + + + + Returns an enumerator that can iterate through the elements of this TestTreePopulatorCollection. + + + An object that implements System.Collections.IEnumerator. + + + + + Type-specific enumeration class, used by TestTreePopulatorCollection.GetEnumerator. + + + + + Gets the assembly watcher + + + + + Render the report result to the specified writer + + Result from the test + Writer to write result output to + + + + Render the report result to a file + + Result from the test + Report output file name + + + + Render the report result to a file + + Result from the test + Output directory + Default format name + Extension of the file + File name of the report + + + + Render the report result to a file + + Result from the test + Output directory + Default format name. If null, the default name will be used + File name of the report + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Reports MbUnit result in text format + + + + + Summary description for XmlReport. + + + + + Static helper functions for retreiving resources + + + + + Creates and saves the images in the directory with the specified path. + + The directory path in which to save the images + + + + This class represents the execution pipe of a test. It contains a + sequence of . + + + + + + Default constructor - initializes all fields to default values + + + + + TODO - Add class summary + + + created by - dehalleux + created on - 30/01/2004 14:09:36 + + + + + Default constructor - initializes all fields to default values + + + + + Default constructor - initializes all fields to default values + + + + + Summary description for RunPipeStarterEventArgs. + + + + + Summary description for ProviderFactoryRun. + + + + + TODO - Add class summary + + + created by - dehalleux + created on - 30/01/2004 15:26:18 + + + + + Summary description for FixtureDecoratorRun. + + + + + + + + + Populates the invoker graph + with generated by the run. + + Invoker tree + parent vertex + class type that is marked by the run + + + + + + Gets a descriptive name of the + + + A descriptive name of the + + + + + Gets a value indicating the run is considered as a test or not. + + + true if the instance is a test + + + + + TODO - Add class summary + + + created by - dehalleux + created on - 29/01/2004 14:44:27 + + + + + Summary description for ProviderFactoryRun. + + + + + A sequence of IRuns + + + + + TODO - add method description + + + Inherited method from base class Run + + TODO - add parameter description + + + + Test fixture run with support for decoration by + . + + + + + Builds the test run invoker tree. + + + + + + + + Event argument that carries a instance. + + + + + Type event delegate + + + + + Helper static class for Type related tasks + + + + + + Output the methods and their custom attributes to the console. + (Debugging method) + + type to visit + + You can use this method to display the methods of a class or struct + type. Mainly for debugging purpose. + + + + + is a null reference + + + + is anot a class type. + + + + + Gets a value indicating the class type has + a method that is tagged + by a instance. + + type to test + custom attribute type to search + + true if class type has a method tagged by a + attribute, false otherwise. + + + or + is a null reference + + + You can use this method to check that a type is tagged by an attribute. + + + + + Gets a value indicating if the is tagged + by a instance. + + method to test + custom attribute type to search + + true if is tagged by a + attribute, false otherwise. + + + or + is a null reference + + + You can use this method to check that a method is tagged by a + specified attribute. + + + + + Gets a value indicating if the method info is tagged + by a instance. + + method to test + custom attribute type to search + + true if is tagged by a + attribute, false otherwise. + + + or + is a null reference + + + You can use this method to check that a method is tagged by a + specified attribute. + + + + + Gets the first instance of + from the method custom attributes. + + Method to test + custom attribute type to search + + First instance of + from the method custom attributes. + + + or + is a null reference + + + is not tagged by an attribute of type + + + + You can use this method to retreive a specified attribute + instance of a method. + + + + + Gets the first instance of + from the method custom attributes. + + Method to test + custom attribute type to search + + First instance of + from the method custom attributes; otherwize + a null reference + + + or + is a null reference + + + You can use this method to retreive a specified attribute + instance of a method. + + + + + Gets the first method of the type + that is tagged by a + instance. + + type to test + custom attribute type to search + + First method of that + that is tagged by a + instance, null if no method is tagged by the specified attribute + type. + + + or + is a null reference + + + You can use this method to retreive a tagged method + + + + + Gets all methods of the type + that are tagged by a + instance. + + type to test + custom attribute type to search + + collection of type that + that are tagged by a + instance. + + + or + is a null reference + + + You can use this method to retreive all the methods of a type + tagged by a . + + + + + Gets a value indicating if the type contains + a Method with the signature defined by . + + + Checks if a type has a desired Method. + + type to test + arguments of the Method + true if contains a Method matching + types + t is a null reference + + + + Retreives the that matches the signature. + + type to test + Method parameter types + + The instance of matching + the signature. + + is a null reference + + No Method of type match the signature defined + by . + + + This method tries to retreive a Method matching the signature + and throws if it failed. + + + + + Retreives the that matches the signature, + given the list of arguments. + + type to test + Method arguments from which the signature + is deduced + + The instance of matching + the signature defined by the list of arguments. + + is a null reference + + One of the args item is a null reference + + + No Method of type match the signature defined + by . + + + This methods retreives the types of and + looks for a Method matching that signature. + + + + + Creates an instance of the type using + the default Method. + + type to instanciate + type instance + + + + Creates an instance of the type using + the Method that matches the signature defined by + + + type to instanciate + argument of the Method + type instance initialized using + + + + Gets a value indicating if the type + has an indexer that takes arguments. + + + Checks that an indexer with a given signature exists in the class. + + type that holds the indexer + indexer arguments + true if an indexer that matched the signature was found, + false otherwise + + + + + Retreives the indexer that matches the signature + + + Safe retreival of an indexer, given it's signature + + type that holds the indexer + indexer arguments + + + + Gets the value of the property . + + property + object instnace + property arguments (in case of an indexer + property value + + + + Gets a value indicating if the match + the + + property or method paramter info + tested signature + + + + Assertion class for Database related object. + + + + + A private constructor disallows any instances of this object. + + + + + Asserts that two are equal. + + Expected instance. + Actual instance. + + + + Asserts that two are equal. + + Expected instance. + Actual instance. + + + Insipired from this + + blog entry.. + + + + + + Assert that schemas are equal. + + + + + Assert that schemas and data are equal. + + + + + Assert that data are equal. + + + + + Data Test fixture. + + + + + Default constructor + + + + + + + Constructor with a fixture description + + fixture description + + + + + + Creates the execution logic + + + See summary. + + A instance that represent the type + test logic. + + + +This example shows a test fixture class implementing the Simple Test pattern. +It tests image based method of the Graphics class in GDI+. + + +A set up method +(tagged by is used to create a new bitmap, while +a tear down (tagged by ) is used to released the bitmap. + + +[TestFixture("Bitmap")] +public GraphicsAndBitmapTest +{ + private Bitmap bmp; + + [SetUp] + public void SetUp() + { + this.bmp = new Bitmap(300,300); + } + + [Test] + public void CreateGraphics() + { + Graphics g = Graphcis.FromImage(this.bmp); + Assert.IsNotNull(g); + Assert.AreEqual(g.Width,this.bmp.Width); + ... + } + + ... + + [TearDown] + public void TearDownCanHaveOtherNames() + { + if(this.bmp!=null) + this.bmp.Dispose(); + } +} + + + + + + Tags method that provide data for the tests. + + + + + + Tag method that should return in a given time interval. + + + + + + Tags method that fill collections with data. + + + + + + Tags test methods that are ignored. + + + + + + This attribute collects the test importance information. + + + Fixture importance is labelled from 0, critical to higher values + representing less critical tests. + + + + + Tag method that provider a collection, an inde + + + + + + Default constructor - initializes all fields to default values + + + + + Default constructor - initializes all fields to default values + and int iterator + + + + + Required designer variable. + + + + + Clean up any resources being used. + + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Tag method that gives a list of culture that the test should run on. + + + + + + Summary description for ProviderFixtureDecoratorPatternAttribute. + + + + + Performance Assertion class + + + + + Creates a countdown timer that will assert if execution time exceeds maximum duration. + + + + + Runtime statistics on CLR exception handling. + + + + + This counter displays the total number of exceptions thrown since the start of the application. These include both .NET exceptions and unmanaged exceptions that get converted into .NET exceptions e.g. null pointer reference exception in unmanaged code would get re-thrown in managed code as a .NET System.NullReferenceException; this counter includes both handled and unhandled exceptions. Exceptions that are re-thrown would get counted again. Exceptions should only occur in rare situations and not in the normal control flow of the program. + + + + + Gets the value of the . + + + Value returned by + for the current instance. + + + + + This counter displays the number of exceptions thrown per second. These include both .NET exceptions and unmanaged exceptions that get converted into .NET exceptions e.g. null pointer reference exception in unmanaged code would get re-thrown in managed code as a .NET System.NullReferenceException; this counter includes both handled and unhandled exceptions. Exceptions should only occur in rare situations and not in the normal control flow of the program; this counter was designed as an indicator of potential performance problems due to large (>100s) rate of exceptions thrown. This counter is not an average over time; it displays the difference between the values observed in the last two samples divided by the duration of the sample interval. + + + + + Gets the value of the . + + + Value returned by + for the current instance. + + + + + This counter displays the number of .NET exception filters executed per second. An exception filter evaluates whether an exception should be handled or not. This counter tracks the rate of exception filters evaluated; irrespective of whether the exception was handled or not. This counter is not an average over time; it displays the difference between the values observed in the last two samples divided by the duration of the sample interval. + + + + + Gets the value of the . + + + Value returned by + for the current instance. + + + + + This counter displays the number of finally blocks executed per second. A finally block is guaranteed to be executed regardless of how the try block was exited. Only the finally blocks that are executed for an exception are counted; finally blocks on normal code paths are not counted by this counter. This counter is not an average over time; it displays the difference between the values observed in the last two samples divided by the duration of the sample interval. + + + + + Gets the value of the . + + + Value returned by + for the current instance. + + + + + This counter displays the number of stack frames traversed from the frame that threw the .NET exception to the frame that handled the exception per second. This counter resets to 0 when an exception handler is entered; so nested exceptions would show the handler to handler stack depth. This counter is not an average over time; it displays the difference between the values observed in the last two samples divided by the duration of the sample interval. + + + + + Gets the value of the . + + + Value returned by + for the current instance. + + + + + Stats for CLR Remoting. + + + + + This counter displays the number of remote procedure calls invoked per second. A remote procedure call is a call on any object outside the caller;s AppDomain. This counter is not an average over time; it displays the difference between the values observed in the last two samples divided by the duration of the sample interval. + + + + + Gets the value of the . + + + Value returned by + for the current instance. + + + + + This counter displays the total number of remote procedure calls invoked since the start of this application. A remote procedure call is a call on any object outside the caller;s AppDomain. + + + + + Gets the value of the . + + + Value returned by + for the current instance. + + + + + This counter displays the total number of remoting channels registered across all AppDomains since the start of the application. Channels are used to transport messages to and from remote objects. + + + + + Gets the value of the . + + + Value returned by + for the current instance. + + + + + This counter displays the total number of remoting proxy objects created in this process since the start of the process. Proxy object acts as a representative of the remote objects and ensures that all calls made on the proxy are forwarded to the correct remote object instance. + + + + + Gets the value of the . + + + Value returned by + for the current instance. + + + + + This counter displays the current number of context-bound classes loaded. Classes that can be bound to a context are called context-bound classes; context-bound classes are marked with Context Attributes which provide usage rules for synchronization; thread affinity; transactions etc. + + + + + Gets the value of the . + + + Value returned by + for the current instance. + + + + + This counter displays the number of context-bound objects allocated per second. Instances of classes that can be bound to a context are called context-bound objects; context-bound classes are marked with Context Attributes which provide usage rules for synchronization; thread affinity; transactions etc. This counter is not an average over time; it displays the difference between the values observed in the last two samples divided by the duration of the sample interval. + + + + + Gets the value of the . + + + Value returned by + for the current instance. + + + + + This counter displays the current number of remoting contexts in the application. A context is a boundary containing a collection of objects with the same usage rules like synchronization; thread affinity; transactions etc. + + + + + Gets the value of the . + + + Value returned by + for the current instance. + + + + + Help not available. + + + + + The cumulative total number of socket connections established for this process since the process was started. + + + + + Gets the value of the . + + + Value returned by + for the current instance. + + + + + The cumulative total number of bytes received over all open socket connections since the process was started. This number includes data and any protocol information that is not defined by the TCP/IP protocol. + + + + + Gets the value of the . + + + Value returned by + for the current instance. + + + + + The cumulative total number of bytes sent over all open socket connections since the process was started. This number includes data and any protocol information that is not defined by the TCP/IP protocol. + + + + + Gets the value of the . + + + Value returned by + for the current instance. + + + + + The cumulative total number of datagram packets received since the process was started. + + + + + Gets the value of the . + + + Value returned by + for the current instance. + + + + + The cumulative total number of datagram packets sent since the process was started. + + + + + Gets the value of the . + + + Value returned by + for the current instance. + + + + + Counters for CLR Garbage Collected heap. + + + + + This counter displays the number of times the generation 0 objects (youngest; most recently allocated) are garbage collected (Gen 0 GC) since the start of the application. Gen 0 GC occurs when the available memory in generation 0 is not sufficient to satisfy an allocation request. This counter is incremented at the end of a Gen 0 GC. Higher generation GCs include all lower generation GCs. This counter is explicitly incremented when a higher generation (Gen 1 or Gen 2) GC occurs. _Global_ counter value is not accurate and should be ignored. This counter displays the last observed value. + + + + + Gets the value of the . + + + Value returned by + for the current instance. + + + + + This counter displays the number of times the generation 1 objects are garbage collected since the start of the application. The counter is incremented at the end of a Gen 1 GC. Higher generation GCs include all lower generation GCs. This counter is explicitly incremented when a higher generation (Gen 2) GC occurs. _Global_ counter value is not accurate and should be ignored. This counter displays the last observed value. + + + + + Gets the value of the . + + + Value returned by + for the current instance. + + + + + This counter displays the number of times the generation 2 objects (older) are garbage collected since the start of the application. The counter is incremented at the end of a Gen 2 GC (also called full GC). _Global_ counter value is not accurate and should be ignored. This counter displays the last observed value. + + + + + Gets the value of the . + + + Value returned by + for the current instance. + + + + + This counter displays the bytes of memory that survive garbage collection (GC) and are promoted from generation 0 to generation 1; objects that are promoted just because they are waiting to be finalized are not included in this counter. This counter displays the value observed at the end of the last GC; its not a cumulative counter. + + + + + Gets the value of the . + + + Value returned by + for the current instance. + + + + + This counter displays the bytes of memory that survive garbage collection (GC) and are promoted from generation 1 to generation 2; objects that are promoted just because they are waiting to be finalized are not included in this counter. This counter displays the value observed at the end of the last GC; its not a cumulative counter. This counter is reset to 0 if the last GC was a Gen 0 GC only. + + + + + Gets the value of the . + + + Value returned by + for the current instance. + + + + + This counter displays the bytes per second that are promoted from generation 0 (youngest) to generation 1; objects that are promoted just because they are waiting to be finalized are not included in this counter. Memory is promoted when it survives a garbage collection. This counter was designed as an indicator of relatively long-lived objects being created per sec. This counter displays the difference between the values observed in the last two samples divided by the duration of the sample interval. + + + + + Gets the value of the . + + + Value returned by + for the current instance. + + + + + This counter displays the bytes per second that are promoted from generation 1 to generation 2 (oldest); objects that are promoted just because they are waiting to be finalized are not included in this counter. Memory is promoted when it survives a garbage collection. Nothing is promoted from generation 2 since it is the oldest. This counter was designed as an indicator of very long-lived objects being created per sec. This counter displays the difference between the values observed in the last two samples divided by the duration of the sample interval. + + + + + Gets the value of the . + + + Value returned by + for the current instance. + + + + + This counter displays the bytes of memory that are promoted from generation 0 to generation 1 just because they are waiting to be finalized. This counter displays the value observed at the end of the last GC; its not a cumulative counter. + + + + + Gets the value of the . + + + Value returned by + for the current instance. + + + + + This counter displays the bytes of memory that are promoted from generation 1 to generation 2 just because they are waiting to be finalized. This counter displays the value observed at the end of the last GC; its not a cumulative counter. This counter is reset to 0 if the last GC was a Gen 0 GC only. + + + + + Gets the value of the . + + + Value returned by + for the current instance. + + + + + This counter displays the maximum bytes that can be allocated in generation 0 (Gen 0); its does not indicate the current number of bytes allocated in Gen 0. A Gen 0 GC is triggered when the allocations since the last GC exceed this size. The Gen 0 size is tuned by the Garbage Collector and can change during the execution of the application. At the end of a Gen 0 collection the size of the Gen 0 heap is infact 0 bytes; this counter displays the size (in bytes) of allocations that would trigger the next Gen 0 GC. This counter is updated at the end of a GC; its not updated on every allocation. + + + + + Gets the value of the . + + + Value returned by + for the current instance. + + + + + This counter displays the current number of bytes in generation 1 (Gen 1); this counter does not display the maximum size of Gen 1. Objects are not directly allocated in this generation; they are promoted from previous Gen 0 GCs. This counter is updated at the end of a GC; its not updated on every allocation. + + + + + Gets the value of the . + + + Value returned by + for the current instance. + + + + + This counter displays the current number of bytes in generation 2 (Gen 2). Objects are not directly allocated in this generation; they are promoted from Gen 1 during previous Gen 1 GCs. This counter is updated at the end of a GC; its not updated on every allocation. + + + + + Gets the value of the . + + + Value returned by + for the current instance. + + + + + This counter displays the current size of the Large Object Heap in bytes. Objects greater than 20 KBytes are treated as large objects by the Garbage Collector and are directly allocated in a special heap; they are not promoted through the generations. This counter is updated at the end of a GC; its not updated on every allocation. + + + + + Gets the value of the . + + + Value returned by + for the current instance. + + + + + This counter displays the number of garbage collected objects that survive a collection because they are waiting to be finalized. If these objects hold references to other objects then those objects also survive but are not counted by this counter; the "Promoted Finalization-Memory from Gen 0" and "Promoted Finalization-Memory from Gen 1" counters represent all the memory that survived due to finalization. This counter is not a cumulative counter; its updated at the end of every GC with count of the survivors during that particular GC only. This counter was designed to indicate the extra overhead that the application might incur because of finalization. + + + + + Gets the value of the . + + + Value returned by + for the current instance. + + + + + This counter displays the current number of GC Handles in use. GCHandles are handles to resources external to the CLR and the managed environment. Handles occupy small amounts of memory in the GCHeap but potentially expensive unmanaged resources. + + + + + Gets the value of the . + + + Value returned by + for the current instance. + + + + + This counter displays the rate of bytes per second allocated on the GC Heap. This counter is updated at the end of every GC; not at each allocation. This counter is not an average over time; it displays the difference between the values observed in the last two samples divided by the duration of the sample interval. + + + + + Gets the value of the . + + + Value returned by + for the current instance. + + + + + This counter displays the peak number of times a garbage collection was performed because of an explicit call to GC.Collect. Its a good practice to let the GC tune the frequency of its collections. + + + + + Gets the value of the . + + + Value returned by + for the current instance. + + + + + % Time in GC is the percentage of elapsed time that was spent in performing a garbage collection (GC) since the last GC cycle. This counter is usually an indicator of the work done by the Garbage Collector on behalf of the application to collect and compact memory. This counter is updated only at the end of every GC and the counter value reflects the last observed value; its not an average. + + + + + Gets the value of the . + + + Value returned by + for the current instance. + + + + + Not Displayed. + + + + + Gets the value of the . + + + Value returned by + for the current instance. + + + + + This counter is the sum of four other counters; Gen 0 Heap Size; Gen 1 Heap Size; Gen 2 Heap Size and the Large Object Heap Size. This counter indicates the current memory allocated in bytes on the GC Heaps. + + + + + Gets the value of the . + + + Value returned by + for the current instance. + + + + + This counter displays the amount of virtual memory (in bytes) currently committed by the Garbage Collector. (Committed memory is the physical memory for which space has been reserved on the disk paging file). + + + + + Gets the value of the . + + + Value returned by + for the current instance. + + + + + This counter displays the amount of virtual memory (in bytes) currently reserved by the Garbage Collector. (Reserved memory is the virtual memory space reserved for the application but no disk or main memory pages have been used.) + + + + + Gets the value of the . + + + Value returned by + for the current instance. + + + + + This counter displays the number of pinned objects encountered in the last GC. This counter tracks the pinned objects only in the heaps that were garbage collected e.g. a Gen 0 GC would cause enumeration of pinned objects in the generation 0 heap only. A pinned object is one that the Garbage Collector cannot move in memory. + + + + + Gets the value of the . + + + Value returned by + for the current instance. + + + + + This counter displays the current number of sync blocks in use. Sync blocks are per-object data structures allocated for storing synchronization information. Sync blocks hold weak references to managed objects and need to be scanned by the Garbage Collector. Sync blocks are not limited to storing synchronization information and can also store COM interop metadata. This counter was designed to indicate performance problems with heavy use of synchronization primitives. + + + + + Gets the value of the . + + + Value returned by + for the current instance. + + + + + Stats for CLR interop. + + + + + This counter displays the current number of Com-Callable-Wrappers (CCWs). A CCW is a proxy for the .NET managed object being referenced from unmanaged COM client(s). This counter was designed to indicate the number of managed objects being referenced by unmanaged COM code. + + + + + Gets the value of the . + + + Value returned by + for the current instance. + + + + + This counter displays the current number of stubs created by the CLR. Stubs are responsible for marshalling arguments and return values from managed to unmanaged code and vice versa; during a COM Interop call or PInvoke call. + + + + + Gets the value of the . + + + Value returned by + for the current instance. + + + + + This counter displays the total number of times arguments and return values have been marshaled from managed to unmanaged code and vice versa since the start of the application. This counter is not incremented if the stubs are inlined. (Stubs are responsible for marshalling arguments and return values). Stubs usually get inlined if the marshalling overhead is small. + + + + + Gets the value of the . + + + Value returned by + for the current instance. + + + + + Reserved for future use. + + + + + Gets the value of the . + + + Value returned by + for the current instance. + + + + + Reserved for future use. + + + + + Gets the value of the . + + + Value returned by + for the current instance. + + + + + Counters for System.Data.SqlClient + + + + + The number of actual connections per second that are being made to servers + + + + + Gets the value of the . + + + Value returned by . + + + + + The number of actual disconnects per second that are being made to servers + + + + + Gets the value of the . + + + Value returned by . + + + + + The number of connections we get from the pool per second + + + + + Gets the value of the . + + + Value returned by . + + + + + The number of connections we return to the pool per second + + + + + Gets the value of the . + + + Value returned by . + + + + + The number of connections that are not using connection pooling + + + + + Gets the value of the . + + + Value returned by . + + + + + The number of connections that are managed by the connection pooler + + + + + Gets the value of the . + + + Value returned by . + + + + + The number of unique connection strings + + + + + Gets the value of the . + + + Value returned by . + + + + + The number of unique connection strings waiting for pruning + + + + + Gets the value of the . + + + Value returned by . + + + + + The number of connection pools + + + + + Gets the value of the . + + + Value returned by . + + + + + The number of connection pools + + + + + Gets the value of the . + + + Value returned by . + + + + + The number of connections currently in-use + + + + + Gets the value of the . + + + Value returned by . + + + + + The number of connections currently available for use + + + + + Gets the value of the . + + + Value returned by . + + + + + The number of connections currently waiting to be made ready for use + + + + + Gets the value of the . + + + Value returned by . + + + + + The number of connections we reclaim from GCed from external connections + + + + + Gets the value of the . + + + Value returned by . + + + + + .Net CLR Data + + + + + Current number of connections, pooled or not. + + + + + Gets the value of the . + + + Value returned by . + + + + + Current number of connections in all pools associated with the process. + + + + + Gets the value of the . + + + Value returned by . + + + + + Current number of pools associated with the process. + + + + + Gets the value of the . + + + Value returned by . + + + + + The highest number of connections in all pools since the process started. + + + + + Gets the value of the . + + + Value returned by . + + + + + The total number of connection open attempts that have failed for any reason. + + + + + Gets the value of the . + + + Value returned by . + + + + + The total number of command executes that have failed for any reason. + + + + + Gets the value of the . + + + Value returned by . + + + + + Statistics for CLR Class Loader. + + + + + This counter displays the current number of classes loaded in all Assemblies. + + + + + Gets the value of the . + + + Value returned by + for the current instance. + + + + + This counter displays the cumulative number of classes loaded in all Assemblies since the start of this application. + + + + + Gets the value of the . + + + Value returned by + for the current instance. + + + + + This counter displays the number of classes loaded per second in all Assemblies. This counter is not an average over time; it displays the difference between the values observed in the last two samples divided by the duration of the sample interval. + + + + + Gets the value of the . + + + Value returned by + for the current instance. + + + + + This counter displays the current number of AppDomains loaded in this application. AppDomains (application domains) provide a secure and versatile unit of processing that the CLR can use to provide isolation between applications running in the same process. + + + + + Gets the value of the . + + + Value returned by + for the current instance. + + + + + This counter displays the peak number of AppDomains loaded since the start of this application. AppDomains (application domains) provide a secure and versatile unit of processing that the CLR can use to provide isolation between applications running in the same process. + + + + + Gets the value of the . + + + Value returned by + for the current instance. + + + + + This counter displays the number of AppDomains loaded per second. AppDomains (application domains) provide a secure and versatile unit of processing that the CLR can use to provide isolation between applications running in the same process. This counter is not an average over time; it displays the difference between the values observed in the last two samples divided by the duration of the sample interval. + + + + + Gets the value of the . + + + Value returned by + for the current instance. + + + + + This counter displays the current number of Assemblies loaded across all AppDomains in this application. If the Assembly is loaded as domain-neutral from multiple AppDomains then this counter is incremented once only. Assemblies can be loaded as domain-neutral when their code can be shared by all AppDomains or they can be loaded as domain-specific when their code is private to the AppDomain. + + + + + Gets the value of the . + + + Value returned by + for the current instance. + + + + + This counter displays the total number of Assemblies loaded since the start of this application. If the Assembly is loaded as domain-neutral from multiple AppDomains then this counter is incremented once only. Assemblies can be loaded as domain-neutral when their code can be shared by all AppDomains or they can be loaded as domain-specific when their code is private to the AppDomain. + + + + + Gets the value of the . + + + Value returned by + for the current instance. + + + + + This counter displays the number of Assemblies loaded across all AppDomains per second. If the Assembly is loaded as domain-neutral from multiple AppDomains then this counter is incremented once only. Assemblies can be loaded as domain-neutral when their code can be shared by all AppDomains or they can be loaded as domain-specific when their code is private to the AppDomain. This counter is not an average over time; it displays the difference between the values observed in the last two samples divided by the duration of the sample interval. + + + + + Gets the value of the . + + + Value returned by + for the current instance. + + + + + Reserved for future use. + + + + + Gets the value of the . + + + Value returned by + for the current instance. + + + + + Reserved for future use. + + + + + Gets the value of the . + + + Value returned by + for the current instance. + + + + + This counter displays the peak number of classes that have failed to load since the start of the application. These load failures could be due to many reasons like inadequate security or illegal format. Full details can be found in the profiling services help. + + + + + Gets the value of the . + + + Value returned by + for the current instance. + + + + + This counter displays the number of classes that failed to load per second. This counter is not an average over time; it displays the difference between the values observed in the last two samples divided by the duration of the sample interval. These load failures could be due to many reasons like inadequate security or illegal format. Full details can be found in the profiling services help. + + + + + Gets the value of the . + + + Value returned by + for the current instance. + + + + + This counter displays the current size (in bytes) of the memory committed by the class loader across all AppDomains. (Committed memory is the physical memory for which space has been reserved on the disk paging file.) + + + + + Gets the value of the . + + + Value returned by + for the current instance. + + + + + This counter displays the total number of AppDomains unloaded since the start of the application. If an AppDomain is loaded and unloaded multiple times this counter would count each of those unloads as separate. + + + + + Gets the value of the . + + + Value returned by + for the current instance. + + + + + This counter displays the number of AppDomains unloaded per second. This counter is not an average over time; it displays the difference between the values observed in the last two samples divided by the duration of the sample interval. + + + + + Gets the value of the . + + + Value returned by + for the current instance. + + + + + Stats for CLR Security. + + + + + This counter displays the total number of runtime Code Access Security (CAS) checks performed since the start of the application. Runtime CAS checks are performed when a caller makes a call to a callee demanding a particular permission; the runtime check is made on every call by the caller; the check is done by examining the current thread stack of the caller. This counter used together with "Stack Walk Depth" is indicative of performance penalty for security checks. + + + + + Gets the value of the . + + + Value returned by + for the current instance. + + + + + Reserved for future use. + + + + + Gets the value of the . + + + Value returned by + for the current instance. + + + + + This counter displays the total number of linktime Code Access Security (CAS) checks since the start of the application. Linktime CAS checks are performed when a caller makes a call to a callee demanding a particular permission at JIT compile time; linktime check is performed once per caller. This count is not indicative of serious performance issues; its indicative of the security system activity. + + + + + Gets the value of the . + + + Value returned by + for the current instance. + + + + + This counter displays the percentage of elapsed time spent in performing runtime Code Access Security (CAS) checks since the last such check. CAS allows code to be trusted to varying degrees and enforces these varying levels of trust depending on code identity. This counter is updated at the end of a runtime security check; it represents the last observed value; its not an average. + + + + + Gets the value of the . + + + Value returned by + for the current instance. + + + + + Not Displayed. + + + + + Gets the value of the . + + + Value returned by + for the current instance. + + + + + This counter displays the depth of the stack during that last runtime Code Access Security check. Runtime Code Access Security check is performed by crawling the stack. This counter is not an average; it just displays the last observed value. + + + + + Gets the value of the . + + + Value returned by + for the current instance. + + + + + Stats for CLR Jit. + + + + + This counter displays the total number of methods compiled Just-In-Time (JIT) by the CLR JIT compiler since the start of the application. This counter does not include the pre-jitted methods. + + + + + Gets the value of the . + + + Value returned by + for the current instance. + + + + + This counter displays the total IL bytes jitted since the start of the application. This counter is exactly equivalent to the "Total # of IL Bytes Jitted" counter. + + + + + Gets the value of the . + + + Value returned by + for the current instance. + + + + + This counter displays the total IL bytes jitted since the start of the application. This counter is exactly equivalent to the "# of IL Bytes Jitted" counter. + + + + + Gets the value of the . + + + Value returned by + for the current instance. + + + + + This counter displays the rate at which IL bytes are jitted per second. This counter is not an average over time; it displays the difference between the values observed in the last two samples divided by the duration of the sample interval. + + + + + Gets the value of the . + + + Value returned by + for the current instance. + + + + + This counter displays the peak number of methods the JIT compiler has failed to JIT since the start of the application. This failure can occur if the IL cannot be verified or if there was an internal error in the JIT compiler. + + + + + Gets the value of the . + + + Value returned by + for the current instance. + + + + + This counter displays the percentage of elapsed time spent in JIT compilation since the last JIT compilation phase. This counter is updated at the end of every JIT compilation phase. A JIT compilation phase is the phase when a method and its dependencies are being compiled. + + + + + Gets the value of the . + + + Value returned by + for the current instance. + + + + + Not Displayed. + + + + + Gets the value of the . + + + Value returned by + for the current instance. + + + + + Stats for CLR Locks and Threads. + + + + + This counter displays the total number of times threads in the CLR have attempted to acquire a managed lock unsuccessfully. Managed locks can be acquired in many ways; by the "lock" statement in C# or by calling System.Monitor.Enter or by using MethodImplOptions.Synchronized custom attribute. + + + + + Gets the value of the . + + + Value returned by + for the current instance. + + + + + Rate at which threads in the runtime attempt to acquire a managed lock unsuccessfully. Managed locks can be acquired in many ways; by the "lock" statement in C# or by calling System.Monitor.Enter or by using MethodImplOptions.Synchronized custom attribute. + + + + + Gets the value of the . + + + Value returned by + for the current instance. + + + + + This counter displays the total number of threads currently waiting to acquire some managed lock in the application. This counter is not an average over time; it displays the last observed value. + + + + + Gets the value of the . + + + Value returned by + for the current instance. + + + + + This counter displays the total number of threads that waited to acquire some managed lock since the start of the application. + + + + + Gets the value of the . + + + Value returned by + for the current instance. + + + + + This counter displays the number of threads per second waiting to acquire some lock in the application. This counter is not an average over time; it displays the difference between the values observed in the last two samples divided by the duration of the sample interval. + + + + + Gets the value of the . + + + Value returned by + for the current instance. + + + + + This counter displays the number of current .NET thread objects in the application. A .NET thread object is created either by new System.Threading.Thread or when an unmanaged thread enters the managed environment. This counters maintains the count of both running and stopped threads. This counter is not an average over time; it just displays the last observed value. + + + + + Gets the value of the . + + + Value returned by + for the current instance. + + + + + This counter displays the number of native OS threads created and owned by the CLR to act as underlying threads for .NET thread objects. This counters value does not include the threads used by the CLR in its internal operations; it is a subset of the threads in the OS process. + + + + + Gets the value of the . + + + Value returned by + for the current instance. + + + + + This counter displays the number of threads that are currently recognized by the CLR; they have a corresponding .NET thread object associated with them. These threads are not created by the CLR; they are created outside the CLR but have since run inside the CLR at least once. Only unique threads are tracked; threads with same thread ID re-entering the CLR or recreated after thread exit are not counted twice. + + + + + Gets the value of the . + + + Value returned by + for the current instance. + + + + + This counter displays the total number of threads that have been recognized by the CLR since the start of this application; these threads have a corresponding .NET thread object associated with them. These threads are not created by the CLR; they are created outside the CLR but have since run inside the CLR at least once. Only unique threads are tracked; threads with same thread ID re-entering the CLR or recreated after thread exit are not counted twice. + + + + + Gets the value of the . + + + Value returned by + for the current instance. + + + + + This counter displays the number of threads per second that have been recognized by the CLR; these threads have a corresponding .NET thread object associated with them. These threads are not created by the CLR; they are created outside the CLR but have since run inside the CLR at least once. Only unique threads are tracked; threads with same thread ID re-entering the CLR or recreated after thread exit are not counted twice. This counter is not an average over time; it displays the difference between the values observed in the last two samples divided by the duration of the sample interval. + + + + + Gets the value of the . + + + Value returned by + for the current instance. + + + + + Counters for System.Data.OracleClient + + + + + The number of actual connections per second that are being made to servers + + + + + Gets the value of the . + + + Value returned by . + + + + + The number of actual disconnects per second that are being made to servers + + + + + Gets the value of the . + + + Value returned by . + + + + + The number of connections we get from the pool per second + + + + + Gets the value of the . + + + Value returned by . + + + + + The number of connections we return to the pool per second + + + + + Gets the value of the . + + + Value returned by . + + + + + The number of connections that are not using connection pooling + + + + + Gets the value of the . + + + Value returned by . + + + + + The number of connections that are managed by the connection pooler + + + + + Gets the value of the . + + + Value returned by . + + + + + The number of unique connection strings + + + + + Gets the value of the . + + + Value returned by . + + + + + The number of unique connection strings waiting for pruning + + + + + Gets the value of the . + + + Value returned by . + + + + + The number of connection pools + + + + + Gets the value of the . + + + Value returned by . + + + + + The number of connection pools + + + + + Gets the value of the . + + + Value returned by . + + + + + The number of connections currently in-use + + + + + Gets the value of the . + + + Value returned by . + + + + + The number of connections currently available for use + + + + + Gets the value of the . + + + Value returned by . + + + + + The number of connections currently waiting to be made ready for use + + + + + Gets the value of the . + + + Value returned by . + + + + + The number of connections we reclaim from GCed from external connections + + + + + Gets the value of the . + + + Value returned by . + + + + + Summary description for PostItAttribute. + + + + + Tag use to mark a method that writes data to a device. + + + + + + Reflection Assertion class + + + + + Asserts whether an instance of the + can be assigned from an instance of . + + + Parent instance. + + + Child instance. + + + + + Asserts whether is an instance of the + . + + + instance. + + + Child instance. + + + + + Asserts that the type has a default public constructor + + + + + Asserts that the type has a public instance constructor with a signature defined by parameters. + + + + + Asserts that the type has a constructor, with the specified bindind flags, with a signature defined by parameters. + + + + + Asserts that the type has a public instance method with a signature defined by parameters. + + + + + Asserts that the type has a method, with the specified bindind flags, with a signature defined by parameters. + + + + + Asserts that the type has a public field method with a signature defined by parameters. + + + + + Asserts that the type has a field, with the specified bindind flags, with a signature defined by parameters. + + + + + This tag defines test method that will be repeated the specified number + of times. + + + + + + Provides a row of values using in conjunction with + to bind values to the parameters of a row test method. + + + + + Provides a row of values using in conjunction with + to bind values to the parameters of a row test method. + + The row of values to bind + + + + Gets the row of values. + + The row of values + + + + Gets or sets the type of exception that is expected to be thrown when this + row is tested, or null if none. + + + + + Declares a row test when applied to a test method along with one or more + attributes. + + + + + Security Assertion class + + + + + Asserts that is authenticated. + + + + + Asserts that is not authenticated. + + + + + Asserts that the current windows identity is authenticated. + + + + + Asserts that the current windows identity is not authenticated. + + + + + Asserts that the current windows identity is in . + + + + + Asserts that the current windows identity is in + role. + + + + + Asserts that the current windows identity is in + role. + + + + + Asserts that the current windows identity is in + role. + + + + + Asserts that the current windows identity is in + role. + + + + + Verifies that the type is serializable with the XmlSerializer object. + + + type to test. + + + + + Serializes and deserialies to/from XML and checks that the results are the same. + + + Object to test + + + + + Tag use to mark a method that initiliazes the fixture instance. + + + + + + String Assertion class + + + + + Asserts that two strings are equal, ignoring the case + + + Expected string + + + Actual string + + + + + Asserts that the string is non null and empty + + + String to test. + + + + + Asserts that the string is non null and non empty + + + String to test. + + + + + Asserts the regular expression reg makes a full match on s + + + String to test. + + + Regular expression + + + + + Asserts the regular expression regex makes a full match on + . + + + String to test. + + + Regular expression + + + + + Asserts the regular expression reg makes a match on s + + + String to test. + + + Regular expression + + + + + Asserts the regular expression regex makes a match on s + + + String to test. + + + A instance. + + + + + Asserts the regular expression reg makes a match on s + + + String to test. + + + Regular expression + + + + + Asserts the regular expression regex makes a match on s + + + String to test. + + + A instance. + + + + + Asserts the string does not contain c + + + String to test. + + + Variable list of characeters. + + + + + Tag use to mark a method that cleans up the resource of the fixture instance. + + + + + + Tag use to mark a mark a unit test method. + + + + + + Contributes additional tests and setup or teardown steps to the + lifecycle defined by . + + + + + Called to add runs to perform before setup. + + The collection to update + + + + Called to add runs to perform during the test execution cycle. + + The collection to update + + + + Called to add runs to perform after teardown. + + The collection to update + + + + Creates an order of execution in the fixture. + + + + This fixture is used to implement the Process testing advertised by + Marc Clifton' + Code Project + article. + + + + + + Initializes a new instance of with the given order. + + order of execution + + + + Initializes a new instance of with the given order + and description. + + order of execution + description of the test + + + + Returns a string that represents the instance. + + + String representing the object. + + + + + Gets or sets the order execution + + + The order of execution + + + + + This tag defines test method that will invoke the method in the specified + number of concurrent threads. + + + + + + Gets a list of values separated by ; + + + + + + Enumeration Pattern implementations. + + +Implements:Enumeration Test Pattern +Login: + +{DataProvider} +{CopyToProvider} +[SetUp] +(EnumerationTester) + - GetEnumerator + - Enumerate + - ElementWiseEquality + - Current + - CurrentWithoutMoveNet + - CurrentPastEnd + - Reset + - CollectionChanged +[TearDown] + + + +This example tests the and . + + + + + + + + + + Could not find . + + + + + Creates an exception with a type + and an inner exception. + + Error type + Inner exception + + + + + + + + + + + + + + + + + + + + + Default constructor + + + XPath to the desired data + + + + + + + Constructor with a fixture description + + + XPath to the desired data + + fixture description + + + + + + Summary description for ForEachTestRunInvoker. + + + + + + The MbUnit.Framework contains the set of built-in attributes. + + + Use the static methods of to test your assertions. You can also + do security related assertion using , + data related assertions using and + XML related assertions using (which comes from XmlUnit, http://xmlunit.sourceforge.net) + , Reflection based assertion and + String and text based assertion . + + + + + + Process Test Pattern fixture. + + + Implements: Process Test Fixture + Logic: + + [SetUp] + {TestSequence} + [TearDown] + + + + This fixture implements the Process Test Fixture as described in the + CodeProject + article from Marc Clifton. + + + In this implementation, reverse traversal is not implemented. + A process can be seen as a linear graph, a very simple model. If you + need more evolved models, use Model Based Testing. + + + + +This is the example for the CodeProject +article adapted to MbUnit. + + +[ProcessTestFixture] +public class POSequenceTest +{ + ... + [TestSequence(1)] + public void POConstructor() + { + po=new PurchaseOrder(); + Assert.AreEqual(po.Number,"", "Number not initialized."); + Assert.AreEqual(po.PartCount,0, "PartCount not initialized."); + Assert.AreEqual(po.ChargeCount,0, "ChargeCount not initialized."); + Assert.AreEqual(po.Invoice,null, "Invoice not initialized."); + Assert.AreEqual(po.Vendor,null, "Vendor not initialized."); + } + + [TestSequence(2)] + public void VendorConstructor() + { + vendor=new Vendor(); + Assert.AreEqual(vendor.Name,"", "Name is not an empty string."); + Assert.AreEqual(vendor.PartCount,0, "PartCount is not zero."); + } + ... + + +Use to mark a class as process test fixture and use the + attribute to create the order of the process. The fixture also supports +SetUp and TearDown methods. + + + + + + Initialize a + instance. + + + + + Constructor with a fixture description + + fixture description + + + + Creates the execution logic + + + See summary. + + A instance that represent the type + test logic. + + + + + A resource-based data provider + + + + + A file-based data provider + + + + + + + + + Default constructor + + + XPath to the desired data + + + + + + + Constructor with a fixture description + + + XPath to the desired data + + fixture description + + + + + + A single test case of a . + + + + + Initializes a new instance + with name and delegate. + + + Name of the test case + + + Delegate called by the test case + + + Parameters of the delegate + + + or + is a null reference (Nothing in Visual Basic) + + + is empty. + + + + + Invokes using the parameters returned by + . + + + + + + Gets the name of the test case + + + The name of the test case + + + + + Collection indexing test class + + + + + + Collection order tester class. + + + + + Tests for the and . + + + + + + + + Simple Test Pattern fixture. + + +Implements: Simple Test Pattern +Login: + +[SetUp] +{Test} +[TearDown] + + + +This is the classic unit test fixture attribute. It defines a class that contains unit +tests. + + +The test execution logic is described by the following sequence of custom attributes: +where [] denotes an optional attribute, {} denotes a custom attribute +that can tag multiple number of methods. + + +Unit test methods must be tagged with the , return +void and take no arguments: + +[Test] +public void UnitTest() +{ + ... +} + +The same fixture can hold an arbitrary number of unit test methods. + + +If the fixture needs initilization, you can add a set up method tagged with the + attribute. Note that there can be only one +method tagged with . + + +Symmetricaly, you can specify a method that will clean up resources allocated by +the fixture. This method must be tagged with the +and there can be only one method with this attribute. + + + + +This example shows a test fixture class implementing the Simple Test pattern. +It tests image based method of the Graphics class in GDI+. + + +A set up method +(tagged by is used to create a new bitmap, while +a tear down (tagged by ) is used to released the bitmap. + + +[TestFixture("Bitmap")] +public GraphicsAndBitmapTest +{ + private Bitmap bmp; + + [SetUp] + public void SetUp() + { + this.bmp = new Bitmap(300,300); + } + + [Test] + public void CreateGraphics() + { + Graphics g = Graphcis.FromImage(this.bmp); + Assert.IsNotNull(g); + Assert.AreEqual(g.Width,this.bmp.Width); + ... + } + + ... + + [TearDown] + public void TearDownCanHaveOtherNames() + { + if(this.bmp!=null) + this.bmp.Dispose(); + } +} + + + + + + Default constructor + + + + + + + Constructor with a fixture description + + fixture description + + + + + + Creates the execution logic + + + See summary. + + A instance that represent the type + test logic. + + + +This example shows a test fixture class implementing the Simple Test pattern. +It tests image based method of the Graphics class in GDI+. + + +A set up method +(tagged by is used to create a new bitmap, while +a tear down (tagged by ) is used to released the bitmap. + + +[TestFixture("Bitmap")] +public GraphicsAndBitmapTest +{ + private Bitmap bmp; + + [SetUp] + public void SetUp() + { + this.bmp = new Bitmap(300,300); + } + + [Test] + public void CreateGraphics() + { + Graphics g = Graphcis.FromImage(this.bmp); + Assert.IsNotNull(g); + Assert.AreEqual(g.Width,this.bmp.Width); + ... + } + + ... + + [TearDown] + public void TearDownCanHaveOtherNames() + { + if(this.bmp!=null) + this.bmp.Dispose(); + } +} + + + + + + A named collection of uniquely named . + + + + + Initializes a instance + with . + + + name of the suite + + + is a null reference + (Nothing in Visual Basic) + + + is empty. + + + + + Adds the test case to the suite + + + instance to add. + + + The suite already contains a test case named . + + + + + Removes the test case from the suite + + + Test case to remove + + + is a null reference + (Nothing in Visual Basic) + + + + + Adds a new to the suite. + + + Name of the new test case + + + invoked by the test case + + + parameters sent to when invoked + + + is a null reference + (Nothing in Visual Basic) + + + is empty. + + + The suite already contains a test case named . + + + + + Gets the name. + + + The name. + + + + + Gets a collection of . + + + A collection of . + + + + + Test Suite fixture. + + + + + Default constructor + + + + + + + Constructor with a fixture description + + fixture description + + + + + + Creates the execution logic + + + See summary. + + A instance that represent the type + test logic. + + + +This example shows a test fixture class implementing the Simple Test pattern. +It tests image based method of the Graphics class in GDI+. + + +A set up method +(tagged by is used to create a new bitmap, while +a tear down (tagged by ) is used to released the bitmap. + + +[TestFixture("Bitmap")] +public GraphicsAndBitmapTest +{ + private Bitmap bmp; + + [SetUp] + public void SetUp() + { + this.bmp = new Bitmap(300,300); + } + + [Test] + public void CreateGraphics() + { + Graphics g = Graphcis.FromImage(this.bmp); + Assert.IsNotNull(g); + Assert.AreEqual(g.Width,this.bmp.Width); + ... + } + + ... + + [TearDown] + public void TearDownCanHaveOtherNames() + { + if(this.bmp!=null) + this.bmp.Dispose(); + } +} + + + + + + Type fixture pattern implementation. + + +Implements: Type Test Pattern +Logic: + +{Provider} +[SetUp] +{Test} +[TearDown] + + + +This fixture is quite similar to the Simple Test pattern, but it applies to +any instance of a particular type provided by the user. + + +The test fixture first looks for methods tagged with the +method. These method must return an object assignable with the tested type. This instance will +be feeded to the other methods of the fixture. + + + + +This example shows the squeleton of a fixture tests the IDictionary interface, +the fixture implements the Type Test pattern. + + +The tested instances are feeded by the methods tagged with the . +These methods must return an instance that is assignable with . +Subsequent will receive the created instance as parameter. + + +[TypeFixture(typeof(IDictionary),"IDictionary interface fixture")] +public void DictionaryTest +{ + [Provider(typeof(Hashtable))] + public Hashtable ProvideHashtable() + { + return new Hashtable(); + } + + [Provider(typeof(SortedList))] + public SortedList ProvideSortedList() + { + return new SortedList(); + } + + // tests + [Test] + [ExpectedException(typeof(ArgumentException))] + public void AddDuplicate(IDictionary dic) // dic comes from a provider class + { + dic.Add("key",null); + dic.Add("key",null); // boom + } + +} + + + + + + Creates a fixture for the type. + + + Initializes the attribute with . + + type to apply the fixture to + testedType is a null reference + + + + Creates a fixture for the type + and a description + + + Initializes the attribute with . + + type to apply the fixture to + description of the fixture + testedType is a null reference + + + + Creates the execution logic + + + See summary. + + A instance that represent the type + test logic. + + + +This example shows the squeleton of a fixture tests the IDictionary interface, +the fixture implements the Type Test pattern. + + +The tested instances are feeded by the methods tagged with the . +These methods must return an instance that is assignable with . +Subsequent will receive the created instance as parameter. + + +[TypeFixture(typeof(IDictionary),"IDictionary interface fixture")] +public void DictionaryTest +{ + [Provider(typeof(Hashtable))] + public Hashtable ProvideHashtable() + { + return new Hashtable(); + } + + [Provider(typeof(SortedList))] + public SortedList ProvideSortedList() + { + return new SortedList(); + } + + // tests + [Test] + [ExpectedException(typeof(ArgumentException))] + public void AddDuplicate(IDictionary dic) // dic comes from a provider class + { + dic.Add("key",null); + dic.Add("key",null); // boom + } + +} + + + + + + Gets a list of member names separated by ; + + + + + + A with verified result. + + + + + Web related assertions. + + + + + Verifies that has ViewState enabled. + + + + + Verifies that has not ViewState enabled. + + + + + Verifies that is visible. + + + + + Verifies that is not visible. + + + + + Verifies that ID is equal to . + + + + + Verifies that has child controls. + + + + + Verifies that has no child controls. + + + + + Verifies that the + property of and + are equal. + + + + + Verifies that the + property of is equal to + are equal. + + + + + Verifies that is a child control + of + + + + + Verifies that is the ID of a child control + of + + + + + Verifies that is a not child control + of + + + + + Verifies that is the not ID of a child control + of + + + + + Verifies that the property of + is equal to . + + + + + Verifies that the property of + is equal to . + + + + + Verifies that the property of + is true. + + + + + Verifies that the property of + is false. + + + + + Verifies that the property of + is true. + + + + + Verifies that the property of + is false. + + + + + Verifies that the property of + is true. + + + + + Verifies that the property of + is false. + + + + + Tag use to mark a method that writes data to a device. + + + + + + Comparing 2 attributes with the same name but different values + + + + + Comparing 2 attribute lists with the same attributes in different sequence + + + + + Summary description for FlowControlException. + + + + + + The MbUnit.Framework.Xml contains Xml-specific assertion. + The classes of this namespace are extracted from the XmlUnit project. + + + /* + ****************************************************************** + Copyright (c) 2001, Jeff Martin, Tim Bacon + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + * Neither the name of the xmlunit.sourceforge.net nor the names + of its contributors may be used to endorse or promote products + derived from this software without specific prior written + permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, + BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN + ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + POSSIBILITY OF SUCH DAMAGE. + + ****************************************************************** + */ + + + + + diff --git a/Tools/MbUnit/MbUnit.Framework.dll b/Tools/MbUnit/MbUnit.Framework.dll new file mode 100644 index 00000000..18108b9f Binary files /dev/null and b/Tools/MbUnit/MbUnit.Framework.dll differ diff --git a/Tools/MbUnit/MbUnit.GUI.exe b/Tools/MbUnit/MbUnit.GUI.exe new file mode 100644 index 00000000..52b27d05 Binary files /dev/null and b/Tools/MbUnit/MbUnit.GUI.exe differ diff --git a/Tools/MbUnit/MbUnit.GUI.exe.config b/Tools/MbUnit/MbUnit.GUI.exe.config new file mode 100644 index 00000000..46bf22b3 --- /dev/null +++ b/Tools/MbUnit/MbUnit.GUI.exe.config @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Tools/MbUnit/MbUnit.MSBuild.Tasks.dll b/Tools/MbUnit/MbUnit.MSBuild.Tasks.dll new file mode 100644 index 00000000..2de3b3f2 Binary files /dev/null and b/Tools/MbUnit/MbUnit.MSBuild.Tasks.dll differ diff --git a/Tools/MbUnit/MbUnit.Tasks.dll b/Tools/MbUnit/MbUnit.Tasks.dll new file mode 100644 index 00000000..47fab28e Binary files /dev/null and b/Tools/MbUnit/MbUnit.Tasks.dll differ diff --git a/Tools/MbUnit/MbUnit.Tests.1.1.dll b/Tools/MbUnit/MbUnit.Tests.1.1.dll new file mode 100644 index 00000000..57c6a776 Binary files /dev/null and b/Tools/MbUnit/MbUnit.Tests.1.1.dll differ diff --git a/Tools/MbUnit/NAnt.Core.dll b/Tools/MbUnit/NAnt.Core.dll new file mode 100644 index 00000000..77489e3c Binary files /dev/null and b/Tools/MbUnit/NAnt.Core.dll differ diff --git a/Tools/MbUnit/NAnt.Core.xml b/Tools/MbUnit/NAnt.Core.xml new file mode 100644 index 00000000..a48d2962 --- /dev/null +++ b/Tools/MbUnit/NAnt.Core.xml @@ -0,0 +1,14462 @@ + + + + NAnt.Core + + + + + Used to indicate that a property should be able to be converted into a + . + + + + + Base class for all validator attributes. + + + + + Validates the specified value. + + The value to be validated. + The validation fails. + + + + Initializes a new instance of the + class. + + + + + Checks if the specified value can be converted to a . + + The value to be checked. + cannot be converted to a . + + + + Indicates that property should be treated as a XML attribute for the + task. + + + Examples of how to specify task attributes + + #region Public Instance Properties + + [BuildAttribute("out", Required=true)] + public string Output { + get { return _out; } + set { _out = value; } + } + + [BuildAttribute("optimize")] + [BooleanValidator()] + public bool Optimize { + get { return _optimize; } + set { _optimize = value; } + } + + [BuildAttribute("warnlevel")] + [Int32Validator(0,4)] // limit values to 0-4 + public int WarnLevel { + get { return _warnLevel; } + set { _warnLevel = value; } + } + + [BuildElement("sources")] + public FileSet Sources { + get { return _sources; } + set { _sources = value; } + } + + #endregion Public Instance Properties + + #region Private Instance Fields + + private string _out = null; + private bool _optimize = false; + private int _warnLevel = 4; + private FileSet _sources = new FileSet(); + + #endregion Private Instance Fields + + + + + + Initializes a new instance of the with the + specified name. + + The name of the attribute. + is . + is a zero-length . + + + + Gets or sets the name of the XML attribute. + + + The name of the XML attribute. + + + + + Gets or sets a value indicating whether the attribute is required. + + + if the attribute is required; otherwise, + . The default is . + + + + + Gets or sets a value indicating whether property references should + be expanded. + + + if properties should be expanded; otherwise + . The default is . + + + + + Used to specify how this attribute will be handled as the XML is + parsed and given to the element. + + + if XML should be processed; otherwise + . The default is . + + + + + Indicates that property should be treated as a XML arrayList + + + + Should only be applied to properties exposing strongly typed arrays or + strongly typed collections. + + + The XML format is like this: + + + + + + + + ]]> + + + + + + + Indicates that the property should be treated as an XML element and + further processing should be done. + + + + Should only be applied to properties exposing strongly typed arrays or + strongly typed collections. + + + The XML format is like this: + + + + + + + ]]> + + + + + + + Initializes a new instance of the with the + specified name. + + The name of the attribute. + is . + is a zero-length . + + + + Gets or sets the name of the attribute. + + + The name of the attribute. + + + + + Gets or sets a value indicating whether the attribute is required. + + + if the attribute is required; otherwise, + . The default is . + + + + + Used to specify how this element will be handled as the XML is parsed + and given to the element. + + + if XML should be processed; otherwise + . The default is . + + + + + Initializes a new instance of the + with the specified name. + + The name of the attribute. + is . + is a zero-length . + + + + Gets or sets the type of objects that this container holds. + + + The type of the elements that this container holds. + + + + This can be used for validation and schema generation. + + + If not specified, the type of the elements will be determined using + reflection. + + + is . + + + + Indicates that the property should be treated as a container for a + collection of build elements. + + + + Should only be applied to properties exposing strongly typed arrays or + strongly typed collections. + + + The XML format is like this: + + + + + + + + + + ]]> + + + + + + + Initializes a new instance of the with the + specified name and child element name. + + The name of the collection. + The name of the child elements in the collection + is . + is a zero-length . + + + + The name of the child element within the collection. + + + The name to check for in the XML of the elements in the collection. + + + This can be used for validation and schema generation. + + + + + Used to indicate that a property should be able to be converted into a + . + + + + + Initializes a new instance of the + class. + + + + + Checks if the specified value can be converted to a . + + The value to be checked. + cannot be converted to a . + + + + Indicates that class should be treated as a NAnt element. + + + Attach this attribute to a subclass of Element to have NAnt be able + to recognize it. The name should be short but must not confict + with any other element already in use. + + + + + Initializes a new instance of the + with the specified name. + + The name of the element. + is . + is a zero-length . + + + + Gets or sets the name of the element. + + + The name of the element. + + + + + Indicates that a property should be treated as a XML file set for the + task. + + + + + Initializes a new instance of the with the + specified name. + + The name of the attribute. + is . + is a zero-length . + + + + Indicates that the value of the property to which the attribute is + assigned, can be configured on the framework-level in the NAnt application + configuration file. + + + + The following example shows a property of which the value can be + configured for a specific framework in the NAnt configuration file. + + + [FrameworkConfigurable("exename", Required=true)] + public virtual string ExeName { + get { return _exeName; } + set { _exeName = value; } + } + + + + + + Initializes a new instance of the + with the specified attribute name. + + The name of the framework configuration attribute. + is a . + is a zero-length . + + + + Gets or sets the name of the framework configuration attribute. + + The name of the framework configuration attribute. + + + + Gets or sets a value indicating whether the configuration attribute + is required. + + + if the configuration attribute is required; + otherwise, . The default is . + + + + + Gets or sets a value indicating whether property references should + be expanded. + + + if properties should be expanded; otherwise + . The default is . + + + + + Indicates that the method should be exposed as a function in NAnt build + files. + + + Attach this attribute to a method of a class that derives from + to have NAnt be able to recognize it. + + + + + Initializes a new instance of the + class with the specified name. + + The name of the function. + is . + is a zero-length . + + + + Gets or sets the name of the function. + + + The name of the function. + + + + + Indicates that class should be treated as a set of functions. + + + Attach this attribute to a class that derives from + to have NAnt be able to recognize it as containing custom functions. + + + + + Initializes a new instance of the + class with the specified name. + + The prefix used to distinguish the functions. + The category of the functions. + + is . + -or- + is . + + + is a zero-length . + -or- + is a zero-length . + + + + + Gets or sets the category of the function set. + + + The name of the category of the function set. + + + This will be displayed in the user docs. + + + + + Gets or sets the prefix of all functions in this function set. + + + The prefix of the functions in this function set. + + + + + Indicates that property should be able to be converted into a + within the given range. + + + + + Initializes a new instance of the + class. + + + + + Initializes a new instance of the + class with the specied minimum and maximum values. + + The minimum value. + The maximum value. + + + + Checks whether the specified value can be converted to an + and whether the value lies within the range defined by the + and properties. + + The value to be checked. + + + cannot be converted to an . + + -or- + + is not in the range defined by + and . + + + + + + Gets or sets the minimum value. + + + The minimum value. The default is . + + + + + Gets or sets the maximum value. + + + The maximum value. The default is . + + + + + The base of the number to validate, which must be 2, 8, 10, or 16. + + + The base of the number to validate. + + + The default is 10. + + + + + Defines possible locations in which a task executable can be located. + + + + + Locates the task executable in the current Framework directory. + + + + + Locates the task executable in the current Framework SDK directory. + + + + + Indicates the location that a task executable can be located in. + + + + + Initializes a new instance of the + with the specified location. + + The of the attribute. + + + + Gets or sets the of the task. + + + The location type of the task to which the attribute is assigned. + + + + + Used to indicate whether a property should allow + an empty string value or not. + + + + + Initializes a new instance of the + class. + + + + + Checks if the specified value adheres to the rules defined by the + properties of the . + + The value to be checked. + is an empty string value and is set to . + + + + Gets or sets a value indicating whether an empty string or + should be a considered a valid value. + + + if an empty string or + should be considered a valid value; otherwise, . + The default is . + + + + + Gets or sets a regular expression. The string will be validated to + determine if it matches the expression. + + + + + + + + An optional error message that can be used to better describe the + regular expression error. + + + + + Indicates that property should be treated as a XML attribute for the + task. + + + Examples of how to specify task attributes + + // task XmlType default is string + [TaskAttribute("out", Required=true)] + string _out = null; // assign default value here + + [TaskAttribute("optimize")] + [BooleanValidator()] + // during ExecuteTask you can safely use Convert.ToBoolean(_optimize) + string _optimize = Boolean.FalseString; + + [TaskAttribute("warnlevel")] + [Int32Validator(0,4)] // limit values to 0-4 + // during ExecuteTask you can safely use Convert.ToInt32(_optimize) + string _warnlevel = "0"; + + [BuildElement("sources")] + FileSet _sources = new FileSet(); + + NOTE: Attribute values must be of type of string if you want + to be able to have macros. The field stores the exact value during + InitializeTask. Just before ExecuteTask is called NAnt will expand + all the macros with the current values. + + + + + Initializes a new instance of the + with the specified attribute name. + + The name of the task attribute. + is a . + is a zero-length . + + + + Indicates that class should be treated as a task. + + + Attach this attribute to a subclass of Task to have NAnt be able + to recognize it. The name should be short but must not confict + with any other task already in use. + + + + + Initializes a new instance of the + with the specified name. + + The name of the task. + is . + is a zero-length . + + + + Functions as a chainable TextReader + + + Implements a abstraction over a TextReader that allows the class to represent + either a TextReader or another ChainableReader to which it is chained. + + By passing a ChainableReader as a constructor paramater it is possiable to + chain many ChainableReaders together. The last ChainableReader in the chain must + be based on a TextReader. + + + + + Models a NAnt XML element in the build file. + + + + Automatically validates attributes in the element based on attributes + applied to members in derived classes. + + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + from the specified element. + + The element that should be used to create a new instance of the class. + + + + Performs default initialization. + + + Derived classes that wish to add custom initialization should override + the method. + + + + + Logs a message with the given priority. + + The message priority at which the specified message is to be logged. + The message to be logged. + + The actual logging is delegated to the project. + + + + + Logs a message with the given priority. + + The message priority at which the specified message is to be logged. + The message to log, containing zero or more format items. + An array containing zero or more objects to format. + + The actual logging is delegated to the project. + + + + + Derived classes should override to this method to provide extra + initialization and validation not covered by the base class. + + The XML node of the element to use for initialization. + + + + Copies all instance data of the to a given + . + + + + + Performs initialization using the given set of properties. + + + + + Initializes all build attributes and child elements. + + + + + Locates the XML node for the specified attribute in the project + configuration node. + + The name of attribute for which the XML configuration node should be located. + The framework to use to obtain framework specific information, or if no framework specific information should be used. + + The XML configuration node for the specified attribute, or + if no corresponding XML node could be + located. + + + If there's a valid current framework, the configuration section for + that framework will first be searched. If no corresponding + configuration node can be located in that section, the framework-neutral + section of the project configuration node will be searched. + + + + + Returns the of the + assigned to the specified + . + + The of which the assigned should be retrieved. + + The assigned to the specified + or a null reference is no + is assigned to the . + + + + + Gets or sets the parent of the element. + + + The parent of the element. + + + This will be the parent , , or + depending on where the element is defined. + + + + + Gets the name of the XML element used to initialize this element. + + + The name of the XML element used to initialize this element. + + + + + Gets or sets the to which this element belongs. + + + The to which this element belongs. + + + + + Gets the properties local to this and the + . + + + The properties local to this and the . + + + + + Gets or sets the . + + + The . + + + The defines the current namespace + scope and provides methods for looking up namespace information. + + + + + Gets or sets the XML node of the element. + + + The XML node of the element. + + + + + Gets or sets the location in the build file where the element is + defined. + + + The location in the build file where the element is defined. + + + + + Gets a value indicating whether the element is performing additional + processing using the that was used to + initialize the element. + + + . + + + + Elements that need to perform additional processing of the + that was used to initialize the element, should + override this property and return . + + + When , no build errors will be reported for + unknown nested build elements. + + + + + + Configures an using meta-data provided by + assigned attributes. + + + + + Initializes a new instance of the + class for the given . + + The for which an should be created. + The to initialize the with. + The to use for property expansion. + The framework that the should target. + + is . + -or- + is . + -or- + is . + + + + + Creates a child using property set/get methods. + + The instance that represents the property of the current class. + The used to initialize the new instance. + The collection of property values to use for macro expansion. + The from which to obtain framework-specific information. + The child. + + + + Creates an for the given + . + + The for which an should be created. + + An for the given . + + + + + Holds the that should be initialized. + + + + + Holds the that should be used to initialize + the . + + + + + Holds the dictionary that should be used for property + expansion. + + + + + Holds the framework that should be targeted by the + that we're configuring, or + if there's no current target + framework. + + + + + Holds the names of the attributes that still need to be + processed. + + + + + Holds the names of the child nodes that still need to be + processed. + + + + + Holds the logger for the current class. + + + + + Holds the cache of instances. + + + + + Gets the . + + + The . + + + The defines the current namespace + scope and provides methods for looking up namespace information. + + + + + Internal interface used for setting element attributes. + + + + + Makes it so all calls to Read and Peek are passed the ChainableReader + passed as a parameter. + + ChainableReader to forward calls to + + + + Makes it so all calls to Read and Peek are passed the TextReader + passed as a parameter. + + TextReader to forward calls to + + + + Forwards Peek calls to the TextReader or ChainableReader passed in the corresponding constructor. + + Character or -1 if end of stream + + + + Forwards Read calls to the TextReader or ChainableReader passed in the corresponding constructor. + + + Character or -1 if end of stream. + + + + + Closes the reader. + + + + + Calls close and supresses the finalizer for the object. + + + + + Gets a value indicating if the reader is backed by a stream in the + chain. + + + if the reader is backed by a stream; + otherwise, . + + + + + Allows a file's content to be modified while performing an operation. + + + + + Called after construction and after properties are set. Allows + for filter initialization. + + + + + If then the filter will be used; otherwise, + skipped. The default is . + + + + + Opposite of . If + then the filter will be executed; otherwise, skipped. The default + is . + + + + + Creates a new instance of the class + for the specified Element class. + + The class representing the Element. + + + + Creates a new instance of the class + for the specified Element class in the assembly specified. + + The class representing the Element. + The assembly containing the Element./// + + + + Contains a strongly typed collection of objects. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with the specified instance. + + + + + Initializes a new instance of the class + with the specified array of instances. + + + + + Adds a to the end of the collection. + + The to be added to the end of the collection. + The position into which the new element was inserted. + + + + Adds the elements of a array to the end of the collection. + + The array of elements to be added to the end of the collection. + + + + Adds the elements of a to the end of the collection. + + The to be added to the end of the collection. + + + + Determines whether a is in the collection. + + The to locate in the collection. + + if is found in the + collection; otherwise, . + + + + + Determines whether a for the specified + task is in the collection. + + The name of task for which the should be located in the collection. + + if a for + the specified task is found in the collection; otherwise, + . + + + + + Copies the entire collection to a compatible one-dimensional array, starting at the specified index of the target array. + + The one-dimensional array that is the destination of the elements copied from the collection. The array must have zero-based indexing. + The zero-based index in at which copying begins. + + + + Retrieves the index of a specified object in the collection. + + The object for which the index is returned. + + The index of the specified . If the is not currently a member of the collection, it returns -1. + + + + + Inserts a into the collection at the specified index. + + The zero-based index at which should be inserted. + The to insert. + + + + Returns an enumerator that can iterate through the collection. + + + A for the entire collection. + + + + + Removes a member from the collection. + + The to remove from the collection. + + + + Gets or sets the element at the specified index. + + The zero-based index of the element to get or set. + + + + Gets the for the specified task. + + The name of the filter for which the should be located in the collection. + + + + Enumerates the elements of a . + + + + + Initializes a new instance of the class + with the specified . + + The collection that should be enumerated. + + + + Advances the enumerator to the next element of the collection. + + + if the enumerator was successfully advanced + to the next element; if the enumerator has + passed the end of the collection. + + + + + Sets the enumerator to its initial position, which is before the + first element in the collection. + + + + + Gets the current element in the collection. + + + The current element in the collection. + + + + + Represent a chain of NAnt filters that can be applied to a . + + + + A FilterChain represents a collection of one or more filters that can + be appled to a such as the . + In the case of the , the contents of the copied + files are filtered through each filter specified in the filter chain. + Filtering occurs in the order the filters are specified with filtered + output of one filter feeding into another. + + + :--------:--->:----------:--->:----------: ... :----------:--->:--------:
+ :.Source.:--->:.Filter 1.:--->:.Filter 2.: ... :.Filter n.:--->:.target.:
+ :--------:--->:----------:--->:----------: ... :----------:--->:--------:
+
+ + A list of all filters that come with NAnt is available here. + + + The following tasks support filtering with a FilterChain: + + + + + + + + + +
+ + + Replace all occurrences of @NOW@ with the current date/time and + replace tabs with spaces in all copied files. + + + + + + + + + + + + + + + ]]> + + +
+ + + Provides the abstract base class for types. + + + + + Should be overridden by derived classes. clones the referenced types + data into the current instance. + + + + + Copies all instance data of the to a given + . + + + + The ID used to be referenced later. + + + The ID to use as the reference. + + + + Gets a value indicating whether a reference to the type can be + defined. + + + Only types with an assigned + to it, can be referenced. + + + + + Gets the name of the datatype. + + + The name of the datatype. + + + + + Initializes all build attributes and child elements. + + + needs to maintain the order in which the + filters are specified in the build file. + + + + + Used to to instantiate and return the chain of stream based filters. + + The that is the source of input to the filter chain. + + The is the first + in the chain, which is based on a physical stream that feeds the chain. + + + The last in the chain. + + + + + The filters to apply. + + + + + The encoding to assume when filter-copying files. The default is + system's current ANSI code page. + + + + + Configurator that initializes filters in the order in which they've + been specified in the build file. + + + + + Contains a collection of elements. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with the specified instance. + + + + + Initializes a new instance of the class + with the specified array of instances. + + + + + Adds a to the end of the collection. + + The to be added to the end of the collection. + The position into which the new element was inserted. + + + + Adds the elements of a array to the end of the collection. + + The array of elements to be added to the end of the collection. + + + + Adds the elements of a to the end of the collection. + + The to be added to the end of the collection. + + + + Determines whether a is in the collection. + + The to locate in the collection. + + if is found in the + collection; otherwise, . + + + + + Copies the entire collection to a compatible one-dimensional array, starting at the specified index of the target array. + + The one-dimensional array that is the destination of the elements copied from the collection. The array must have zero-based indexing. + The zero-based index in at which copying begins. + + + + Retrieves the index of a specified object in the collection. + + The object for which the index is returned. + + The index of the specified . If the is not currently a member of the collection, it returns -1. + + + + + Inserts a into the collection at the specified index. + + The zero-based index at which should be inserted. + The to insert. + + + + Returns an enumerator that can iterate through the collection. + + + A for the entire collection. + + + + + Removes a member from the collection. + + The to remove from the collection. + + + + Gets or sets the element at the specified index. + + The zero-based index of the element to get or set. + + + + Enumerates the elements of a . + + + + + Initializes a new instance of the class + with the specified . + + The collection that should be enumerated. + + + + Advances the enumerator to the next element of the collection. + + + if the enumerator was successfully advanced + to the next element; if the enumerator has + passed the end of the collection. + + + + + Sets the enumerator to its initial position, which is before the + first element in the collection. + + + + + Gets the current element in the collection. + + + The current element in the collection. + + + + + Represents a physical . That is a reader based + on a stream. + + + Used by to represent a + based on a in the chain. + + + + + Parses NAnt properties and expressions + + + + This filter parses any NAnt properties or expressions found in its input, + inlining their values in its output. + + + Note: Due to limitations on buffering, expressions longer than 2048 + characters are not guaranteed to be expanded. + + Filters are intended to be used as a element of a . + + + Replace all properties with their corresponding values. + + + ]]> + + + + + + Holds data for expression expansion between input and output. + + + + + Called after construction and after properties are set. Allows + for filter initialization. + + + + + Reads the next character applying the filter logic. + + Char as an int or -1 if at the end of the stream + + + + Reads the next character applying the filter logic without advancing the current position in the stream. + + Char as an int or -1 if at the end of the stream + + + + Moves to the next character. + + + + + Refills the buffer, running our input through + .) + + + + + Determines whether we've passed the end of our data. + + + + + Replaces all occurrences of a given string in the original input with + user-supplied replacement string. + + + + This filter replaces all occurrences of a given string in the original + input stream with a user-supplied replacement string. By default string + comparisons are case sensitive but this can be changed by setting the + optional attribute to . + + + To use this filter specify the string to be replaced with the + attribute and the string to replace it with using the + attribute. + + + Filters are intended to be used as a element of a . + + + + + Replace all occurrences of "3.14" with "PI". + + + + ]]> + + + + + Replace all occurrences of "string", "String", etc. with "System.String". + + + + ]]> + + + + + + Construct that allows this filter to be chained to the one + in the parameter chainedReader. + + Filter that the filter will be chained to + + + + Reads the next character applying the filter logic. + + Char as an int or -1 if at the end of the stream + + + + Reads the next character applying the filter logic without + advancing the current position in the stream. + + Peek currently is not supported. + + + Char as an int or -1 if at the end of the stream. + + + + + + Helper function used to search for the filter's traget string. If the string + is found the result is true. If the string was not found false is returned and + nonMatchingChars contains the characters that were read to determine if the + string is present. + + + + It is assumed the stream is positioned at the character after the first character + in the target string. + + + First character in target string + Ture if the stream ended while search for the string. + Characters that were read while searching for the string. + + + + + Returns the next character in the stream replacing the specified character. Using the + allows for the same implementation for Read and Peek + + Delegate to acquire the next character. (Read/Peek) + Char as an int or -1 if at the end of the stream + + + + Compares to characters taking into account the _ignoreCase flag. + + + + + + + + The string to be replaced. + + + + + The new value for the replaced string. + Am empty string is permissible. + + + + + Determines if case will be ignored. + The default is . + + + + + Delegate for Read and Peek. Allows the same implementation + to be used for both methods. + + + + + Replaces tokens in the original input with user-supplied values. + + + + This filter replaces all token surrounded by a beginning and ending + token. The default beginning and ending tokens both default to '@'. The + optional and attributes + can be specified to change either token. By default string + comparisons are case sensitive but this can be changed by setting the + optional attribute to . + + + Tokens are specified by using the element. It is + possoble to specify from 1 to n tokens and replacement values. Values can + be any valid NAnt expression + + + Filters are intended to be used as a element of a . + + + + + Replace all occurrences of the string @DATE@ with the value of property + "TODAY". + + + + + + ]]> + + + + + Replace all occurrences of the string <DATE> with the value of + property "TODAY". + + + + + + ]]> + + + + + + Construct that allows this filter to be chained to the one + in the parameter chainedReader. + + Filter that the filter will be chained to + + + + Reads the next character applying the filter logic. + + Char as an int or -1 if at the end of the stream + + + + Reads the next character applying the filter logic without + advancing the current position in the stream. + + Peek currently is not supported. + + + Char as an int or -1 if at the end of the stream. + + + + + Initialize the filter by setting its parameters. + + + + + Finds a token give that we are positioned at a beginning token character. Either a + token replacement is returned or the characters that were read looking for the token. + + A token was not found + A token was found by there is no replacement + The stream ended while looking for the token + Either the replacement token or the characters that were read looking for the token + + + + Returns the next character in the stream replacing the specified character. Using the + allows for the same implementation for Read and Peek + + Delegate to acquire the next character. (Read/Peek) + Char as an int or -1 if at the end of the stream + + + + Compares to characters taking into account the _ignoreCase flag. + + + + + + + + Marks the beginning of a token. The default is "@". + + + + + Marks the end of a token. The default is "@". + + + + + Tokens and replacement values. + + + + + Determines if case will be ignored. + The default is . + + + + + Delegate for Read and Peek. Allows the same implementation + to be used for both methods. + + + + + Converts tabs to spaces. + + + + The filter replaces tabs in a text file + with spaces. + + + Filters are intended to be used as a element of a . + + + + Replace all tabs with four spaces. + + + ]]> + + + + + + Construct that allows this filter to be chained to the one + in the parameter chainedReader. + + Filter that the filter will be chained to + + + + Retrieves the next character with moving the position in the stream. + This method is not implemented + + -1 if end of stream otherwise a character + + + + Retrieves the next character in the stream. + + -1 if end of stream otherwise a character + + + + Returns the next character in the stream replacing the specified character. Using the + allows for the same implementation for Read and Peek + + Delegate to acquire the next character. (Read/Peek) + Char as an int or -1 if at the end of the stream + + + + The number of spaces used when converting a tab. The default is + "8". + + + + + Delegate for Read and Peek. Allows the same implementation + to be used for both methods. + + + + + Functions to return information for a given assembly. + + + + + Gets or sets the that this functionset will + reference. + + + The that this functionset will reference. + + + + + Loads an assembly given its file name or path. + + The name or path of the file that contains the manifest of the assembly. + + The loaded assembly. + + is an empty . + is not found, or the module you are trying to load does not specify a filename extension. + is not a valid assembly. + An assembly or module was loaded twice with two different evidences, or the assembly name is longer than MAX_PATH characters. + + + + Gets the full name of the assembly, also known as the display name. + + The assembly to get the full name for. + + The full name of the assembly, also known as the display name. + + + + + Gets an for the specified assembly. + + The assembly to get an for. + + An for the specified assembly. + + + + + + Gets the physical location, in codebase format, of the loaded file + that contains the manifest. + + The assembly to get the location for. + + The location of the specified assembly. + + + + + Functions that return information about an assembly's identity. + + + + + Gets the location of the assembly as a URL. + + The of the assembly. + + The location of the assembly as a URL. + + + + + + Gets the URI, including escape characters, that represents the codebase. + + The of the assembly. + + The URI, including escape characters, that represents the codebase. + + + + + + Gets the full name of the assembly, also known as the display name. + + The of the assembly. + + The full name of the assembly, also known as the display name. + + + + + + Gets the simple, unencrypted name of the assembly. + + The of the assembly. + + The simple, unencrypted name of the assembly. + + + + + + Gets the version of the assembly. + + The of the assembly. + + The version of the assembly. + + + + + + + Gets the for a given file. + + The assembly file for which to get the . + + An object representing the given file. + + is an empty . + does not exist. + is not a valid assembly. + + The assembly is not added to this domain. + + + + + Converts the specified string representation of a logical value to + its equivalent. + + A string containing the value to convert. + + if is equivalent to + "True"; otherwise, . + + is not equivalent to or . + + + + Converts the specified to its equivalent string + representation. + + A to convert. + + "True" if is , or + "False" if is . + + + + + Converts the argument to an integer. + + value to be converted + converted to integer. The function fails with an exception when the conversion is not possible. + + + + Converts the argument to double + + The value to be converted. + converted to double. The function fails with an exception when the conversion is not possible. + + + + Converts the argument to a string. + + The value to be converted. + + converted to string. The function fails + with an exception when the conversion is not possible. + + + Named method ConvertToString as a static ToString method would break + CLS compliance. + + + + + Converts the argument to a datetime. + + value to be converted + converted to datetime. The function fails with an exception when the conversion is not possible. + + + + Converts the argument to a boolean + + The string value to be converted to boolean. Must be 'true' or 'false'. + + converted to boolean. The function fails + with an exception when the conversion is not possible. + + + + + Gets a that is the current local date and + time on this computer. + + + A whose value is the current date and time. + + + + + Gets the year component of the specified date. + + The date of which to get the year component. + + The year, between 1 and 9999. + + + + + Gets the month component of the specified date. + + The date of which to get the month component. + + The month, between 1 and 12. + + + + + Gets the day of the month represented by the specified date. + + The date of which to get the day of the month. + + The day value, between 1 and 31. + + + + + Gets the hour component of the specified date. + + The date of which to get the hour component. + + The hour, between 0 and 23. + + + + + Gets the minute component of the specified date. + + The date of which to get the minute component. + + The minute, between 0 and 59. + + + + + Gets the seconds component of the specified date. + + The date of which to get the seconds component. + + The seconds, between 0 and 59. + + + + + Gets the milliseconds component of the specified date. + + The date of which to get the milliseconds component. + + The millisecond, between 0 and 999. + + + + + Gets the number of ticks that represent the specified date. + + The date of which to get the number of ticks. + + The number of ticks that represent the date and time of the + specified date. + + + + + Gets the day of the week represented by the specified date. + + The date of which to get the day of the week. + + The day of the week, ranging from zero, indicating Sunday, to six, + indicating Saturday. + + + + + Gets the day of the year represented by the specified date. + + The date of which to get the day of the year. + + The day of the year, between 1 and 366. + + + + + Returns the number of days in the specified month of the specified + year. + + The year. + The month (a number ranging from 1 to 12). + + The number of days in for the specified + . + + is less than 1 or greater than 12. + + + + Returns an indication whether the specified year is a leap year. + + A 4-digit year. + + if is a leap year; + otherwise, . + + + + + Converts the specified string representation of a date and time to + its equivalent. + + A string containing a date and time to convert. + + A equivalent to the date and time contained + in . + + does not contain a valid string representation of a date and time. + + The for the invariant culture is + used to supply formatting information about . + + + + + Converts the specified to its equivalent + string representation. + + A to convert. + + A string representation of formatted using + the general format specifier ("G"). + + + is formatted with the + for the invariant culture. + + + + + Returns the creation date and time of the specified directory. + + The directory for which to obtain creation date and time information. + + The creation date and time of the specified directory. + + The specified directory does not exist. + is a zero-length string, contains only white space, or contains one or more invalid characters. + The specified path, file name, or both exceed the system-defined maximum length. + + + + Gets the current working directory. + + + A containing the path of the current working + directory. + + + + + Returns the date and time the specified directory was last written to. + + The directory for which to obtain write date and time information. + + The date and time the specified directory was last written to. + + The specified directory does not exist. + is a zero-length string, contains only white space, or contains one or more invalid characters. + The specified path, file name, or both exceed the system-defined maximum length. + + + + Returns the date and time the specified directory was last accessed. + + The directory for which to obtain access date and time information. + + The date and time the specified directory was last accessed. + + The specified directory does not exist. + is a zero-length string, contains only white space, or contains one or more invalid characters. + The specified path, file name, or both exceed the system-defined maximum length. + The parameter is in an invalid format. + + + + Retrieves the parent directory of the specified path. + + The path for which to retrieve the parent directory. + + The parent directory, or an empty if + is the root directory, including the root + of a UNC server or share name. + + The directory specified by is read-only. + is a zero-length string, contains only white space, or contains one or more invalid characters. + The specified path, file name, or both exceed the system-defined maximum length. + The specified path was not found. + + + Copy "readme.txt" from the current working directory to + its parent directory. + + + + + + ]]> + + + + + + Returns the volume information, root information, or both for the + specified path. + + The path for which to retrieve the parent directory. + + A string containing the volume information, root information, or + both for the specified path. + + is a zero-length string, contains only white space, or contains one or more invalid characters. + The specified path, file name, or both exceed the system-defined maximum length. + + + + Determines whether the given path refers to an existing directory + on disk. + + The path to test. + + if refers to an + existing directory; otherwise, . + + + Remove directory "test", if it exists. + + + ]]> + + + + + + Converts the specified string representation of a number to its + double-precision floating point number equivalent. + + A string containing a number to convert. + + A double-precision floating point number equivalent to the numeric + value or symbol specified in . + + is not a number in a valid format. + represents a number less than or greater than . + + The for the invariant culture is + used to supply formatting information about . + + + + + Converts the specified to its equivalent + string representation. + + A to convert. + + The string representation of formatted + using the general format specifier ("G"). + + + is formatted with the + for the invariant culture. + + + + + Provide information about the current environment and platform. + + + + + Gets the path to the system special folder identified by the + specified enumeration. + + An enumerated constant that identifies a system special folder. + + The path to the specified system special folder, if that folder + physically exists on your computer; otherwise, the empty string (""). + + is not a member of . + + + Copy "out.log" from the project base directory to the + program files directory. + + + + ]]> + + + + + + Gets the NetBIOS name of this local computer. + + + The NetBIOS name of this local computer. + + The name of this computer cannot be obtained. + + + + Gets an object that represents the + current operating system. + + + An object that contains the current + platform identifier and version number. + + + + Output string representation of the current operating system. + + + + ]]> + + If the operating system is Windows 2000, the output is: + + Microsoft Windows NT 5.0.2195.0 + + + + + + + Gets the user name of the person who started the current thread. + + + The name of the person logged on to the system who started the + current thread. + + + + Modify the home directory of the current user on unix-based systems. + + + + + + + + ]]> + + + + + + Returns the value of the specified environment variable. + + The environment variable of which the value should be returned. + + The value of the specified environment variable. + + Environment variable does not exist. + + + + Gets a value indicating whether the specified environment variable + exists. + + The environment variable that should be checked. + + if the environment variable exists; otherwise, + . + + + + Execute a set of tasks only if the "BUILD_DEBUG" environment + variable is set. + + + + ... + + ]]> + + + + + + Gets a object that describes the major, + minor, build, and revision numbers of the Common Language Runtime. + + + A Version object. + + + Output the major version of the CLR. + + + ]]> + + + + + + Returns the creation date and time of the specified file. + + The file for which to obtain creation date and time information. + + The creation date and time of the specified file. + + The specified file does not exist. + is a zero-length string, contains only white space, or contains one or more invalid characters. + The specified path, file name, or both exceed the system-defined maximum length. + The parameter is in an invalid format. + + + + Returns the date and time the specified file was last written to. + + The file for which to obtain write date and time information. + + The date and time the specified file was last written to. + + The specified file does not exist. + is a zero-length string, contains only white space, or contains one or more invalid characters. + The specified path, file name, or both exceed the system-defined maximum length. + + + + Returns the date and time the specified file was last accessed. + + The file for which to obtain access date and time information. + + The date and time the specified file was last accessed. + + The specified file does not exist. + is a zero-length string, contains only white space, or contains one or more invalid characters. + The specified path, file name, or both exceed the system-defined maximum length. + The parameter is in an invalid format. + + + + Determines whether the specified file exists. + + The file to check. + + if refers to an + existing file; otherwise, . + + + Execute a set of tasks, if file "output.xml" does not exist. + + + ... + + ]]> + + + + + + Determines whether is more or equal + up-to-date than . + + The file to check against the target file. + The file for which we want to determine the status. + + if is more + or equal up-to-date than ; otherwise, + . + + or is a zero-length string, contains only white space, or contains one or more invalid characters. + The specified path, file name, or both of either or exceed the system-defined maximum length. + + + + Gets the length of the file. + + filename + + Length in bytes, of the file named . + + The file specified cannot be found. + + + + Checks if a given file is an assembly. + + The name or path of the file to be checked. + True if the file is a valid assembly, false if it's not or if the assembly seems corrupted (invalid headers or metadata). + is a null . + is an empty . + is not found, or the file you are trying to check does not specify a filename extension. + The caller does not have path discovery permission. + The file could not be loaded for some reason. + + + + Functions that provide version information for a physical file on disk. + + + + + Returns a representing the version + information associated with the specified file. + + The file to retrieve the version information for. + + A containing information about the file. + + The file specified cannot be found. + + + + Gets the name of the company that produced the file. + + A instance containing version information about a file. + + The name of the company that produced the file. + + + + + Gets the file version of a file. + + A instance containing version information about a file. + + The file version of a file. + + + + + + Gets the name of the product the file is distributed with. + + A instance containing version information about a file. + + The name of the product the file is distributed with. + + + + + Gets the product version of a file. + + A instance containing version information about a file. + + The product version of a file. + + + + + + Converts the specified string representation of a number to its + 32-bit signed integer equivalent. + + A string containing a number to convert. + + A 32-bit signed integer equivalent to the number contained in + . + + is not of the correct format. + represents a number less than or greater than . + + The for the invariant culture is + used to supply formatting information about . + + + + + Converts the specified to its equivalent string + representation. + + A to convert. + + The string representation of , consisting + of a negative sign if the value is negative, and a sequence of + digits ranging from 0 to 9 with no leading zeroes. + + + is formatted with the + for the invariant culture. + + + + + Converts the specified string representation of a number to its + 64-bit signed integer equivalent. + + A string containing a number to convert. + + A 64-bit signed integer equivalent to the number contained in + . + + is not of the correct format. + represents a number less than or greater than . + + The for the invariant culture is + used to supply formatting information about . + + + + + Converts the specified to its equivalent string + representation. + + A to convert. + + The string representation of , consisting + of a negative sign if the value is negative, and a sequence of + digits ranging from 0 to 9 with no leading zeroes. + + + is formatted with the + for the invariant culture. + + + + + Rounds the value to the nearest whole number + + Number to be rounded, can be anything convertible to a double. + + Rounded value. + + + + + Returns the largest whole number less than or equal to the specified + number. + + value to be , can be anything convertible to a double + + The largest whole number less than or equal to the specified number. + + + + + Returns the smallest whole number greater than or equal to the specified number + + value + + The smallest whole number greater than or equal to the specified number. + + + + + Returns the absolute value of the specified number + + value to take the absolute value from + + when is greater + than or equal to zero; otherwise, -. + + + + + Gets the base directory of the appdomain in which NAnt is running. + + + The base directory of the appdomain in which NAnt is running. + + + + + Gets the NAnt assembly. + + + The NAnt assembly. + + + + + Gets the name of the current project. + + + The name of the current project, or an empty + if no name is specified in the build file. + + + + + Gets the form of the build file. + + + The form of the build file, or + an empty if the project is not file backed. + + + + + Gets the local path to the build file. + + + The local path of the build file, or an empty + if the project is not file backed. + + + + + Gets the name of the target that will be executed when no other + build targets are specified. + + + The name of the target that will be executed when no other build + targets are specified, or an empty if no + default target is defined for the project. + + + + + Gets the base directory of the current project. + + + The base directory of the current project. + + + + + Checks whether the specified target exists. + + The target to test. + + if the specified target exists; otherwise, + . + + + + + Gets the name of the target being executed. + + + A that contains the name of the target + being executed. + + No target is being executed. + + + + Checks whether the specified target has already been executed. + + The target to test. + + if the specified target has already been + executed; otherwise, . + + Target does not exist. + + + + Checks whether the specified task exists. + + The task to test. + + if the specified task exists; otherwise, + . + + + + + Returns the filename of the assembly from which the specified task + was loaded. + + The task to get the location of. + + The filename of the assembly from which the specified task was + loaded. + + Task is not available. + + + + Checks whether the specified property exists. + + The property to test. + + if the specified property exists; otherwise, + . + + + Check whether the "debug" property exists. + property::exists('debug') + + + + + Checks whether the specified property is read-only. + + The property to test. + + if the specified property is read-only; + otherwise, . + + + Check whether the "debug" property is read-only. + property::is-readonly('debug') + + Property has not been set. + + + + Checks whether the specified property is a dynamic property. + + The property to test. + + if the specified property is a dynamic + property; otherwise, . + + Property has not been set. + + + Check whether the "debug" property is a dynamic property. + + property::is-dynamic('debug') + + + + + Checks whether the specified framework exists. + + The framework to test. + + if the specified framework exists; otherwise, + . + + + + + Checks whether the SDK for the specified framework is installed. + + The framework to test. + + if the SDK for specified framework is installed; + otherwise, . + + + + + + + Gets the identifier of the current target framework. + + + The identifier of the current target framework. + + + + + Gets the identifier of the runtime framework. + + + The identifier of the runtime framework. + + + + + Gets the family of the specified framework. + + The framework of which the family should be returned. + + The family of the specified framework. + + is not a valid framework identifier. + + + + + + Gets the version of the specified framework. + + The framework of which the version should be returned. + + The version of the specified framework. + + is not a valid framework identifier. + + + + + + Gets the description of the specified framework. + + The framework of which the description should be returned. + + The description of the specified framework. + + is not a valid framework identifier. + + + + + + Gets the Common Language Runtime version of the specified framework. + + The framework of which the Common Language Runtime version should be returned. + + The Common Language Runtime version of the specified framework. + + is not a valid framework identifier. + + + + + + Gets the framework directory of the specified framework. + + The framework of which the framework directory should be returned. + + The framework directory of the specified framework. + + is not a valid framework identifier. + + + + + + Gets the assembly directory of the specified framework. + + The framework of which the assembly directory should be returned. + + The assembly directory of the specified framework. + + is not a valid framework identifier. + + + + + + Gets the SDK directory of the specified framework. + + The framework of which the SDK directory should be returned. + + The SDK directory of the specified framework, or an empty + if the SDK of the specified framework is not + installed. + + is not a valid framework identifier. + + + + + + Gets the runtime engine of the specified framework. + + The framework of which the runtime engine should be returned. + + The full path to the runtime engine of the specified framework, or + an empty if no runtime engine is defined + for the specified framework. + + is not a valid framework identifier. + + + + + + Checks whether the specified framework is valid. + + The framework to check. + is not a valid framework identifier. + + + + Gets the name of the platform on which NAnt is running. + + + The name of the platform on which NAnt is running. + + + + + Checks whether NAnt is running on the win32 platform. + + + if NAnt is running on the win32 platform; + otherwise, . + + + + + Checks whether NAnt is running on unix. + + + if NAnt is running on unix; + otherwise, . + + + + + Functions that return information about an operating system. + + + + + Gets a value that identifies the operating + system platform. + + The operating system. + + value that identifies the operating system + platform. + + + + + + Gets a object that identifies this operating + system. + + The operating system. + + A object that describes the major version, + minor version, build, and revision of the operating system. + + + + + + Converts the value of the specified operating system to its equivalent + representation. + + The operating system. + + The representation of + . + + + + Output string representation of the current operating system. + + + + ]]> + + If the operating system is Windows 2000, the output is: + + Microsoft Windows NT 5.0.2195.0 + + + + + + + Returns the fully qualified path. + + The file or directory for which to obtain absolute path information. + + A string containing the fully qualified location of , + such as "C:\MyFile.txt". + + is a zero-length string, contains only white space, or contains one or more invalid characters. + contains a colon (":"). + The specified path, file name, or both exceed the system-defined maximum length. + + + + Combines two paths. + + first path + second path + + A string containing the combined paths. If one of the specified paths + is a zero-length string, this method returns the other path. If + contains an absolute path, this method + returns . + + or contain one or more invalid characters. + + + + Changes the extension of the path string. + + The path information to modify. The path cannot contain any of the characters + defined in InvalidPathChars. + The new extension (with a leading period). Specify a null reference + to remove an existing extension from . + + + A string containing the modified path information. + + + On Windows-based desktop platforms, if is + an empty , the path information is returned + unmodified. If has no extension, the returned + path contains + appended to the end of . + + + + For more information see the documentation. + + contains one or more invalid characters. + + + + Returns the directory information for the specified path string. + + The path of a file or directory. + + A containing directory information for + , or an empty if + denotes a root directory, or does not + contain directory information. + + contains invalid characters, is empty, or contains only white spaces. + + + + Returns the extension for the specified path string. + + The path string from which to get the extension. + + A containing the extension of the specified + (including the "."), or an empty + if does not have + extension information. + + contains one or more invalid characters. + + + + Returns the filename for the specified path string. + + The path string from which to obtain the file name and extension. + + + A consisting of the characters after the last + directory character in path. + + + If the last character of is a directory or + volume separator character, an empty is returned. + + + contains one or more invalid characters. + + + + Returns the filename without extension for the specified path string. + + The path of the file. + + A containing the returned + by , minus the last period (.) and all + characters following it. + + contains one or more invalid characters. + + + + Gets the root directory of the specified path. + + The path from which to obtain root directory information. + + A containing the root directory of + , such as "C:\", or an empty + if does not contain root directory information. + + contains invalid characters, or is empty. + + + + Returns a uniquely named zero-byte temporary file on disk and returns the full path to that file. + + + A containing the name of the temporary file. + + + + + Gets the path to the temporary directory. + + + A containing the path information of a + temporary directory. + + + + + Determines whether a path string includes an extension. + + The path to search for an extension. + + . if the characters that follow the last + directory separator or volume separator in the + include a period (.) followed by one or more characters; + otherwise, . + + contains one or more invalid characters. + + + + Determines whether a path string is absolute. + + The path to test. + + if path contains an absolute ; + otherwise, . + + contains one or more invalid characters. + + + + Gets the value of a variable for the specified package. + + The package for which the variable should be retrieved. + The name of the variable. + + The value of variable for the specified + package. + + pkg-config could not be started. + does not exist. + + + + Gets the link flags required to compile the package, including all + its dependencies. + + The package for which the link flags should be retrieved. + + The link flags required to compile the package. + + pkg-config could not be started. + does not exist. + + + + Gets the compile flags required to compile the package, including all + its dependencies. + + The package for which the compile flags should be retrieved. + + The pre-processor and compile flags required to compile the package. + + pkg-config could not be started. + does not exist. + + + + Determines the version of the given package. + + The package to get the version of. + + The version of the given package. + + pkg-config could not be started. + does not exist. + + + + Determines whether the given package is at least version + . + + The package to check. + The version the package should at least have. + + if the given package is at least version + ; otherwise, . + + pkg-config could not be started. + + + + Determines whether the given package is exactly version + . + + The package to check. + The version the package should have. + + if the given package is exactly version + ; otherwise, . + + pkg-config could not be started. + + + + Determines whether the given package is at no newer than version + . + + The package to check. + The version the package should maximum have. + + if the given package is at no newer than + version ; otherwise, . + + pkg-config could not be started. + + + + Determines whether the given package is between two versions. + + The package to check. + The version the package should at least have. + The version the package should maximum have. + + if the given package is between + and ; otherwise, . + + pkg-config could not be started. + + + + Determines whether the given package exists. + + The package to check. + + if the package exists; otherwise, + . + + pkg-config could not be started. + + + + Runs pkg-config with the specified arguments and returns a + based on the exit code. + + The arguments to pass to pkg-config. + + if pkg-config exited with exit code 0; + otherwise, + + + + + Runs pkg-config with the specified arguments and returns the result + as a . + + The arguments to pass to pkg-config. + + The result of running pkg-config with the specified arguments. + + + + + Factory method to return a new instance of ExecTask + + + + + + + Returns the length of the specified string. + + input string + + The string's length. + + + string::get-length('foo') ==> 3 + + + string::get-length('') ==> 0 + + + + + Returns a substring of the specified string. + + input string + position of the start of the substring + the length of the substring + + + If the is greater than zero, the + function returns a substring starting at character position + with a length of + characters. + + + If the is equal to zero, the function + returns an empty string. + + + or is less than zero. + is greater than the length of . + plus indicates a position not within . + + string::substring('testing string', 0, 4) ==> 'test' + + + string::substring('testing string', 8, 3) ==> 'str' + + + string::substring('testing string', 8, 0) ==> '' + + + string::substring('testing string', -1, 5) ==> ERROR + + + string::substring('testing string', 8, -1) ==> ERROR + + + string::substring('testing string', 5, 17) ==> ERROR + + + + + Tests whether the specified string starts with the specified prefix + string. + + test string + prefix string + + when is a prefix for + the string . Meaning, the characters at the + beginning of are identical to + ; otherwise, . + + + This function performs a case-sensitive word search using the + invariant culture. + + + string::starts-with('testing string', 'test') ==> true + + + string::starts-with('testing string', 'testing') ==> true + + + string::starts-with('testing string', 'string') ==> false + + + string::starts-with('test', 'testing string') ==> false + + + + + Tests whether the specified string ends with the specified suffix + string. + + test string + suffix string + + when is a suffix for + the string . Meaning, the characters at the + end of are identical to + ; otherwise, . + + + This function performs a case-sensitive word search using the + invariant culture. + + + string::ends-with('testing string', 'string') ==> true + + + string::ends-with('testing string', '') ==> true + + + string::ends-with('testing string', 'bring') ==> false + + + string::ends-with('string', 'testing string') ==> false + + + + + Returns the specified string converted to lowercase. + + input string + + The string in lowercase. + + + The casing rules of the invariant culture are used to convert the + to lowercase. + + + string::to-lower('testing string') ==> 'testing string' + + + string::to-lower('Testing String') ==> 'testing string' + + + string::to-lower('Test 123') ==> 'test 123' + + + + + Returns the specified string converted to uppercase. + + input string + + The string in uppercase. + + + The casing rules of the invariant culture are used to convert the + to uppercase. + + + string::to-upper('testing string') ==> 'TESTING STRING' + + + string::to-upper('Testing String') ==> 'TESTING STRING' + + + string::to-upper('Test 123') ==> 'TEST 123' + + + + + Returns a string corresponding to the replacement of a given string + with another in the specified string. + + input string + A to be replaced. + A to replace all occurrences of . + + A equivalent to but + with all instances of replaced with + . + + is an empty string. + + This function performs a word (case-sensitive and culture-sensitive) + search to find . + + + string::replace('testing string', 'test', 'winn') ==> 'winning string' + + + string::replace('testing string', 'foo', 'winn') ==> 'testing string' + + + string::replace('testing string', 'ing', '') ==> 'test str' + + + string::replace('banana', 'ana', 'ana') ==> 'banana' + + + + + Tests whether the specified string contains the given search string. + + The string to search. + The string to locate within . + + if is found in + ; otherwise, . + + + This function performs a case-sensitive word search using the + invariant culture. + + + string::contains('testing string', 'test') ==> true + + + string::contains('testing string', '') ==> true + + + string::contains('testing string', 'Test') ==> false + + + string::contains('testing string', 'foo') ==> false + + + + + Returns the position of the first occurrence in the specified string + of the given search string. + + The string to search. + The string to locate within . + + + The lowest-index position of in + if it is found, or -1 if + does not contain . + + + If is an empty string, the return value + will always be 0. + + + + This function performs a case-sensitive word search using the + invariant culture. + + + string::index-of('testing string', 'test') ==> 0 + + + string::index-of('testing string', '') ==> 0 + + + string::index-of('testing string', 'Test') ==> -1 + + + string::index-of('testing string', 'ing') ==> 4 + + + + + Returns the position of the last occurrence in the specified string + of the given search string. + + The string to search. + The string to locate within . + + + The highest-index position of in + if it is found, or -1 if + does not contain . + + + If is an empty string, the return value + is the last index position in . + + + + This function performs a case-sensitive word search using the + invariant culture. + + + string::last-index-of('testing string', 'test') ==> 0 + + + string::last-index-of('testing string', '') ==> 0 + + + string::last-index-of('testing string', 'Test') ==> -1 + + + string::last-index-of('testing string', 'ing') ==> 4 + + + + + Returns the given string left-padded to the given length. + + The that needs to be left-padded. + The number of characters in the resulting string, equal to the number of original characters plus any additional padding characters. + A Unicode padding character. + + If the length of is at least + , then a new identical + to is returned. Otherwise, + will be padded on the left with as many + characters as needed to create a length of . + + is less than zero. + + Note that only the first character of + will be used when padding the result. + + + string::pad-left('test', 10, ' ') ==> ' test' + + + string::pad-left('test', 10, 'test') ==> 'tttttttest' + + + string::pad-left('test', 3, ' ') ==> 'test' + + + string::pad-left('test', -4, ' ') ==> ERROR + + + + + Returns the given string right-padded to the given length. + + The that needs to be right-padded. + The number of characters in the resulting string, equal to the number of original characters plus any additional padding characters. + A Unicode padding character. + + If the length of is at least + , then a new identical + to is returned. Otherwise, + will be padded on the right with as many + characters as needed to create a length of . + + is less than zero. + + Note that only the first character of + will be used when padding the result. + + + string::pad-right('test', 10, ' ') ==> 'test ' + + + string::pad-right('test', 10, 'abcd') ==> 'testaaaaaa' + + + string::pad-right('test', 3, ' ') ==> 'test' + + + string::pad-right('test', -3, ' ') ==> ERROR + + + + + Returns the given string trimmed of whitespace. + + input string + + The string with any leading or trailing + white space characters removed. + + + string::trim(' test ') ==> 'test' + + + string::trim('\t\tfoo \r\n') ==> 'foo' + + + + + Returns the given string trimmed of leading whitespace. + + input string + + The string with any leading + whites pace characters removed. + + + string::trim-start(' test ') ==> 'test ' + + + string::trim-start('\t\tfoo \r\n') ==> 'foo \r\n' + + + + + Returns the given string trimmed of trailing whitespace. + + input string + + The string with any trailing + white space characters removed. + + + string::trim-end(' test ') ==> ' test' + + + string::trim-end('\t\tfoo \r\n') ==> '\t\tfoo' + + + + + Returns the total number of days represented by the specified + , expressed in whole and fractional days. + + A . + + The total number of days represented by the given . + + + + + Returns the total number of hours represented by the specified + , expressed in whole and fractional hours. + + A . + + The total number of hours represented by the given . + + + + + Returns the total number of minutes represented by the specified + , expressed in whole and fractional minutes. + + A . + + The total number of minutes represented by the given . + + + + + Returns the total number of seconds represented by the specified + , expressed in whole and fractional seconds. + + A . + + The total number of seconds represented by the given . + + + + + Returns the total number of milliseconds represented by the specified + , expressed in whole and fractional milliseconds. + + A . + + The total number of milliseconds represented by the given + . + + + + + Returns the number of whole days represented by the specified + . + + A . + + The number of whole days represented by the given + . + + + + + Returns the number of whole hours represented by the specified + . + + A . + + The number of whole hours represented by the given + . + + + + + Returns the number of whole minutes represented by the specified + . + + A . + + The number of whole minutes represented by the given + . + + + + + Returns the number of whole seconds represented by the specified + . + + A . + + The number of whole seconds represented by the given + . + + + + + Returns the number of whole milliseconds represented by the specified + . + + A . + + The number of whole milliseconds represented by the given + . + + + + + Returns the number of ticks contained in the specified + . + + A . + + The number of ticks contained in the given . + + + + + Returns a that represents a specified number + of days, where the specification is accurate to the nearest millisecond. + + A number of days, accurate to the nearest millisecond. + + A that represents . + + + + + Returns a that represents a specified number + of hours, where the specification is accurate to the nearest + millisecond. + + A number of hours, accurate to the nearest millisecond. + + A that represents . + + + + + Returns a that represents a specified number + of minutes, where the specification is accurate to the nearest + millisecond. + + A number of minutes, accurate to the nearest millisecond. + + A that represents . + + + + + Returns a that represents a specified number + of seconds, where the specification is accurate to the nearest + millisecond. + + A number of seconds, accurate to the nearest millisecond. + + A that represents . + + + + + Returns a that represents a specified number + of milliseconds. + + A number of milliseconds. + + A that represents . + + + + + Returns a that represents a specified time, + where the specification is in units of ticks. + + A number of ticks that represent a time. + + A that represents . + + + + + Constructs a from a time indicated by a + specified string. + + A string. + + A that corresponds to . + + has an invalid format. + At least one of the hours, minutes, or seconds components is outside its valid range. + + + + Converts the specified to its equivalent + string representation. + + A to convert. + + The string representation of . The format + of the return value is of the form: [-][d.]hh:mm:ss[.ff]. + + + + + Gets the value of the major component of a given version. + + A version. + + The major version number. + + + + + + + + Gets the value of the minor component of a given version. + + A version. + + The minor version number. + + + + + + + + Gets the value of the build component of a given version. + + A version. + + The build number, or -1 if the build number is undefined. + + + + + + + + Gets the value of the revision component of a given version. + + A version. + + The revision number, or -1 if the revision number is undefined. + + + + + + + + Converts the specified string representation of a version to + its equivalent. + + A string containing the major, minor, build, and revision numbers, where each number is delimited with a period character ('.'). + + A instance representing the specified + . + + has fewer than two components or more than four components. + A major, minor, build, or revision component is less than zero. + At least one component of does not parse to a decimal integer. + + + + Converts the specified to its equivalent + string representation. + + A to convert. + + The string representation of the values of the major, minor, build, + and revision components of the specified . + + + + + + + + Changes the file attributes of a file or set of files and directories. + + + + does not have the concept of turning + attributes off. Instead you specify all the attributes that you want + turned on and the rest are turned off by default. + + + Refer to the enumeration in the .NET SDK + for more information about file attributes. + + + + + Set the read-only file attribute for the specified file in + the project directory. + + + + ]]> + + + + + Set the normal file attribute for the specified file. + + + + ]]> + + + + + Set the normal file attribute for all executable files in + the current project directory and sub-directories. + + + + + + + + + ]]> + + + + + + Provides the abstract base class for tasks. + + + A task is a piece of code that can be executed. + + + + + Executes the task unless it is skipped. + + + + + Logs a message with the given priority. + + The message priority at which the specified message is to be logged. + The message to be logged. + + + The actual logging is delegated to the project. + + + If the attribute is set on the task and a + message is logged with level , the + priority of the message will be increased to . + when the threshold of the build log is . + + + This will allow individual tasks to run in verbose mode while + the build log itself is still configured with threshold + . + + + + + + Logs a formatted message with the given priority. + + The message priority at which the specified message is to be logged. + The message to log, containing zero or more format items. + An array containing zero or more objects to format. + + + The actual logging is delegated to the project. + + + If the attribute is set on the task and a + message is logged with level , the + priority of the message will be increased to . + when the threshold of the build log is . + + + This will allow individual tasks to run in verbose mode while + the build log itself is still configured with threshold + . + + + + + + Determines whether build output is enabled for the given + . + + The to check. + + if messages with the given + will be output in the build log; otherwise, . + + + + + Initializes the configuration of the task using configuration + settings retrieved from the NAnt configuration file. + + + TO-DO : Remove this temporary hack when a permanent solution is + available for loading the default values from the configuration + file if a build element is constructed from code. + + + + Deprecated (to be deleted). + + + Initializes the task. + + + Executes the task. + + + + Determines if task failure stops the build, or is just reported. + The default is . + + + + + Determines whether the task should report detailed build log messages. + The default is . + + + + + If then the task will be executed; otherwise, + skipped. The default is . + + + + + Opposite of . If + then the task will be executed; otherwise, skipped. The default is + . + + + + + The name of the task. + + + + + The prefix used when sending messages to the log. + + + + + Gets or sets the log threshold for this . By + default the threshold of a task matches the threshold of the project. + + + The log threshold level for this . + + + Setting the threshold of a higher than the + threshold of the its does not have any + effect. + + + + + The name of the file which will have its attributes set. This is + provided as an alternate to using the task's fileset. + + + + + All the matching files and directories in this fileset will have + their attributes set. + + + + + Set the archive attribute. The default is . + + + + + Set the hidden attribute. The default is . + + + + + Set the normal file attributes. This attribute is only valid if used + alone. The default is . + + + + + Set the read-only attribute. The default is . + + + + + Set the system attribute. The default is . + + + + + Checks if a resource is available at runtime. + + + + The specified property is set to if the + requested resource is available at runtime, and + if the resource is not available. + + + we advise you to use the following functions instead: + + + + Function + Description + + + + Determines whether the specified file exists. + + + + Determines whether the given path refers to an existing directory on disk. + + + + Checks whether the specified framework exists.. + + + + Checks whether the SDK for the specified framework is installed. + + + + + + Sets the myfile.present property to if the + file is available on the filesystem and if the + file is not available. + + + + ]]> + + + + + Sets the build.dir.present property to + if the directory is available on the filesystem and + if the directory is not available. + + + + ]]> + + + + + Sets the mono-0.21.framework.present property to + if the Mono 0.21 framework is available on the current system and + if the framework is not available. + + + + ]]> + + + + + Sets the net-1.1.frameworksdk.present property to + if the .NET 1.1 Framework SDK is available on the current system and + if the SDK is not available. + + + + ]]> + + + + + + Executes the task. + + + + Sets the property identified by to + when the resource exists and to + when the resource doesn't exist. + + + The availability of the resource could not be evaluated. + + + + Evaluates the availability of a resource. + + + if the resource is available; otherwise, + . + + The availability of the resource could not be evaluated. + + + + Checks if the file specified in the property is + available on the filesystem. + + + when the file exists; otherwise, . + + + + + Checks if the directory specified in the + property is available on the filesystem. + + + when the directory exists; otherwise, . + + + + + Checks if the framework specified in the + property is available on the current system. + + + when the framework is available; otherwise, + . + + + + + Checks if the SDK for the framework specified in the + property is available on the current system. + + + when the SDK for the specified framework is + available; otherwise, . + + + + + The resource which must be available. + + + + + The type of resource which must be present. + + + + + The property that must be set if the resource is available. + + + + + Defines the possible resource checks. + + + + + Determines whether a given file exists. + + + + + Determines whether a given directory exists. + + + + + Determines whether a given framework is available. + + + + + Determines whether a given SDK is available. + + + + + Calls a NAnt target in the current project. + + + + When the is used to execute a target, both that + target and all its dependent targets will be re-executed. + + + To avoid dependent targets from being executed more than once, an "unless" + attribute with value "${target::has-executed('<target name>')}" + should be added to the dependent targets. + + + + + Call the target "build". + + + + ]]> + + + + + This shows how a project could 'compile' a debug and release build + using a common compile target. + + + + + + + + + + + + + + + + + + ]]> + + + + + + Executes the specified target. + + + + + Makes sure the is not calling its own + parent. + + The task XML node. + + + + NAnt target to call. + + + + + Force an execute even if the target has already been executed. The + default is . + + + + + Cascade all the specified targets dependencies. The + default is . + + + + + Copies a file or set of files to a new file or directory. + + + + Files are only copied if the source file is newer than the destination + file, or if the destination file does not exist. However, you can + explicitly overwrite files with the attribute. + + + When a is used to select files to copy, the + attribute must be set. Files that are + located under the base directory of the will + be copied to a directory under the destination directory matching the + path relative to the base directory of the , + unless the attribute is set to + . + + + Files that are not located under the the base directory of the + will be copied directly under to the destination + directory, regardless of the value of the + attribute. + +

Encoding

+ + Unless an encoding is specified, the encoding associated with the + system's current ANSI code page is used. + + + An UTF-8, little-endian Unicode, and big-endian Unicode encoded text + file is automatically recognized, if the file starts with the + appropriate byte order marks. + + + If you employ filters in your copy operation, you should limit the copy + to text files. Binary files will be corrupted by the copy operation. + +
+ + + Copy a single file while changing its encoding from "latin1" to + "utf-8". + + + + ]]> + + + + Copy a set of files to a new directory. + + + + + + + ]]> + + + + + Copy a set of files to a directory, replacing @TITLE@ with + "Foo Bar" in all files. + + + + + + + + + + + + + ]]> + + +
+ + + Initialize new instance of the . + + + + + Checks whether the task is initialized with valid attributes. + + The used to initialize the task. + + + + Executes the Copy task. + + A file that has to be copied does not exist or could not be copied. + + + + Actually does the file copies. + + + + + The file to copy. + + + + + The file to copy to. + + + + + The directory to copy to. + + + + + Overwrite existing files even if the destination files are newer. + The default is . + + + + + Ignore directory structure of source directory, copy all files into + a single directory, specified by the + attribute. The default is . + + + + + Copy any empty directories included in the . + The default is . + + + + + Used to select the files to copy. To use a , + the attribute must be set. + + + + + Chain of filters used to alter the file's content as it is copied. + + + + + The encoding to use when reading files. The default is the system's + current ANSI code page. + + + + + The encoding to use when writing the files. The default is + the encoding of the input file. + + + + + The set of files to perform a file operation on. + + + + The key of the is the absolute path of + the destination file and the value is a + holding the path and last write time of the most recently updated + source file that is selected to be copied or moved to the + destination file. + + + On Windows, the is case-insensitive. + + + + + + Holds the absolute paths and last write time of a given file. + + + + + Initializes a new instance of the + class for the specified file and last write time. + + The absolute path of the file. + The last write time of the file. + + + + Gets the absolute path of the current file. + + + The absolute path of the current file. + + + + + Gets the time when the current file was last written to. + + + The time when the current file was last written to. + + + + + Deletes a file, fileset or directory. + + + + Deletes either a single file, all files in a specified directory and + its sub-directories, or a set of files specified by one or more filesets. + + + If the attribute is set then the fileset contents + will be ignored. To delete the files in the fileset ommit the + attribute in the <delete> element. + + + Read-only files cannot be deleted. Use the + first to remove the read-only attribute. + + + + Delete a single file. + + + ]]> + + + + + Delete a directory and the contents within. If the directory does not + exist, the task does nothing. + + + + ]]> + + + + + Delete a set of files. Note the lack of attribute + in the <delete> element. + + + + + + + + + ]]> + + + + + + Ensures the supplied attributes are valid. + + Xml node used to define this task instance. + + + + The file to delete. + + + + + The directory to delete. + + + + + Remove any empty directories included in the . + The default is . + + + + + All the files in the file set will be deleted. + + + + + An empty task that allows a build file to contain a description. + + + Set a description. + + This is a description. + ]]> + + + + + + Writes a message to the build log or a specified file. + + + + The message can be specified using the attribute + or as inline content. + + + Macros in the message will be expanded. + + + When writing to a file, the attribute is + ignored. + + + + + Writes a message with level to the build log. + + + + ]]> + + + + + Writes a message with expanded macro to the build log. + + + + ]]> + + + + + Functionally equivalent to the previous example. + + + Base build directory = ${nant.project.basedir} + ]]> + + + + + Writes the previous message to a file in the project directory, + overwriting the file if it exists. + + + Base build directory = ${nant.project.basedir} + ]]> + + + + + + Outputs the message to the build log or the specified file. + + + + + The message to output. + + + + + Gets or sets the inline content that should be output. + + + The inline content that should be output. + + + + + The file to write the message to. + + + + + Determines whether the should append to the + file, or overwrite it. By default, the file will be overwritten. + + + if output should be appended to the file; + otherwise, . The default is + . + + + + + The logging level with which the message should be output. The default + is . + + + + + Executes a system command. + + + Ping "nant.sourceforge.net". + + + + + ]]> + + + + + Execute a java application using IKVM.NET that requires the + Apache FOP jars, and a set of custom jars. + + + + + + + + + + + + + + + + + + + + + ]]> + + + Assuming the base directory of the build file is "c:\ikvm-test" and + the value of the "fop.dist.dir" property is "c:\fop", then the value + of the -cp argument that is passed toikvm.exe is + "c:\ikvm-test\conf;c:\fop\build\fop.jar;conf;c:\fop\lib\xercesImpl-2.2.1.jar;c:\fop\lib\avalon-framework-cvs-20020806.jar;c:\fop\lib\batik.jar;c:\ikvm-test\lib\mylib.jar;c:\ikvm-test\lib\otherlib.zip" + on a DOS-based system. + + + + + + Provides the abstract base class for tasks that execute external applications. + + + + + Defines the exit code that will be returned by + if the process could not be started, or did not exit (in time). + + + + + Will be used to ensure thread-safe operations. + + + + + Starts the external process and captures its output. + + + The external process did not finish within the configured timeout. + -or- + The exit code of the external process indicates a failure. + + + + + Updates the of the specified + . + + The of which the should be updated. + + + + Starts the process and handles errors. + + The that was started. + + + Reads from the stream until the external program is ended. + + + Reads from the stream until the external program is ended. + + + + Determines the path of the external program that should be executed. + + + A fully qualifies pathname including the program name. + + The task is not available or not configured for the current framework. + + + + The name of the executable that should be used to launch the + external program. + + + The name of the executable that should be used to launch the external + program, or if no name is specified. + + + If available, the configured value in the NAnt configuration + file will be used if no name is specified. + + + + + Gets the filename of the external program to start. + + + The filename of the external program. + + + Override in derived classes to explicitly set the location of the + external tool. + + + + + Gets the command-line arguments for the external program. + + + The command-line arguments for the external program. + + + + + Gets the file to which the standard output should be redirected. + + + The file to which the standard output should be redirected, or + if the standard output should not be + redirected. + + + The default implementation will never allow the standard output + to be redirected to a file. Deriving classes should override this + property to change this behaviour. + + + + + Gets a value indicating whether output will be appended to the + . + + + if output should be appended to the ; + otherwise, . + + + + + Gets the working directory for the application. + + + The working directory for the application. + + + + + The maximum amount of time the application is allowed to execute, + expressed in milliseconds. Defaults to no time-out. + + + + + The command-line arguments for the external program. + + + + + Specifies whether the external program should be executed using a + runtime engine, if configured. The default is . + + + if the external program should be executed + using a runtime engine; otherwise, . + + + + + Gets or sets the to which standard output + messages of the external program will be written. + + + The to which standard output messages of + the external program will be written. + + + By default, standard output messages wil be written to the build log + with level . + + + + + Gets or sets the to which error output + of the external program will be written. + + + The to which error output of the external + program will be written. + + + By default, error output wil be written to the build log with level + . + + + + + Gets the value that the process specified when it terminated. + + + The code that the associated process specified when it terminated, + or -1000 if the process could not be started or did not + exit (in time). + + + + + Gets the command-line arguments, separated by spaces. + + + + + Performs additional checks after the task has been initialized. + + The used to initialize the task. + does not hold a valid file name. + + + + Executes the external program. + + + + + The program to execute without command arguments. + + + The path will not be evaluated to a full path using the project + base directory. + + + + + The command-line arguments for the program. + + + + + Environment variables to pass to the program. + + + + + The directory in which the command will be executed. + + + The directory in which the command will be executed. The default + is the project's base directory. + + + + The working directory will be evaluated relative to the project's + base directory if it is relative. + + + + + + + The name of a property in which the exit code of the program should + be stored. Only of interest if is + . + + + If the exit code of the program is "-1000" then the program could + not be started, or did not exit (in time). + + + + + + Specifies whether the external program should be executed using a + runtime engine, if configured. The default is . + + + if the external program should be executed + using a runtime engine; otherwise, . + + + + + Gets the filename of the external program to start. + + + The filename of the external program. + + + + + Gets the command-line arguments for the external program. + + + The command-line arguments for the external program. + + + + + The directory the program is in. + + + + The directory the program is in. The default is the project's base + directory. + + + The basedir will be evaluated relative to the project's base + directory if it is relative. + + + + + + The file to which the standard output will be redirected. + + + By default, the standard output is redirected to the console. + + + + + Gets or sets a value indicating whether output should be appended + to the output file. The default is . + + + if output should be appended to the ; + otherwise, . + + + + + Exits the current build by throwing a , + optionally printing additional information. + + + + The cause of the build failure can be specified using the + attribute or as inline content. + + + Macros in the message will be expanded. + + + + Exits the current build without giving further information. + + + ]]> + + + + Exits the current build and writes a message to the build log. + + + ]]> + + + + Functionally equivalent to the previous example. + + Something wrong here. + ]]> + + + + + + A message giving further information on why the build exited. + + + Inline content and are mutually exclusive. + + + + + Gets or sets the inline content that should be output in the build + log, giving further information on why the build exited. + + + The inline content that should be output in the build log. + + + Inline content and are mutually exclusive. + + + + + Gets a particular file from a URL source. + + + + Options include verbose reporting and timestamp based fetches. + + + Currently, only HTTP and UNC protocols are supported. FTP support may + be added when more pluggable protocols are added to the System.Net + assembly. + + + The option enables you to control downloads + so that the remote file is only fetched if newer than the local copy. + If there is no local copy, the download always takes place. When a file + is downloaded, the timestamp of the downloaded file is set to the remote + timestamp. + + + This timestamp facility only works on downloads using the HTTP protocol. + + + + + Gets the index page of the NAnt home page, and stores it in the file + help/index.html relative to the project base directory. + + + + ]]> + + + + + Gets the index page of a secured web site using the given credentials, + while connecting using the specified password-protected proxy server. + + + + + + + + + ]]> + + + + + + Initializes task and ensures the supplied attributes are valid. + + Xml node used to define this task instance. + + + + This is where the work is done + + + + + Sets the timestamp of a given file to a specified time. + + + + + The URL from which to retrieve a file. + + + + + The file where to store the retrieved file. + + + + + If inside a firewall, proxy server/port information + Format: {proxy server name}:{port number} + Example: proxy.mycompany.com:8080 + + + + + The network proxy to use to access the Internet resource. + + + + + The network credentials used for authenticating the request with + the Internet resource. + + + + + Log errors but don't treat as fatal. The default is . + + + + + Conditionally download a file based on the timestamp of the local + copy. HTTP only. The default is . + + + + + The length of time, in milliseconds, until the request times out. + The default is 100000 milliseconds. + + + + + The security certificates to associate with the request. + + + + + Checks the conditional attributes and executes the children if + . + + + + If no conditions are checked, all child tasks are executed. + + + If more than one attribute is used, they are &&'d. The first + to fail stops the check. + + + The order of condition evaluation is, , + , , + . + + + + Check that a target exists. + + + + + + ]]> + + + + Check existence of a property. + + + + + ]]> + + + + Check that a property value is true. + + + + + ]]> + + + + + Check that a property exists and is (uses multiple conditions). + + + + + + ]]> + + which is the same as + + + + + + + ]]> + + + + + Check file dates. If myfile.dll is uptodate, then do stuff. + + + + + + ]]> + + or + + + + + + + + ]]> + + or + + + + + + + + + + + ]]> + + + + Tests the value of a property using expressions. + + + Build release configuration + + + + + Tests the the output of a function. + + + + + + + + + + Executes embedded tasks in the order in which they are defined. + + + + + Automatically exclude build elements that are defined on the task + from things that get executed, as they are evaluated normally during + XML task initialization. + + used to initialize the container. + + + + Creates and executes the embedded (child XML nodes) elements. + + + Skips any element defined by the host that has + a defined. + + + + + Gets a value indicating whether the element is performing additional + processing using the that was use to + initialize the element. + + + , as a is + responsable for creating tasks from the nested build elements. + + + + + The file to compare if uptodate. + + + + + The file to check against for the uptodate file. + + + + + The that contains the comparison files for + the (s) check. + + + + + The that contains the uptodate files for + the (s) check. + + + + + Used to test whether a property is true. + + + + + Used to test whether a property exists. + + + + + Used to test whether a target exists. + + + + + Used to test arbitrary boolean expression. + + + + + The opposite of the if task. + + + Check that a property does not exist. + + + + + ]]> + + Check that a property value is not true. + + + + + ]]> + + + + Check that a target does not exist. + + + + + ]]> + + + + + + Includes an external build file. + + + + This task is used to break your build file into smaller chunks. You + can load a partial build file and have it included into the build file. + + + Any global (project level) tasks in the included build file are executed + when this task is executed. Tasks in target elements are only executed + if that target is executed. + + + The project element attributes are ignored. + + + This task can only be in the global (project level) section of the + build file. + + + This task can only include files from the file system. + + + + + Include a task that fetches the project version from the + GetProjectVersion.include build file. + + + + ]]> + + + + + + Used to check for recursived includes. + + + + + Verifies parameters. + + Xml taskNode used to define this task instance. + + + + Build file to include. + + + + + Load a text file into a single property. + + + + Unless an encoding is specified, the encoding associated with the + system's current ANSI code page is used. + + + An UTF-8, little-endian Unicode, and big-endian Unicode encoded text + file is automatically recognized, if the file starts with the appropriate + byte order marks. + + + + + Load file message.txt into property "message". + + + + ]]> + + + + + Load a file using the "latin-1" encoding. + + + + ]]> + + + + + Load a file, replacing all @NOW@ tokens with the current + date/time. + + + + + + + + + + ]]> + + + + + + The file to load. + + + + + The name of the property to save the content to. + + + + + The encoding to use when loading the file. The default is the encoding + associated with the system's current ANSI code page. + + + + + The filterchain definition to use. + + + + + Loads tasks form a given assembly or all assemblies in a given directory + or . + + + + Load tasks from a single assembly. + + + + ]]> + + + + + Scan a single directory for task assemblies. + + + + ]]> + + + + + Use a containing both a directory and an + assembly. + + + + + + + + + ]]> + + + + + + Executes the Load Tasks task. + + Specified assembly or path does not exist. + + + + Validates the attributes. + + Both and are set. + + + + An assembly to load tasks from. + + + + + A directory to scan for task assemblies. + + + + + Used to select which directories or individual assemblies to scan. + + + + + Loops over a set of items. + + + + Can loop over files in directory, lines in a file, etc. + + + The property value is stored before the loop is done, and restored + when the loop is finished. + + + The property is returned to its normal value once it is used. Read-only + parameters cannot be overridden in this loop. + + + + Loops over the files in c:\. + + + + + ]]> + + + + Loops over all files in the project directory. + + + + + + + + + + + + ]]> + + + + Loops over the folders in c:\. + + + + + ]]> + + + + Loops over all folders in the project directory. + + + + + + + + + + + + ]]> + + + + Loops over a list. + + + + + ]]> + + + + + Loops over lines in the file properties.csv, where each line + is of the format name,value. + + + + + + ]]> + + + + + + The NAnt property name(s) that should be used for the current + iterated item. + + + If specifying multiple properties, separate them with a comma. + + + + + The type of iteration that should be done. + + + + + The type of whitespace trimming that should be done. The default + is . + + + + + The source of the iteration. + + + + + The deliminator char. + + + + + Stuff to operate in. Just like the + attribute, but supports more complicated things like a + and such. + + Please remove the attribute if you + are using this element. + + + + + + Tasks to execute for each matching item. + + + + + Do not remove any white space characters. + + + + + Remove all white space characters from the end of the current + item. + + + + + Remove all white space characters from the beginning of the + current item. + + + + + Remove all white space characters from the beginning and end of + the current item. + + + + + Sends an SMTP message. + + + + Text and text files to include in the message body may be specified as + well as binary attachments. + + + + + Sends an email from nant@sourceforge.net to three recipients + with a subject about the attachments. The body of the message will be + the combined contents of all .txt files in the base directory. + All zip files in the base directory will be included as attachments. + The message will be sent using the smtpserver.anywhere.com SMTP + server. + + + + + + + + + + + ]]> + + + + + + Initializes task and ensures the supplied attributes are valid. + + Xml node used to define this task instance. + + + + This is where the work is done. + + + + + Reads a text file and returns the content + in a string. + + The file to read content of. + + The content of the specified file. + + + + + Email address of sender. + + + + + Semicolon-separated list of recipient email addresses. + + + + + Semicolon-separated list of CC: recipient email addresses. + + + + + Semicolon-separated list of BCC: recipient email addresses. + + + + + Host name of mail server. The default is localhost. + + + + + Text to send in body of email message. + + + + + Text to send in subject line of email message. + + + + + Format of the message. The default is . + + + + + Files that are transmitted as part of the body of the email message. + + + + + Attachments that are transmitted with the message. + + + + + Creates a directory and any non-existent parent directory if necessary. + + + Create the directory build. + + + ]]> + + + + Create the directory tree one/two/three. + + + ]]> + + + + + + Creates the directory specified by the property. + + The directory could not be created. + + + + The directory to create. + + + + + Moves a file or set of files to a new file or directory. + + + + Files are only moved if the source file is newer than the destination + file, or if the destination file does not exist. However, you can + explicitly overwrite files with the + attribute. + + + A can be used to select files to move. To use + a , the + attribute must be set. + +

Encoding

+ + Unless an encoding is specified, the encoding associated with the + system's current ANSI code page is used. + + + An UTF-8, little-endian Unicode, and big-endian Unicode encoded text + file is automatically recognized, if the file starts with the + appropriate byte order marks. + + + If you employ filters in your move operation, you should limit the + move to text files. Binary files will be corrupted by the move + operation. + +
+ + + Move a single file while changing its encoding from "latin1" to + "utf-8". + + + + ]]> + + + + Move a set of files. + + + + + + + ]]> + + + + + Move a set of files to a directory, replacing @TITLE@ with + "Foo Bar" in all files. + + + + + + + + + + + + + ]]> + + +
+ + + Actually does the file moves. + + + + + The file to move. + + + + + The file to move to. + + + + + The directory to move to. + + + + + Used to select the files to move. To use a , + the attribute must be set. + + + + + Ignore directory structure of source directory, move all files into + a single directory, specified by the + attribute. The default is . + + + + + Chain of filters used to alter the file's content as it is moved. + + + + + Creates an XSD File for all available tasks. + + + + This can be used in conjuntion with the command-line option to do XSD + Schema validation on the build file. + + + + Creates a NAnt.xsd file in the current project directory. + + + ]]> + + + + + + Creates a NAnt Schema for given types + + The output stream to save the schema to. If , writing is ignored, no exception generated. + The list of tasks to generate XML Schema for. + The list of datatypes to generate XML Schema for. + The target namespace to output. + The new NAnt Schema. + + + + Creates a new instance. + + The name of the attribute. + Value indicating whether the attribute should be required. + The new instance. + + + + Creates a new instance. + + The minimum value to allow for this choice + The maximum value to allow, Decimal.MaxValue sets it to 'unbound' + The new instance. + + + + The name of the output file to which the XSD should be written. + + + + + The target namespace for the output. Defaults to "http://tempuri.org/nant-donotuse.xsd" + + + + + The for which an XSD should be created. If not + specified, an XSD will be created for all available tasks. + + + + + Creates a new instance of the + class. + + Tasks for which a schema should be generated. + Data Types for which a schema should be generated. + The namespace to use. + http://tempuri.org/nant.xsd + + + + + Runs NAnt on a supplied build file, or a set of build files. + + + + By default, all the properties of the current project will be available + in the new project. Alternatively, you can set + to to not copy any properties to the new + project. + + + You can also set properties in the new project from the old project by + using nested property tags. These properties are always passed to the + new project regardless of the setting of . + This allows you to parameterize your subprojects. + + + References to data types can also be passed to the new project, but by + default they are not. If you set the to + , all references will be copied. + + + + + Build a project located in a different directory if the debug + property is not . + + + + ]]> + + + + + Build a project while adding a set of properties to that project. + + + + + + + + + + ]]> + + + + + Build all projects named default.build located anywhere under + the project base directory. + + + + + + + + + + ]]> + + + + + + Validates the element. + + The XML node of the task to use for initialization. + + + + The build file to build. + + + + + The target to execute. To specify more than one target seperate + targets with a space. Targets are executed in order if possible. + The default is to use target specified in the project's default + attribute. + + + + + Used to specify a set of build files to process. + + + + + Specifies whether current property values should be inherited by + the executed project. The default is . + + + + + Specifies whether all references will be copied to the new project. + The default is . + + + + + Specifies a collection of properties that should be created in the + executed project. Note, existing properties with identical names + that are not read-only will be overwritten. + + + + + Sets a property in the current project. + + + NAnt uses a number of predefined properties. + + + + Define a debug property with value . + + + + ]]> + + + + + Use the user-defined debug property. + + + + ]]> + + + + + Define a read-only property. This is just like passing in the param + on the command line. + + + + ]]> + + + + + Define a property, but do not overwrite the value if the property already exists (eg. it was specified on the command line). + + + + + + + ]]> + + + Executing this build file with the command line option -D:debug=false, + would cause the value specified on the command line to remain unaltered. + + + + + + + + + The name of the NAnt property to set. + + + + + The value to assign to the NAnt property. + + + + + Specifies whether the property is read-only or not. + The default is . + + + + + Specifies whether references to other properties should not be + expanded when the value of the property is set, but expanded when + the property is actually used. By default, properties will be + expanded when set. + + + + + Specifies whether the value of a property should be overwritten if + the property already exists (unless the property is read-only). + The default is . + + + + + Sets project properties based on the evaluatuion of a regular expression. + + + + The attribute must contain one or more + + named grouping constructs, which represents the names of the + properties to be set. These named grouping constructs can be enclosed + by angle brackets (?<name>) or single quotes (?'name'). + + + In the build file, use the XML element to specify <, + and to specify >. + + + The named grouping construct must not contain any punctuation and it + cannot begin with a number. + + + + + Find the last word in the given string and stores it in the property + lastword. + + + + + ]]> + + + + + Split the full filename and extension of a filename. + + + + ]]> + + + + + Split the path and the filename. (This checks for / or \ + as the path separator). + + + + ]]> + + + Results in path=d:\Temp\SomeDir\SomeDir\ and file=bla.xml. + + + + + + Executes the task. + + + + + Represents the regular expression to be evalued. + + + The regular expression to be evalued. + + + The pattern must contain one or more named constructs, which may + not contain any punctuation and cannot begin with a number. + + + + + A comma separated list of options to pass to the regex engine. The + default is . + + + + + Represents the input for the regular expression. + + + The input for the regular expression. + + + + + Sets an environment variable or a whole collection of them. Use an empty + attribute to clear a variable. + + + + Variables will be set for the current NAnt process and all child + processes that NAnt spawns (compilers, shell tools, etc). If the + intention is to only set a variable for a single child process, then + using the and its nested + element might be a better option. + + + Expansion of inline environment variables is performed using the syntax + of the current platform. So on Windows platforms using the string %PATH% + in the attribute will result in the value of + the PATH variable being expanded in place before the variable is set. + + + + Set the MONO_PATH environment variable on a *nix platform. + + + ]]> + + + + Set a collection of environment variables. Note the nested variable used to set var3. + + + + + + + ]]> + + + + Set environment variables using nested path elements. + + + + + + + + + + + + + + + + + ]]> + + + + + + Win32 DllImport for the SetEnvironmentVariable function. + + + + + + + + *nix dllimport for the setenv function. + + + + + + + + + Checks whether the task is initialized with valid attributes. + + + + + + Set the environment variables + + + + + Do the actual work here. + + The name of the environment variable. + The value of the environment variable. + + + + The name of a single Environment variable to set + + + + + The literal value for the environment variable. + + + + + The value for a file-based environment variable. NAnt will convert + it to an absolute filename. + + + + + The value for a directory-based environment variable. NAnt will + convert it to an absolute path. + + + + + The value for a PATH like environment variable. You can use + : or ; as path separators and NAnt will convert it to + the platform's local conventions. + + + + + A task for sleeping a specified period of time, useful when a build or deployment process + requires an interval between tasks. + + + Sleep 1 hour, 2 minutes, 3 seconds and 4 milliseconds. + + + ]]> + + + + Sleep 123 milliseconds. + + + ]]> + + + + + + Verify parameters. + + taskNode used to define this task instance + + + + Return time to sleep. + + + + + Sleeps for the specified number of milliseconds. + + Number of milliseconds to sleep. + + + + Hours to add to the sleep time. + + + + + Minutes to add to the sleep time. + + + + + Seconds to add to the sleep time. + + + + + Milliseconds to add to the sleep time. + + + + + Processes a document via XSLT. + + + Create a report in HTML. + + + ]]> + + + + Create a report in HTML, with a param. + + + + + + + ]]> + + + + Create a report in HTML, with a expanded param. + + + + + + + ]]> + + + + Create some code based on a directory of templates. + + + + + + + + + + ]]> + + + + + + Directory in which to store the results. The default is the project + base directory. + + + + + Desired file extension to be used for the targets. The default is + html. + + + + + Name of the stylesheet to use - given either relative to the project's + basedir or as an absolute path. + + + + + Specifies a single XML document to be styled. Should be used with + the attribute. + + + + + Specifies the output name for the styled result from the + attribute. + + + + + Specifies a group of input files to which to apply the stylesheet. + + + + + XSLT parameters to be passed to the XSLT transformation. + + + + + XSLT extension objects to be passed to the XSLT transformation. + + + + + Sets properties with system information. + + + Sets a number of properties with information about the system environment. The intent of this task is for nightly build logs to have a record of system information so that the build was performed on. + + + Property + Value + + + <>.clr.version + Common Language Runtime version number. + + + <>.env.* + Environment variables (e.g., <>.env.PATH). + + + <>.os.platform + Operating system platform ID. + + + <>.os.version + Operating system version. + + + <>.os + Operating system version string. + + + <>.os.folder.applicationdata + The directory that serves as a common repository for application-specific data for the current roaming user. + + + <>.os.folder.commonapplicationdata + The directory that serves as a common repository for application-specific data that is used by all users. + + + <>.os.folder.commonprogramfiles + The directory for components that are shared across applications. + + + <>.os.folder.desktopdirectory + The directory used to physically store file objects on the desktop. Do not confuse this directory with the desktop folder itself, which is a virtual folder. + + + <>.os.folder.programfiles + The Program Files directory. + + + <>.os.folder.system + The System directory. + + + <>.os.folder.temp + The temporary directory. + + + + When the name of an environment variable is not a valid property name, + the task will fail. In that case, set to + to allow that environment variable to be + skipped. + + + we advise you to use the following functions instead: + + + + Function + Description + + + + Gets a object that identifies this operating system. + + + + Gets the path to a system special folder. + + + + Returns the value of a environment variable. + + + + Gets the path to the temporary directory. + + + + Gets the Common Language Runtime version. + + + + + Register the properties with the default property prefix. + + + ]]> + + + + Register the properties without a prefix. + + + ]]> + + + + Register properties and display a summary. + + + ]]> + + + + + + The string to prefix the property names with. The default is "sys.". + + + + + Sets properties with the current date and time. + + + + By default the displays the current date + and time and sets the following properties: + + + tstamp.date to yyyyMMdd + tstamp.time to HHmm + tstamp.now using the default DateTime.ToString() method + + + To set an additional property with a custom date/time use the + and attributes. + To set a number of additional properties with the exact same date and + time use the nested element (see example). + + + The date and time string displayed by the + uses the computer's default long date and time string format. You + might consider setting these to the + ISO 8601 standard + for date and time notation. + + + + Set the build.date property. + + + ]]> + + + + Set a number of properties for Ant like compatibility. + + + + + + + ]]> + + + + + + The property to receive the date/time string in the given pattern. + + + + The date/time pattern to be used. + + The following table lists the standard format characters for each standard pattern. The format characters are case-sensitive; for example, 'g' and 'G' represent slightly different patterns. + + + Format Character + Description Example Format Pattern (en-US) + + dMM/dd/yyyy + Ddddd, dd MMMM yyyy + fdddd, dd MMMM yyyy HH:mm + Fdddd, dd MMMM yyyy HH:mm:ss + gMM/dd/yyyy HH:mm + GMM/dd/yyyy HH:mm:ss + m, MMMMM dd + r, Rddd, dd MMM yyyy HH':'mm':'ss 'GMT' + syyyy'-'MM'-'dd'T'HH':'mm':'ss + tHH:mm + THH:mm:ss + uyyyy'-'MM'-'dd HH':'mm':'ss'Z' + Udddd, dd MMMM yyyy HH:mm:ss + y, Yyyyy MMMM + + The following table lists the patterns that can be combined to construct custom patterns. The patterns are case-sensitive; for example, "MM" is recognized, but "mm" is not. If the custom pattern contains white-space characters or characters enclosed in single quotation marks, the output string will also contain those characters. Characters not defined as part of a format pattern or as format characters are reproduced literally. + + + Format + Pattern Description + + dThe day of the month. Single-digit days will not have a leading zero. + ddThe day of the month. Single-digit days will have a leading zero. + dddThe abbreviated name of the day of the week. + ddddThe full name of the day of the week. + MThe numeric month. Single-digit months will not have a leading zero. + MMThe numeric month. Single-digit months will have a leading zero. + MMMThe abbreviated name of the month. + MMMMThe full name of the month. + yThe year without the century. If the year without the century is less than 10, the year is displayed with no leading zero. + yyThe year without the century. If the year without the century is less than 10, the year is displayed with a leading zero. + yyyyThe year in four digits, including the century. + ggThe period or era. This pattern is ignored if the date to be formatted does not have an associated period or era string. + hThe hour in a 12-hour clock. Single-digit hours will not have a leading zero. + hhThe hour in a 12-hour clock. Single-digit hours will have a leading zero. + HThe hour in a 24-hour clock. Single-digit hours will not have a leading zero. + HHThe hour in a 24-hour clock. Single-digit hours will have a leading zero. + mThe minute. Single-digit minutes will not have a leading zero. + mmThe minute. Single-digit minutes will have a leading zero. + sThe second. Single-digit seconds will not have a leading zero. + ssThe second. Single-digit seconds will have a leading zero. + fThe fraction of a second in single-digit precision. The remaining digits are truncated. + ffThe fraction of a second in double-digit precision. The remaining digits are truncated. + fffThe fraction of a second in three-digit precision. The remaining digits are truncated. + ffffThe fraction of a second in four-digit precision. The remaining digits are truncated. + fffffThe fraction of a second in five-digit precision. The remaining digits are truncated. + ffffffThe fraction of a second in six-digit precision. The remaining digits are truncated. + fffffffThe fraction of a second in seven-digit precision. The remaining digits are truncated. + tThe first character in the AM/PM designator. + ttThe AM/PM designator. + zThe time zone offset ("+" or "-" followed by the hour only). Single-digit hours will not have a leading zero. For example, Pacific Standard Time is "-8". + zzThe time zone offset ("+" or "-" followed by the hour only). Single-digit hours will have a leading zero. For example, Pacific Standard Time is "-08". + zzzThe full time zone offset ("+" or "-" followed by the hour and minutes). Single-digit hours and minutes will have leading zeros. For example, Pacific Standard Time is "-08:00". + :The default time separator. + /The default date separator. + \ cPattern Where c is any character. Displays the character literally. To display the backslash character, use "\\". + + + + + + Touches a file or set of files -- corresponds to the Unix touch command. + + + + If the file specified does not exist, the task will create it. + + + + Touch the Main.cs file. The current time is used. + + + ]]> + + + + + Touch all executable files in the project base directory and its + subdirectories. + + + + + + + + + ]]> + + + + + + Ensures the supplied attributes are valid. + + Xml node used to define this task instance. + + + + The file to touch. + + + + + Specifies the new modification time of the file(s) in milliseconds + since midnight Jan 1 1970. + + + + + Specifies the new modification time of the file in the format + MM/DD/YYYY HH:MM:SS. + + + + + Used to select files that should be touched. + + + + + Check modification dates on groups of files. + + + If all are same or newer than all , the specified property is set to , otherwise it + is set to . + + + + Check file dates. If myfile.dll is same or newer than myfile.cs, then set myfile.dll.uptodate property + to either or . + + + + + + + + + + + ]]> + + + + + + Property that will be set to or depending on the + result of the date check. + + + + + The that contains list of source files. + + + + + The that contains list of target files. + + + + + Extracts text from an XML file at the location specified by an XPath + expression. + + + + If the XPath expression specifies multiple nodes the node index is used + to determine which of the nodes' text is returned. + + + + + The example provided assumes that the following XML file (App.config) + exists in the current build directory. + + + + + + + + + ]]> + + + + + The example will read the server value from the above + configuration file. + + + + + + + + ]]> + + + + + + Executes the XML peek task. + + + + + Loads an XML document from a file on disk. + + The file name of the file to load the XML document from. + + A document containing + the document object representing the file. + + + + + Gets the contents of the node specified by the XPath expression. + + The XPath expression used to determine which nodes to choose from. + The XML document to select the nodes from. + The node index in the case where multiple nodes satisfy the expression. + + The contents of the node specified by the XPath expression. + + + + + The name of the file that contains the XML document + that is going to be peeked at. + + + + + The index of the node that gets its text returned when the query + returns multiple nodes. + + + + + The property that receives the text representation of the XML inside + the node returned from the XPath expression. + + + + + The XPath expression used to select which node to read. + + + + + Namespace definitions to resolve prefixes in the XPath expression. + + + + + Replaces text in an XML file at the location specified by an XPath + expression. + + + + The location specified by the XPath expression must exist, it will + not create the parent elements for you. However, provided you have + a root element you could use a series of the tasks to build the + XML file up if necessary. + + + + + Change the server setting in the configuration from testhost.somecompany.com + to productionhost.somecompany.com. + + XML file: + + + + + + + + ]]> + + Build fragment: + + + ]]> + + + + + Modify the noNamespaceSchemaLocation in an XML file. + + XML file: + + + + + ]]> + + Build fragment: + + + + + + + ]]> + + + + + + Executes the XML poke task. + + + + + Loads an XML document from a file on disk. + + + The file name of the file to load the XML document from. + + + An containing + the document object model representing the file. + + + + + Given an XML document and an expression, returns a list of nodes + which match the expression criteria. + + + The XPath expression used to select the nodes. + + + The XML document that is searched. + + + An to use for resolving namespaces + for prefixes in the XPath expression. + + + An containing references to the nodes + that matched the XPath expression. + + + + + Given a node list, replaces the XML within those nodes. + + + The list of nodes to replace the contents of. + + + The text to replace the contents with. + + + + + Saves the XML document to a file. + + The XML document to be saved. + The file name to save the XML document under. + + + + The name of the file that contains the XML document that is going + to be poked. + + + + + The XPath expression used to select which nodes are to be modified. + + + + + The value that replaces the contents of the selected nodes. + + + + + Namespace definitions to resolve prefixes in the XPath expression. + + + + + Represents a command-line argument. + + + + A single command-line argument containing a space character. + + + + ]]> + + + + + Two separate command-line arguments. + + + + ]]> + + + + + A single command-line argument with the value \dir;\dir2;\dir3 + on DOS-based systems and /dir:/dir2:/dir3 on Unix-like systems. + + + + ]]> + + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with the specified command-line argument. + + + + + Initializes a new instance of the class + with the given file. + + + + + Initializes a new instance of the class + with the given path. + + + + + Returns the argument as a . + + + The argument as a . + + + File and individual path elements will be quoted if necessary. + + + + + Quotes a command line argument if it contains a single quote or a + space. + + The command line argument. + + A quoted command line argument if + contains a single quote or a space; otherwise, + . + + + + + A single command-line argument; can contain space characters. + + + + + The name of a file as a single command-line argument; will be + replaced with the absolute filename of the file. + + + + + The value for a PATH-like command-line argument; you can use + : or ; as path separators and NAnt will convert it + to the platform's local conventions, while resolving references to + environment variables. + + + Individual parts will be replaced with the absolute path, resolved + relative to the project base directory. + + + + + Sets a single command-line argument and treats it like a PATH - ensures + the right separator for the local platform is used. + + + + + List of command-line arguments; will be passed to the executable + as is. + + + + + Indicates if the argument should be passed to the external program. + If then the argument will be passed; + otherwise, skipped. The default is . + + + + + Indicates if the argument should not be passed to the external + program. If then the argument will be + passed; otherwise, skipped. The default is . + + + + + Gets string value corresponding with the argument. + + + + + Contains a collection of elements. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with the specified instance. + + + + + Initializes a new instance of the class + with the specified array of instances. + + + + + Adds a to the end of the collection. + + The to be added to the end of the collection. + The position into which the new element was inserted. + + + + Adds the elements of a array to the end of the collection. + + The array of elements to be added to the end of the collection. + + + + Adds the elements of a to the end of the collection. + + The to be added to the end of the collection. + + + + Determines whether a is in the collection. + + The to locate in the collection. + + if is found in the + collection; otherwise, . + + + + + Determines whether a with the specified + value is in the collection. + + The argument value to locate in the collection. + + if a with value + is found in the collection; otherwise, + . + + + + + Copies the entire collection to a compatible one-dimensional array, starting at the specified index of the target array. + + The one-dimensional array that is the destination of the elements copied from the collection. The array must have zero-based indexing. + The zero-based index in at which copying begins. + + + + Retrieves the index of a specified object in the collection. + + The object for which the index is returned. + + The index of the specified . If the is not currently a member of the collection, it returns -1. + + + + + Inserts a into the collection at the specified index. + + The zero-based index at which should be inserted. + The to insert. + + + + Returns an enumerator that can iterate through the collection. + + + A for the entire collection. + + + + + Removes a member from the collection. + + The to remove from the collection. + + + + Gets or sets the element at the specified index. + + The zero-based index of the element to get or set. + + + + Gets the with the specified value. + + The value of the to get. + + + + Enumerates the elements of a . + + + + + Initializes a new instance of the class + with the specified . + + The collection that should be enumerated. + + + + Advances the enumerator to the next element of the collection. + + + if the enumerator was successfully advanced + to the next element; if the enumerator has + passed the end of the collection. + + + + + Sets the enumerator to its initial position, which is before the + first element in the collection. + + + + + Gets the current element in the collection. + + + The current element in the collection. + + + + + Provides credentials for password-based authentication schemes. + + + + + Initializes a new instance of the class. + + + + + Returns a instance representing + the current . + + + A instance representing the current + , or if the + credentials should not be used to provide authentication information + to the external resource. + + + + + The domain or computer name that verifies the credentials. + + + + + The password for the user name associated with the credentials. + + + + + The user name associated with the credentials. + + + + + Indicates if the credentials should be used to provide authentication + information to the external resource. If then + the credentials will be passed; otherwise, not. The default is + . + + + + + Indicates if the credentials should not be used to provide authentication + information to the external resource. If then the + credentials will be passed; otherwise, not. The default is + . + + + + + A specialized used for specifying a set of + directories. + + + Hint for supporting tasks that the included directories instead of + files should be used. + + + + + Filesets are groups of files. These files can be found in a directory + tree starting in a base directory and are matched by patterns taken + from a number of patterns. Filesets can appear inside tasks that support + this feature or at the project level, i.e., as children of <project>. + + +

Patterns

+ + As described earlier, patterns are used for the inclusion and exclusion. + These patterns look very much like the patterns used in DOS and UNIX: + + + + + '*' matches zero or more characters + For example: + + *.cs matches .cs, x.cs and FooBar.cs, + but not FooBar.xml (does not end with .cs). + + + + + + '?' matches one character + For example: + + ?.cs matches x.cs, A.cs, but not + .cs or xyz.cs (both don't have one character + before .cs). + + + + + + Combinations of *'s and ?'s are allowed. + + + Matching is done per-directory. This means that first the first directory + in the pattern is matched against the first directory in the path to match. + Then the second directory is matched, and so on. For example, when we have + the pattern /?abc/*/*.cs and the path /xabc/foobar/test.cs, + the first ?abc is matched with xabc, then * is matched + with foobar, and finally *.cs is matched with test.cs. + They all match, so the path matches the pattern. + + + To make things a bit more flexible, we added one extra feature, which makes + it possible to match multiple directory levels. This can be used to match a + complete directory tree, or a file anywhere in the directory tree. To do this, + ** must be used as the name of a directory. When ** is used as + the name of a directory in the pattern, it matches zero or more directories. + For example: /test/** matches all files/directories under /test/, + such as /test/x.cs, or /test/foo/bar/xyz.html, but not /xyz.xml. + + + There is one "shorthand" - if a pattern ends with / or \, then + ** is appended. For example, mypackage/test/ is interpreted as + if it were mypackage/test/**. + +

Default Excludes

+ + There are a set of definitions that are excluded by default from all + tasks that use filesets. They are: + + + + + **/*~ + + + + + **/#*# + + + + + **/.#* + + + + + **/%*% + + + + + **/CVS + + + + + **/CVS/** + + + + + **/.cvsignore + + + + + **/.svn + + + + + **/.svn/** + + + + + **/_svn + + + + + **/_svn/** + + + + + **/SCCS + + + + + **/SCCS/** + + + + + **/vssver.scc + + + + + **/_vti_cnf/** + + + + + If you do not want these default excludes applied, you may disable them + by setting to . + +
+ + + + Pattern + Match + + + **/CVS/* + + + Matches all files in CVS directories that can be + located anywhere in the directory tree. + + Matches: + + + CVS/Repository + + + org/apache/CVS/Entries + + + org/apache/jakarta/tools/ant/CVS/Entries + + + But not: + + + org/apache/CVS/foo/bar/Entries (foo/bar/ part does not match) + + + + + + org/apache/jakarta/** + + + Matches all files in the org/apache/jakarta directory + tree. + + Matches: + + + org/apache/jakarta/tools/ant/docs/index.html + + + org/apache/jakarta/test.xml + + + But not: + + + org/apache/xyz.java (jakarta/ part is missing) + + + + + + org/apache/**/CVS/* + + + Matches all files in CVS directories that are located + anywhere in the directory tree under org/apache. + + Matches: + + + org/apache/CVS/Entries + + + org/apache/jakarta/tools/ant/CVS/Entries + + + But not: + + + org/apache/CVS/foo/bar/Entries (foo/bar/ part does not match) + + + + + + **/test/** + + + Matches all files that have a test element in their + path, including test as a filename. + + + + + +
+ + + Initializes a new instance of the class. + + + + + copy constructor + + + + + + Creates a shallow copy of the . + + + A shallow copy of the . + + + + + Copies all instance data of the to a given + . + + + + + Determines if a file has a more recent last write time than the + given time, or no longer exists. + + A file to check the last write time against. + The datetime to compare against. + + The name of the file that has a last write time greater than + or that no longer exists; + otherwise, . + + + + + Determines if one of the given files has a more recent last write + time than the given time. If one of the given files no longer exists, + the target will be considered out-of-date. + + A collection of filenames to check the last write time against. + The datetime to compare against. + + The name of the first file that has a last write time greater than + ; otherwise, null. + + + + + When set to , causes the fileset element to + throw a when no files match the + includes and excludes criteria. The default is . + + + + + Indicates whether default excludes should be used or not. + The default is . + + + + + The base of the directory of this fileset. The default is the project + base directory. + + + + + Gets the collection of include patterns. + + + + + Gets the collection of exclude patterns. + + + + + Gets the collection of files that will be added to the + without pattern matching or checking if the + file exists. + + + + + Gets the collection of file names that match the fileset. + + + A collection that contains the file names that match the + . + + + + + Gets the collection of directory names that match the fileset. + + + A collection that contains the directory names that match the + . + + + + + Gets the collection of directory names that were scanned for files. + + + A collection that contains the directory names that were scanned for + files. + + + + + The items to include in the fileset. + + + + + The items to include in the fileset. + + + + + The items to exclude from the fileset. + + + + + The items to exclude from the fileset. + + + + + The files from which a list of patterns or files to include should + be obtained. + + + + + The files from which a list of patterns or files to include should + be obtained. + + + + + The files from which a list of patterns or files to exclude should + be obtained. + + + + + Determines the most recently modified file in the fileset (by LastWriteTime of the ). + + + The of the file that has the newest (closest to present) last write time. + + + + + The pattern or file name to exclude. + + + + + If then the pattern will be excluded; + otherwise, skipped. The default is . + + + + + Opposite of . If + then the pattern will be excluded; otherwise, skipped. The default + is . + + + + + If then the file name will be added to + the without pattern matching or checking + if the file exists. The default is . + + + + + If then the file will be searched for + on the path. The default is . + + + + + The pattern or file name to include. + + + + + If then the pattern will be included; + otherwise, skipped. The default is . + + + + + Opposite of . If + then the pattern will be included; otherwise, skipped. The default + is . + + + + + Gets the list of patterns in . + + + + + If then the patterns will be excluded; + otherwise, skipped. The default is . + + + + + Opposite of . If + then the patterns will be excluded; otherwise, skipped. The default + is . + + + + + The name of a file; each line of this file is taken to be a + pattern. + + + + + If then the patterns in the include file + will be added to the without pattern + matching or checking if the file exists. The default is + . + + + + + If then the patterns in the include file + will be searched for on the path. The default is . + + + + + If then the patterns will be included; + otherwise, skipped. The default is . + + + + + Opposite of . If + then the patterns will be included; otherwise, skipped. The default + is . + + + + + Initializes a new instance of the class. + + + + + Copy constructor for . Required in order to + assign references of type where + is used. + + A instance to create a from. + + + + Represents an environment variable. + + + + + Initializes a instance with the + specified name and value. + + The name of the environment variable. + The value of the environment variable. + + + + Initializes a instance. + + + + + The name of the environment variable. + + + + + The literal value for the environment variable. + + + + + The value for a file-based environment variable. NAnt will convert + it to an absolute filename. + + + + + The value for a directory-based environment variable. NAnt will + convert it to an absolute path. + + + + + The value for a PATH like environment variable. You can use + : or ; as path separators and NAnt will convert it to + the platform's local conventions. + + + + + Sets a single environment variable and treats it like a PATH - + ensures the right separator for the local platform is used. + + + + + Gets the value of the environment variable. + + + + + Indicates if the environment variable should be passed to the + external program. If then the environment + variable will be passed; otherwise, skipped. The default is + . + + + + + Indicates if the environment variable should not be passed to the + external program. If then the environment + variable will be passed; otherwise, skipped. The default is + . + + + + + A set of environment variables. + + + + + Environment variable to pass to a program. + + + + + Environment variable to pass to a program. + + + + + Contains a collection of elements. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with the specified instance. + + + + + Initializes a new instance of the class + with the specified array of instances. + + + + + Adds a to the end of the collection. + + The to be added to the end of the collection. + The position into which the new element was inserted. + + + + Adds the elements of a array to the end of the collection. + + The array of elements to be added to the end of the collection. + + + + Adds the elements of a to the end of the collection. + + The to be added to the end of the collection. + + + + Determines whether a is in the collection. + + The to locate in the collection. + + if is found in the + collection; otherwise, . + + + + + Determines whether a with the specified + value is in the collection. + + The argument value to locate in the collection. + + if a with value + is found in the collection; otherwise, + . + + + + + Copies the entire collection to a compatible one-dimensional array, starting at the specified index of the target array. + + The one-dimensional array that is the destination of the elements copied from the collection. The array must have zero-based indexing. + The zero-based index in at which copying begins. + + + + Retrieves the index of a specified object in the collection. + + The object for which the index is returned. + + The index of the specified . If the is not currently a member of the collection, it returns -1. + + + + + Inserts a into the collection at the specified index. + + The zero-based index at which should be inserted. + The to insert. + + + + Returns an enumerator that can iterate through the collection. + + + A for the entire collection. + + + + + Removes a member from the collection. + + The to remove from the collection. + + + + Gets or sets the element at the specified index. + + The zero-based index of the element to get or set. + + + + Gets the with the specified name. + + The name of the to get. + + + + Enumerates the elements of a . + + + + + Initializes a new instance of the class + with the specified . + + The collection that should be enumerated. + + + + Advances the enumerator to the next element of the collection. + + + if the enumerator was successfully advanced + to the next element; if the enumerator has + passed the end of the collection. + + + + + Sets the enumerator to its initial position, which is before the + first element in the collection. + + + + + Gets the current element in the collection. + + + The current element in the collection. + + + + + The name of the NAnt property to set. + + + + + The string pattern to use to format the property. + + + + + Indicates if the formatter should be used to format the timestamp. + If then the formatter will be used; + otherwise, skipped. The default is . + + + + + Indicates if the formatter should be not used to format the + timestamp. If then the formatter will be + used; otherwise, skipped. The default is . + + + + + Contains a collection of elements. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with the specified instance. + + + + + Initializes a new instance of the class + with the specified array of instances. + + + + + Adds a to the end of the collection. + + The to be added to the end of the collection. + The position into which the new element was inserted. + + + + Adds the elements of a array to the end of the collection. + + The array of elements to be added to the end of the collection. + + + + Adds the elements of a to the end of the collection. + + The to be added to the end of the collection. + + + + Determines whether a is in the collection. + + The to locate in the collection. + + if is found in the + collection; otherwise, . + + + + + Copies the entire collection to a compatible one-dimensional array, starting at the specified index of the target array. + + The one-dimensional array that is the destination of the elements copied from the collection. The array must have zero-based indexing. + The zero-based index in at which copying begins. + + + + Retrieves the index of a specified object in the collection. + + The object for which the index is returned. + + The index of the specified . If the is not currently a member of the collection, it returns -1. + + + + + Inserts a into the collection at the specified index. + + The zero-based index at which should be inserted. + The to insert. + + + + Returns an enumerator that can iterate through the collection. + + + A for the entire collection. + + + + + Removes a member from the collection. + + The to remove from the collection. + + + + Gets or sets the element at the specified index. + + The zero-based index of the element to get or set. + + + + Enumerates the elements of a . + + + + + Initializes a new instance of the class + with the specified . + + The collection that should be enumerated. + + + + Advances the enumerator to the next element of the collection. + + + if the enumerator was successfully advanced + to the next element; if the enumerator has + passed the end of the collection. + + + + + Sets the enumerator to its initial position, which is before the + first element in the collection. + + + + + Gets the current element in the collection. + + + The current element in the collection. + + + + + Represents an option. + + + + + name, value constructor + + + + + + + Default constructor + + + + + Name of the option. + + + + + Value of the option. The default is . + + + + + Indicates if the option should be passed to the task. + If then the option will be passed; + otherwise, skipped. The default is . + + + + + Indicates if the option should not be passed to the task. + If then the option will be passed; + otherwise, skipped. The default is . + + + + + Contains a collection of elements. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with the specified instance. + + + + + Initializes a new instance of the class + with the specified array of instances. + + + + + Adds a to the end of the collection. + + The to be added to the end of the collection. + The position into which the new element was inserted. + + + + Adds the elements of a array to the end of the collection. + + The array of elements to be added to the end of the collection. + + + + Adds the elements of a to the end of the collection. + + The to be added to the end of the collection. + + + + Determines whether a is in the collection. + + The to locate in the collection. + + if is found in the + collection; otherwise, . + + + + + Determines whether a for the specified + task is in the collection. + + The name of task for which the should be located in the collection. + + if a for the specified + task is found in the collection; otherwise, . + + + + + Copies the entire collection to a compatible one-dimensional array, starting at the specified index of the target array. + + The one-dimensional array that is the destination of the elements copied from the collection. The array must have zero-based indexing. + The zero-based index in at which copying begins. + + + + Retrieves the index of a specified object in the collection. + + The object for which the index is returned. + + The index of the specified . If the is not currently a member of the collection, it returns -1. + + + + + Inserts a into the collection at the specified index. + + The zero-based index at which should be inserted. + The to insert. + + + + Returns an enumerator that can iterate through the collection. + + + A for the entire collection. + + + + + Removes a member from the collection. + + The to remove from the collection. + + + + Gets or sets the element at the specified index. + + The zero-based index of the element to get or set. + + + + Gets the with the specified name. + + The name of the option that should be located in the collection. + + + + Enumerates the elements of a . + + + + + Initializes a new instance of the class + with the specified . + + The collection that should be enumerated. + + + + Advances the enumerator to the next element of the collection. + + + if the enumerator was successfully advanced + to the next element; if the enumerator has + passed the end of the collection. + + + + + Sets the enumerator to its initial position, which is before the + first element in the collection. + + + + + Gets the current element in the collection. + + + The current element in the collection. + + + + + Represents a nested path element. + + + + + The name of a file to add to the path. Will be replaced with + the absolute path of the file. + + + + + The name of a directory to add to the path. Will be replaced with + the absolute path of the directory. + + + + + A string that will be treated as a path-like string. You can use + : or ; as path separators and NAnt will convert it + to the platform's local conventions, while resolving references + to environment variables. + + + + + If then the entry will be added to the + path; otherwise, skipped. The default is . + + + + + Opposite of . If + then the entry will be added to the path; otherwise, skipped. + The default is . + + + + + Gets the parts of a path represented by this element. + + + A containing the parts of a path + represented by this element. + + + + + + Paths are groups of files and/or directories that need to be passed as a single + unit. The order in which parts of the path are specified in the build file is + retained, and duplicate parts are automatically suppressed. + + + + + Define a global <path> that can be referenced by other + tasks or types. + + + + + + + ]]> + + + + + + Initializes a new instance of the class. + + + + + Invoked by for build + attributes with an underlying type. + + The to be used to resolve relative paths. + The string representing a path. + + + + Returns a textual representation of the path, which can be used as + PATH environment variable definition. + + + A textual representation of the path. + + + + + Defines a set of path elements to add to the current path. + + The to add. + + + + Defines a path element to add to the current path. + + The to add. + + + + Returns all path elements defined by this path object. + + + A list of path elements. + + + + + Splits a PATH (with ; or : as separators) into its parts, while + resolving references to environment variables. + + The to be used to resolve relative paths. + The path to translate. + + A PATH split up its parts, with references to environment variables + resolved and duplicate entries removed. + + + + + Contains HTTP proxy settings used to process requests to Internet + resources. + + + + + Initializes a new instance of the class. + + + + + Gets a instance representing the current + . + + + A instance representing the current + , or + if this proxy should not be used to connect to the external resource. + + + + + The name of the proxy host. + + + + + The port number on to use. + + + + + Specifies whether to bypass the proxy server for local addresses. + The default is . + + + + + The credentials to submit to the proxy server for authentication. + + + + + Indicates if the proxy should be used to connect to the external + resource. If then the proxy will be used; + otherwise, not. The default is . + + + + + Indicates if the proxy should not be used to connect to the external + resource. If then the proxy will be used; + otherwise, not. The default is . + + + + + Represents an element of which the XML is processed by its parent task + or type. + + + + + Gets the XML that this element represents. + + + + + Gets a value indicating whether the element is performing additional + processing using the that was use to + initialize the element. + + + , as the XML that represents this build + element is processed by the containing task or type. + + + + + ReplaceTokens filter token. + + + + + Token to be replaced. + + + + + New value of token. + + + + + Indicates if the token should be used to replace values. + If then the token will be used; + otherwise, not. The default is . + + + + + Indicates if the token should not be used to replace values. + If then the token will be used; + otherwise, not. The default is . + + + + + Represents an XML namespace. + + + + + The prefix to associate with the namespace. + + + + + The associated XML namespace URI. + + + + + Indicates if the namespace should be added to the . + If then the namespace will be added; + otherwise, skipped. The default is . + + + + + Indicates if the namespace should not be added to the . + list. If then the parameter will be + added; otherwise, skipped. The default is . + + + + + Contains a collection of elements. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with the specified instance. + + + + + Initializes a new instance of the class + with the specified array of instances. + + + + + Adds a to the end of the collection. + + The to be added to the end of the collection. + The position into which the new element was inserted. + + + + Adds the elements of a array to the end of the collection. + + The array of elements to be added to the end of the collection. + + + + Adds the elements of a to the end of the collection. + + The to be added to the end of the collection. + + + + Determines whether a is in the collection. + + The to locate in the collection. + + if is found in the + collection; otherwise, . + + + + + Determines whether a with the specified + value is in the collection. + + The argument value to locate in the collection. + + if a with + value is found in the collection; otherwise, + . + + + + + Copies the entire collection to a compatible one-dimensional array, starting at the specified index of the target array. + + The one-dimensional array that is the destination of the elements copied from the collection. The array must have zero-based indexing. + The zero-based index in at which copying begins. + + + + Retrieves the index of a specified object in the collection. + + The object for which the index is returned. + + The index of the specified . If the is not currently a member of the collection, it returns -1. + + + + + Inserts a into the collection at the specified index. + + The zero-based index at which should be inserted. + The to insert. + + + + Returns an enumerator that can iterate through the collection. + + + A for the entire collection. + + + + + Removes a member from the collection. + + The to remove from the collection. + + + + Gets or sets the element at the specified index. + + The zero-based index of the element to get or set. + + + + Gets the with the specified prefix. + + The prefix of the to get. + + + + Enumerates the elements of a . + + + + + Initializes a new instance of the class + with the specified . + + The collection that should be enumerated. + + + + Advances the enumerator to the next element of the collection. + + + if the enumerator was successfully advanced + to the next element; if the enumerator has + passed the end of the collection. + + + + + Sets the enumerator to its initial position, which is before the + first element in the collection. + + + + + Gets the current element in the collection. + + + The current element in the collection. + + + + + Represents an XSLT extension object. The object should have a default + parameterless constructor and the return value should be one of the + four basic XPath data types of number, string, Boolean or node set. + + + + + Initializes a new instance of the + class. + + + + + The namespace URI to associate with the extension object. + + + The namespace URI to associate with the extension object, or + if not set. + + + + + The full type name of the XSLT extension object. + + + + + The assembly which contains the XSLT extension object. + + + + + Indicates if the extension object should be added to the XSLT argument + list. If then the extension object will be + added; otherwise, skipped. The default is . + + + + + Indicates if the extension object should not be added to the XSLT argument + list. If then the extension object will be + added; otherwise, skipped. The default is . + + + + + Contains a collection of elements. + + + + + Initializes a new instance of the + class. + + + + + Initializes a new instance of the + class with the + specified instance. + + + + + Initializes a new instance of the + class with the + specified array of instances. + + + + + Adds a to the end of the collection. + + The to be added + to the end of the collection. + The position into which the new element was inserted. + + + + Adds the elements of a array to the + end of the collection. + + The array of + elements to be added to the end of the collection. + + + + Adds the elements of a + to the end of the collection. + + The + to be added to the end of the collection. + + + + Determines whether a is in the + collection. + + The to locate + in the collection. + + if is found in the + collection; otherwise, . + + + + + Determines whether a with the + specified value is in the collection. + + The argument value to locate in the + collection. + + if a + with value is found in the collection; + otherwise, . + + + + + Copies the entire collection to a compatible one-dimensional array, + starting at the specified index of the target array. + + The one-dimensional array that is the + destination of the elements copied from the collection. The array + must have zero-based indexing. + The zero-based index in + at which copying begins. + + + + Retrieves the index of a specified + object in the collection. + + The object for + which the index is returned. + + The index of the specified . If the + is not currently a member of the + collection, it returns -1. + + + + + Inserts a into the collection at + the specified index. + + The zero-based index at which + should be inserted. + The to + insert. + + + + Returns an enumerator that can iterate through the collection. + + + A for the entire + collection. + + + + + Removes a member from the collection. + + The to remove + from the collection. + + + + Gets or sets the element at the specified index. + + The zero-based index of the element to get + or set. + + + + Gets the with the specified name. + + The name of the + to get. + + + + Enumerates the elements of a + . + + + + + Initializes a new instance of the + class + with the specified . + + The collection that should be + enumerated. + + + + Advances the enumerator to the next element of the collection. + + + if the enumerator was successfully advanced + to the next element; if the enumerator has + passed the end of the collection. + + + + + Sets the enumerator to its initial position, which is before the + first element in the collection. + + + + + Gets the current element in the collection. + + + The current element in the collection. + + + + + Represents an XSLT parameter. + + + + + Initializes a new instance of the + class. + + + + + The name of the XSLT parameter. + + + The name of the XSLT parameter, or if + not set. + + + + + The namespace URI to associate with the parameter. + + + The namespace URI to associate with the parameter, or + if not set. + + + + + The value of the XSLT parameter. + + + The value of the XSLT parameter, or if + not set. + + + + + Indicates if the parameter should be added to the XSLT argument list. + If then the parameter will be added; + otherwise, skipped. The default is . + + + + + Indicates if the parameter should not be added to the XSLT argument + list. If then the parameter will be + added; otherwise, skipped. The default is . + + + + + Contains a collection of elements. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with the specified instance. + + + + + Initializes a new instance of the class + with the specified array of instances. + + + + + Adds a to the end of the collection. + + The to be added to the end of the collection. + The position into which the new element was inserted. + + + + Adds the elements of a array to the end of the collection. + + The array of elements to be added to the end of the collection. + + + + Adds the elements of a to the end of the collection. + + The to be added to the end of the collection. + + + + Determines whether a is in the collection. + + The to locate in the collection. + + if is found in the + collection; otherwise, . + + + + + Determines whether a with the specified + value is in the collection. + + The argument value to locate in the collection. + + if a with + value is found in the collection; otherwise, + . + + + + + Copies the entire collection to a compatible one-dimensional array, starting at the specified index of the target array. + + The one-dimensional array that is the destination of the elements copied from the collection. The array must have zero-based indexing. + The zero-based index in at which copying begins. + + + + Retrieves the index of a specified object in the collection. + + The object for which the index is returned. + + The index of the specified . If the is not currently a member of the collection, it returns -1. + + + + + Inserts a into the collection at the specified index. + + The zero-based index at which should be inserted. + The to insert. + + + + Returns an enumerator that can iterate through the collection. + + + A for the entire collection. + + + + + Removes a member from the collection. + + The to remove from the collection. + + + + Gets or sets the element at the specified index. + + The zero-based index of the element to get or set. + + + + Gets the with the specified name. + + The name of the to get. + + + + Enumerates the elements of a . + + + + + Initializes a new instance of the class + with the specified . + + The collection that should be enumerated. + + + + Advances the enumerator to the next element of the collection. + + + if the enumerator was successfully advanced + to the next element; if the enumerator has + passed the end of the collection. + + + + + Sets the enumerator to its initial position, which is before the + first element in the collection. + + + + + Gets the current element in the collection. + + + The current element in the collection. + + + + + Resolves assemblies by caching assemblies that were loaded. + + + + + Initializes an instanse of the + class. + + + + + Initializes an instanse of the + class in the context of the given . + + + + + Installs the assembly resolver by hooking up to the + event. + + + + + Uninstalls the assembly resolver. + + + + + Resolves an assembly not found by the system using the assembly + cache. + + The source of the event. + A that contains the event data. + + The loaded assembly, or if not found. + + + + + Occurs when an assembly is loaded. The loaded assembly is added + to the assembly cache. + + The source of the event. + An that contains the event data. + + + + Logs a message with the given priority. + + The message priority at which the specified message is to be logged. + The message to log, containing zero or more format items. + An array containing zero or more objects to format. + + The actual logging is delegated to the in which + the is executing + + + + + Holds the loaded assemblies. + + + + + Holds the in which the + is executing. + + + The in which the + is executing or if the + is not executing in the context of a . + + + + + Represents a valid command-line argument. + + + + + Sets the value of the argument on the specified object. + + The object on which the value of the argument should be set. + The argument is required and no value was specified. + + + The matching property is collection-based, but is not initialized + and cannot be written to. + + -or- + + The matching property is collection-based, but has no strongly-typed + Add method. + + -or- + + The matching property is collection-based, but the signature of the + Add method is not supported. + + + + + + Assigns the specified value to the argument. + + The value that should be assigned to the argument. + + Duplicate argument. + -or- + Invalid value. + + + + + Indicates whether the specified is a + . + + + if can be assigned + to ; otherwise, . + + + + + Indicates whether the specified is collection-based. + + + if can be assigned + to and is not backed by a + that can be assigned to ; + otherwise, . + + + + + Indicates whether the specified is an array. + + + if is an array; + otherwise, . + + + + + Gets the property that backs the argument. + + + The property that backs the arguments. + + + + + Gets the underlying of the argument. + + + The underlying of the argument. + + + If the of the argument is a collection type, + this property will returns the underlying type of that collection. + + + + + Gets the long name of the argument. + + The long name of the argument. + + + + Gets the short name of the argument. + + The short name of the argument. + + + + Gets the description of the argument. + + The description of the argument. + + + + Gets a value indicating whether the argument is required. + + + if the argument is required; otherwise, + . + + + + + Gets a value indicating whether a mathing command-line argument + was already found. + + + if a matching command-line argument was + already found; otherwise, . + + + + + Gets a value indicating whether the argument can be specified multiple + times. + + + if the argument may be specified multiple + times; otherwise, . + + + + + Gets a value indicating whether the argument can only be specified once + with a certain value. + + + if the argument should always have a unique + value; otherwise, . + + + + + Gets the of the property to which the argument + is applied. + + + The of the property to which the argument is + applied. + + + + + Gets a value indicating whether the argument is collection-based. + + + if the argument is backed by a + that can be assigned to and is not backed + by a that can be assigned to + ; otherwise, . + + + + + Gets a value indicating whether the argument is a set of name/value + pairs. + + + if the argument is backed by a + that can be assigned to ; otherwise, + . + + + + + Gets a value indicating whether the argument is array-based. + + + if the argument is backed by an array; + otherwise, . + + + + + Gets a value indicating whether the argument is the default argument. + + + if the argument is the default argument; + otherwise, . + + + + + Gets a value indicating whether the argument cannot be combined with + other arguments. + + + if the argument cannot be combined with other + arguments; otherwise, . + + + + + Allows control of command line parsing. + + + + + Initializes a new instance of the class + with the specified argument type. + + Specifies the checking to be done on the argument. + + + + Gets or sets the checking to be done on the argument. + + The checking that should be done on the argument. + + + + Gets or sets the long name of the argument. + + The long name of the argument. + + + + Gets or sets the short name of the argument. + + The short name of the argument. + + + + Gets or sets the description of the argument. + + The description of the argument. + + + + Contains a strongly typed collection of objects. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with the specified instance. + + + + + Initializes a new instance of the class + with the specified array of instances. + + + + + Adds a to the end of the collection. + + The to be added to the end of the collection. + The position into which the new element was inserted. + + + + Adds the elements of a array to the end of the collection. + + The array of elements to be added to the end of the collection. + + + + Adds the elements of a to the end of the collection. + + The to be added to the end of the collection. + + + + Determines whether a is in the collection. + + The to locate in the collection. + + if is found in the + collection; otherwise, . + + + + + Copies the entire collection to a compatible one-dimensional array, starting at the specified index of the target array. + + The one-dimensional array that is the destination of the elements copied from the collection. The array must have zero-based indexing. + The zero-based index in at which copying begins. + + + + Retrieves the index of a specified object in the collection. + + The object for which the index is returned. + + The index of the specified . If the is not currently a member of the collection, it returns -1. + + + + + Inserts a into the collection at the specified index. + + The zero-based index at which should be inserted. + The to insert. + + + + Returns an enumerator that can iterate through the collection. + + + A for the entire collection. + + + + + Removes a member from the collection. + + The to remove from the collection. + + + + Gets or sets the element at the specified index. + + The zero-based index of the element to get or set. + + + + Gets the with the specified name. + + The name of the to get. + + + + Enumerates the elements of a . + + + + + Initializes a new instance of the class + with the specified . + + The collection that should be enumerated. + + + + Advances the enumerator to the next element of the collection. + + + if the enumerator was successfully advanced + to the next element; if the enumerator has + passed the end of the collection. + + + + + Sets the enumerator to its initial position, which is before the + first element in the collection. + + + + + Gets the current element in the collection. + + + The current element in the collection. + + + + + The exception that is thrown when one of the command-line arguments provided + is not valid. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a descriptive message. + + A descriptive message to include with the exception. + + + + Initializes a new instance of the class + with a descriptive message and an inner exception. + + A descriptive message to include with the exception. + A nested exception that is the cause of the current exception. + + + + Initializes a new instance of the class + with serialized data. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + + + + Used to control parsing of command-line arguments. + + + + + Indicates that this field is required. An error will be displayed + if it is not present when parsing arguments. + + + + + Only valid in conjunction with Multiple. + Duplicate values will result in an error. + + + + + Inidicates that the argument may be specified more than once. + Only valid if the argument is a collection + + + + + Inidicates that if this argument is specified, no other arguments may be specified. + + + + + The default type for non-collection arguments. + The argument is not required, but an error will be reported if it is specified more than once. + + + + + The default type for collection arguments. + The argument is permitted to occur multiple times, but duplicate + values will cause an error to be reported. + + + + + Commandline parser. + + + + + Initializes a new instance of the class + using possible arguments deducted from the specific . + + The from which the possible command-line arguments should be retrieved. + A value indicating whether or not a response file is able to be used. + is a null reference. + + + + Parses an argument list. + + The arguments to parse. + The destination object on which properties will be set corresponding to the specified arguments. + is a null reference. + The of does not match the argument specification that was used to initialize the parser. + + + + Splits a string and removes any empty strings from the + result. Same functionality as the + public string[] Split(char[] separator, StringSplitOptions options) + method in .Net 2.0. Replace with that call when 2.0 is standard. + + + + the array of strings + + + + Read a response file and parse the arguments as usual. + + + + + + Parse the argument list using the + + + + + + Returns the that's applied + on the specified property. + + The property of which applied should be returned. + + The that's applied to the + , or a null reference if none was applied. + + + + + Gets a logo banner using version and copyright attributes defined on the + or the + . + + + A logo banner. + + + + + Gets the usage instructions. + + The usage instructions. + + + + Gets a value indicating whether no arguments were specified on the + command line. + + + + + Marks a command-line option as being the default option. When the name of + a command-line argument is not specified, this option will be assumed. + + + + + Initializes a new instance of the class + with the specified argument type. + + Specifies the checking to be done on the argument. + + + + Provides modified version for Copy and Move from the File class that + allow for filter chain processing. + + + + + Copies a file filtering its content through the filter chain. + + The file to copy + The file to copy to + Chain of filters to apply when copying, or is no filters should be applied. + The encoding used to read the soure file. + The encoding used to write the destination file. + + + + Moves a file filtering its content through the filter chain. + + The file to move + The file to move move to + Chain of filters to apply when moving, or is no filters should be applied. + The encoding used to read the soure file. + The encoding used to write the destination file. + + + + Returns a uniquely named empty temporary directory on disk. + + + A representing the temporary directory. + + + + + Combines two path strings. + + The first path. + The second path. + + A string containing the combined paths. If one of the specified + paths is a zero-length string, this method returns the other path. + If contains an absolute path, this method + returns . + + + + On *nix, processing is delegated to . + + + On Windows, this method normalized the paths to avoid running into + the 260 character limit of a path and converts forward slashes in + both and to + the platform's directory separator character. + + + + + + Returns Absolute Path (Fix for 260 Char Limit of Path.GetFullPath(...)) + + The file or directory for which to obtain absolute path information. + Path Resolved + path is a zero-length string, contains only white space or contains one or more invalid characters as defined by . + is . + + + + Helper class for determining whether assemblies are located in the + Global Assembly Cache. + + + + + Initializes a new instance of the class in + the context of the given . + + + + + Determines whether an assembly is installed in the Global + Assembly Cache given its file name or path. + + The name or path of the file that contains the manifest of the assembly. + + if is + installed in the Global Assembly Cache; otherwise, + . + + + + To determine whether the specified assembly is installed in the + Global Assembly Cache, the assembly is loaded into a separate + . + + + If the family of the current runtime framework does not match the + family of the current target framework, this method will return + for all assemblies as there's no way to + determine whether a given assembly is in the Global Assembly Cache + for another framework family than the family of the current runtime + framework. + + + + + + Holds the in which assemblies will be loaded + to determine whether they are in the Global Assembly Cache. + + + + + Holds the context of the . + + + + + Holds a list of assembly files for which already has been determined + whether they are located in the Global Assembly Cache. + + + + The key of the is the full path to the + assembly file and the value is a indicating + whether the assembly is located in the Global Assembly Cache. + + + + + + Holds a value indicating whether the object has been disposed. + + + + + Gets the context of the . + + + The context of the . + + + + + Obtains a lifetime service object to control the lifetime policy for + this instance. + + + An object of type used to control the lifetime + policy for this instance. This is the current lifetime service object + for this instance if one exists; otherwise, a new lifetime service + object initialized with a lease that will never time out. + + + + + Determines whether an assembly is installed in the Global + Assembly Cache given its file name or path. + + The name or path of the file that contains the manifest of the assembly. + + if is + installed in the Global Assembly Cache; otherwise, + . + + + + + Provides a set of helper methods related to reflection. + + + + + Initializes a new instance of the class. + + + Uses a private access modifier to prevent instantiation of this class. + + + + + Loads the type specified in the type string with assembly qualified name. + + The assembly qualified name of the type to load. + Flag set to to throw an exception if the type cannot be loaded. + + is and + an error is encountered while loading the , or + is not an assembly qualified name. + + + If the cannot be instantiated from the assembly + qualified type name, then we'll try to instantiate the type using its + simple type name from an already loaded assembly with an assembly + name mathing the assembly in the assembly qualified type name. + + + The type loaded or if it could not be loaded. + + + + + Provides resource support to NAnt assemblies. This class cannot + be inherited from. + + + + + Prevents the class + from being instantiated explicitly. + + + + + Registers the assembly to be used as the fallback if resources + aren't found in the local satellite assembly. + + + A that represents the + assembly to register. + + + The following example shows how to register a shared satellite + assembly. + + + + + + + + Returns the value of the specified string resource. + + + A that contains the name of the + resource to get. + + + A that contains the value of the + resource localized for the current culture. + + + The returned resource is localized for the cultural settings of the + current . + + The GetString method is thread-safe. + + + + The following example demonstrates the GetString method using + the cultural settings of the current . + + + + + + + + Returns the value of the specified string resource localized for + the specified culture. + + + + + A that contains the value of the + resource localized for the specified culture. + + + + The GetString method is thread-safe. + + + + The following example demonstrates the GetString method using + a specific culture. + + + + + + + + Returns the value of the specified string resource localized for + the specified culture for the specified assembly. + + + A that contains the name of the + resource to get. + + + A that represents + the culture for which the resource is localized. + + + A + + + A that contains the value of the + resource localized for the specified culture. + + + + The GetString method is thread-safe. + + + + The following example demonstrates the GetString method using + specific culture and assembly. + + + + + + + + Registers the specified assembly. + + + A that represents the + assembly to register. + + + + + Groups a set of useful manipulation and validation + methods. + + + + + Initializes a new instance of the class. + + + Prevents instantiation of the class. + + + + + Determines whether the last character of the given + matches the specified character. + + The string. + The character. + + if the last character of + matches ; otherwise, . + + is . + + + + Indicates whether or not the specified is + or an string. + + The value to check. + + if is + or an empty string (""); otherwise, . + + + + + Converts an empty string ("") to . + + The value to convert. + + if is an empty + string ("") or ; otherwise, . + + + + + Converts to an empty string. + + The value to convert. + + An empty string if is ; + otherwise, . + + + + + Concatenates a specified separator between each + element of a specified , yielding a + single concatenated string. + + A . + A . + + A consisting of the elements of + interspersed with the separator string. + + + + For example if is ", " and the elements + of are "apple", "orange", "grape", and "pear", + returns "apple, orange, + grape, pear". + + + If is , an empty + string () is used instead. + + + + + + Creates a shallow copy of the specified . + + The that should be copied. + + A shallow copy of the specified . + + + + + Thrown whenever an error occurs during the build. + + + + The location of the exception in the build document (xml file). + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a descriptive message. + + A descriptive message to include with the exception. + + + + Initializes a new instance of the class + with the specified descriptive message and inner exception. + + A descriptive message to include with the exception. + A nested exception that is the cause of the current exception. + + + + Initializes a new instance of the class + with a descriptive message and the location in the build file that + caused the exception. + + A descriptive message to include with the exception. + The location in the build file where the exception occured. + + + + Initializes a new instance of the class + with a descriptive message, the location in the build file and an + instance of the exception that is the cause of the current exception. + + A descriptive message to include with the exception. + The location in the build file where the exception occured. + A nested exception that is the cause of the current exception. + + + + Initializes a new instance of the class + with serialized data. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + + + + Serializes this object into the provided. + + The to populate with data. + The destination for this serialization. + + + + Creates and returns a string representation of the current + exception. + + + A string representation of the current exception. + + + + + Gets the raw message as specified when the exception was + constructed. + + + The raw message as specified when the exception was + constructed. + + + + + Gets the location in the build file of the element from which the + exception originated. + + + The location in the build file of the element from which the + exception originated. + + + + + Gets a message that describes the current exception. + + + The error message that explains the reason for the exception. + + + Adds location information to the message, if available. + + + + + Represents the set of command-line options supported by NAnt. + + + + + Gets or sets the target framework to use (overrides + NAnt.exe.config settings) + + + The framework that should be used. + + + For a list of possible frameworks, see NAnt.exe.config, possible + values include "net-1.0", "net-1.1", etc. + + + + + Gets or sets the target framework to use (overrides + NAnt.exe.config settings) + + + The framework that should be used. + + + For a list of possible frameworks, see NAnt.exe.config, possible + values include "net-1.0", "net-1.1", etc. + + + + + Gets or sets the buildfile that should be executed. + + + The buildfile that should be executed. + + + Can be both a file or an URI. + + + + + Gets or sets a value indicating whether more information should be + displayed during the build process. + + + if more information should be displayed; + otherwise, . The default is . + + + + + Gets or sets a value indicating whether debug information should be + displayed during the build process. + + + if debug information should be displayed; + otherwise, . The default is . + + + + + Gets or sets a value indicating whether only error and debug debug messages should be + displayed during the build process. + + + if only error or warning messages should be + displayed; otherwise, . The default is + . + + + + + Gets or sets a value indicating whether to produce emacs (and other + editor) friendly output. + + + if output is to be unadorned so that emacs + and other editors can parse files names, etc. The default is + . + + + + + Gets a value indicating whether parent directories should be searched + for a buildfile. + + + if parent directories should be searched for + a build file; otherwise, . The default is + . + + + + + Gets or sets the indentation level of the build output. + + + The indentation level of the build output. The default is 0. + + + + + Gets or sets the list of properties that should be set. + + + The list of properties that should be set. + + + + + Gets or sets the of logger to add to the list + of listeners. + + + The of logger to add to the list of + listeners. + + + The should derive from . + + + + + Gets or sets the name of the file to log output to. + + + The name of the file to log output to. + + + + + Gets a collection containing fully qualified type names of classes + implementating that should be added + to the project as listeners. + + + A collection of fully qualified type names that should be added as + listeners to the . + + + + + Gets a collection of assemblies to load extensions from. + + + A collection of assemblies to load extensions from. + + + + + Gets or sets a value indicating whether help + should be printed. + + + if help should be + printed; otherwise, . The default is + . + + + + + Gets or sets a value indicating whether the logo banner should be + printed. + + + if the logo banner should be printed; otherwise, + . The default is . + + + + + Gets or sets a value indicating whether the NAnt help should be + printed. + + + if NAnt help should be printed; otherwise, + . The default is . + + + + + Gets a collection containing the targets that should be executed. + + + A collection that contains the targets that should be executed. + + + + + Custom configuration section handler for the element. + + + + + This just passed things through. Return the node read from the config file. + + + + + Main entry point to NAnt that is called by the ConsoleStub. + + + + + Starts NAnt. This is the Main entry point. + + Command Line args, or whatever you want to pass it. They will treated as Command Line args. + + The exit code. + + + + + Prints the projecthelp to the console. + + The build file to show help for. + + is loaded and transformed with + ProjectHelp.xslt, which is an embedded resource. + + + + + Gets the file name for the build file in the specified directory. + + The directory to look for a build file. When in doubt use Environment.CurrentDirectory for directory. + Look for a build file with this pattern or name. If null look for a file that matches the default build pattern (*.build). + Whether or not to search the parent directories for a build file. + The path to the build file or null if no build file could be found. + + + + Loads the extension assemblies in the current + and scans them for extensions. + + The extension assemblies to load. + The which will be used to output messages to the build log. + + + + Dynamically constructs an instance of + the class specified. + + + + At this point, only looks in the assembly where + is defined. + + + The fully qualified name of the logger that should be instantiated. + Type could not be loaded. + does not implement . + + + + Dynamically constructs an instance of + the class specified. + + + + At this point, only looks in the assembly where + is defined. + + + The fully qualified name of the listener that should be instantiated. + Type could not be loaded. + does not implement . + + + + Add the listeners specified in the command line arguments, + along with the default listener, to the specified project. + + The command-line options. + The to add listeners to. + + + + Spits out generic help info to the console. + + + + + Creates a new instance of the class + for the specified Element class. + + The class representing the Element. + + + + Creates a new instance of the class + for the specified Element class in the assembly specified. + + The class representing the Element. + The assembly containing the Element./// + + + + Contains a strongly typed collection of objects. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with the specified instance. + + + + + Initializes a new instance of the class + with the specified array of instances. + + + + + Adds a to the end of the collection. + + The to be added to the end of the collection. + The position into which the new element was inserted. + + + + Adds the elements of a array to the end of the collection. + + The array of elements to be added to the end of the collection. + + + + Adds the elements of a to the end of the collection. + + The to be added to the end of the collection. + + + + Determines whether a is in the collection. + + The to locate in the collection. + + if is found in the + collection; otherwise, . + + + + + Determines whether a for the specified + task is in the collection. + + The name of task for which the should be located in the collection. + + if a for + the specified task is found in the collection; otherwise, + . + + + + + Copies the entire collection to a compatible one-dimensional array, starting at the specified index of the target array. + + The one-dimensional array that is the destination of the elements copied from the collection. The array must have zero-based indexing. + The zero-based index in at which copying begins. + + + + Retrieves the index of a specified object in the collection. + + The object for which the index is returned. + + The index of the specified . If the is not currently a member of the collection, it returns -1. + + + + + Inserts a into the collection at the specified index. + + The zero-based index at which should be inserted. + The to insert. + + + + Returns an enumerator that can iterate through the collection. + + + A for the entire collection. + + + + + Removes a member from the collection. + + The to remove from the collection. + + + + Gets or sets the element at the specified index. + + The zero-based index of the element to get or set. + + + + Gets the for the specified task. + + The name of task for which the should be located in the collection. + + + + Enumerates the elements of a . + + + + + Initializes a new instance of the class + with the specified . + + The collection that should be enumerated. + + + + Advances the enumerator to the next element of the collection. + + + if the enumerator was successfully advanced + to the next element; if the enumerator has + passed the end of the collection. + + + + + Sets the enumerator to its initial position, which is before the + first element in the collection. + + + + + Gets the current element in the collection. + + + The current element in the collection. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with the specified capacity. + + + + + Inherits Properties from an existing property + dictionary Instance + + DataType list to inherit + + + + Used for searching filesystem based on given include/exclude rules. + + + Simple client code for testing the class. + + while (true) { + DirectoryScanner scanner = new DirectoryScanner(); + + Console.Write("Scan Basedirectory : "); + string s = Console.ReadLine(); + if (s.Length == 0) break; + scanner.BaseDirectory = s; + + while(true) { + Console.Write("Include pattern : "); + s = Console.ReadLine(); + if (s.Length == 0) break; + scanner.Includes.Add(s); + } + + while(true) { + Console.Write("Exclude pattern : "); + s = Console.ReadLine(); + if (s.Length == 0) break; + scanner.Excludes.Add(s); + } + + foreach (string name in scanner.FileNames) + Console.WriteLine("file:" + name); + foreach (string name in scanner.DirectoryNames) + Console.WriteLine("dir :" + name); + + Console.WriteLine(""); + } + + + + + + Creates a shallow copy of the . + + + A shallow copy of the . + + + + + Uses and search criteria (relative to + or absolute), to search for filesystem objects. + + + + + Parses specified NAnt search patterns for search directories and + corresponding regex patterns. + + In. NAnt patterns. Absolute or relative paths. + Out. Regex patterns. Absolute canonical paths. + Out. Non-regex files. Absolute canonical paths. + In. Whether to allow a pattern to add search directories. + + + + Given a NAnt search pattern returns a search directory and an regex + search pattern. + + Whether this pattern is an include or exclude pattern + NAnt searh pattern (relative to the Basedirectory OR absolute, relative paths refering to parent directories ( ../ ) also supported) + Out. Absolute canonical path to the directory to be searched + Out. Whether the pattern is potentially recursive or not + Out. Whether this is a regex pattern or not + Out. Regex search pattern (absolute canonical path) + + + + Searches a directory recursively for files and directories matching + the search criteria. + + Directory in which to search (absolute canonical path) + Whether to scan recursively or not + + + + Converts search pattern to a regular expression pattern. + + Search pattern relative to the search directory. + Regular expresssion + + + + Gets the collection of include patterns. + + + + + Gets the collection of exclude patterns. + + + + + The base directory to scan. The default is the + current directory. + + + + + Gets the list of files that match the given patterns. + + + + + Gets the list of directories that match the given patterns. + + + + + Gets the list of directories that were scanned for files. + + + + + Creates a shallow copy of the . + + + A shallow copy of the . + + + + + Creates a string representing a list of the strings in the collection. + + + A string that represents the contents. + + + + + Creates a shallow copy of the . + + + A shallow copy of the . + + + + + Determines whether the specified string is in the + . + + The string to locate in the . The value can be . + + if value is found in the ; otherwise, . + + + String comparisons within the + are only case-sensitive if the filesystem on which + is located, is case-sensitive. + + + + + Searches for the specified string and returns the zero-based index + of the first occurrence within the . + + The string to locate. The value can be . + + The zero-based index of the first occurrence of + in the , if found; otherwise, -1. + + + String comparisons within the + are only case-sensitive if the filesystem on which + is located, is case-sensitive. + + + + + Determines whether the filesystem on which the specified path is + located is case-sensitive. + + The path of which should be determined whether its on a case-sensitive filesystem. + + if is located on a + case-sensitive filesystem; otherwise, . + + + + + Gets the value of the specified property. + + The name of the property to get the value of. + + The value of the specified property. + + + + + Splits an input string into a sequence of tokens used during parsing. + + + + + Available tokens + + + + + Encalsulates information about installed frameworks incuding version + information and directory locations for finding tools. + + + + + Initializes a new instance of the class + with a name, description, version, runtime engine, directory information + and properties. + + The name of the framework. + The family of the framework. + The description of the framework. + The version number of the framework. + The Common Language Runtime version of the framework. + The directory of the framework. + The directory containing the SDK tools for the framework, if available. + The directory containing the system assemblies for the framework. + The name of the runtime engine, if required. + The used to initialized the framework. + + + + Gets the name of the framework. + + + The name of the framework. + + + + + Gets the family of the framework. + + + The family of the framework. + + + + + Gets the description of the framework. + + + The description of the framework. + + + + + Gets the version of the framework. + + + The version of the framework. + + + + + Gets the Common Language Runtime of the framework. + + + The Common Language Runtime of the framework. + + + + + Gets the Visual Studio version that corresponds with this + framework. + + + The Visual Studio version that corresponds with this framework. + + There is no version of Visual Studio .NET that corresponds with this framework. + + + + Gets the base directory of the framework tools for the framework. + + + The base directory of the framework tools for the framework. + + + + + Gets the path to the runtime engine for this framework. + + + The path to the runtime engine for the framework or + if no runtime engine is configured for the framework. + + + + + Gets the directory where the system assemblies for the framework + are located. + + + The directory where the system assemblies for the framework are + located. + + + + + Gets the directory containing the SDK tools for the framework. + + + The directory containing the SDK tools for the framework or a null + refererence if the sdk directory + + + + + Gets the used to initialize this framework. + + + The used to initialize this framework. + + + + + Gets or sets the collection of environment variables that should be + passed to external programs that are launched in the runtime engine + of the current framework. + + + The collection of environment variables that should be passed to + external programs that are launched in the runtime engine of the + current framework. + + + + + Gets the set of assemblies and directories that should scanned for + NAnt tasks, types or functions. + + + The set of assemblies and directories that should be scanned for + NAnt tasks, types or functions. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with the specified capacity. + + + + + Stores the file name, line number and column number to record a position + in a text file. + + + + + Creates a location consisting of a file name, line number and + column number. + + + can be a local URI resource, e.g., file:///C:/WINDOWS/setuplog.txt. + + + + + Creates a location consisting of a file name. + + + can be a local URI resource, e.g., file:///C:/WINDOWS/setuplog.txt. + + + + + Creates an "unknown" location. + + + + Private Init function. + + + + Returns the file name, line number and a trailing space. An error + message can be appended easily. For unknown locations, returns + an empty string. + + + + + Gets a string containing the file name for the location. + + + The file name includes both the file path and the extension. + + + + + Gets the line number for the location. + + + Lines start at 1. Will be zero if not specified. + + + + + Gets the column number for the location. + + + Columns start a 1. Will be zero if not specified. + + + + + Maps XML nodes to the text positions from their original source. + + + + + Initializes a new instance of the class. + + + + + Determines if a file has been loaded by the current project. + + The file to check. + + if the specified file has already been loaded + by the current project; otherwise, . + + + + + Adds an to the map. + + + An can only be added to the map once. + + + + + Returns the in the XML file for the given node. + + + The must be from an + that has been added to the map. + + + + + Represents a position in the build file. + + + + + Initializes a new instance of the + with the speified line and column. + + The line coordinate of the position. + The column coordinate of the position. + + + + The line coordinate of the position. + + + + + The column coordinate of the position. + + + + + Defines the set of levels recognised by the NAnt logging system. + + + + + Designates fine-grained informational events that are most useful + to debug a build process. + + + + + Designates events that offer a more detailed view of the build + process. + + + + + Designates informational events that are useful for getting a + high-level view of the build process. + + + + + Designates potentionally harmful events. + + + + + Designates error events. + + + + + Can be used to suppress all messages. + + + No events should be logged with this . + + + + + Class representing an event occurring during a build. + + + + An event is built by specifying either a project, a task or a target. + + + A level event will only have a + reference. + + + A level event will have and + references. + + + A level event will have , + and references. + + + + + + Initializes a new instance of the + class. + + + + + Initializes a new instance of the + class for a level event. + + The that emitted the event. + + + + Initializes a new instance of the + class for a level event. + + The that emitted the event. + + + + Initializes a new instance of the + class for a level event. + + The that emitted the event. + + + + Gets or sets the message associated with this event. + + + The message associated with this event. + + + + + Gets or sets the priority level associated with this event. + + + The priority level associated with this event. + + + + + Gets or sets the associated with this event. + + + The associated with this event. + + + + + Gets the that fired this event. + + + The that fired this event. + + + + + Gets the that fired this event. + + + The that fired this event, or a null reference + if this is a level event. + + + + + Gets the that fired this event. + + + The that fired this event, or + if this is a or level + event. + + + + + Represents the method that handles the build events. + + The source of the event. + A that contains the event data. + + + + Instances of classes that implement this interface can register to be + notified when things happen during a build. + + + + + Signals that a build has started. + + The source of the event. + A object that contains the event data. + + This event is fired before any targets have started. + + + + + Signals that the last target has finished. + + The source of the event. + A object that contains the event data. + + This event will still be fired if an error occurred during the build. + + + + + Signals that a target has started. + + The source of the event. + A object that contains the event data. + + + + Signals that a target has finished. + + The source of the event. + A object that contains the event data. + + This event will still be fired if an error occurred during the build. + + + + + Signals that a task has started. + + The source of the event. + A object that contains the event data. + + + + Signals that a task has finished. + + The source of the event. + A object that contains the event data. + + This event will still be fired if an error occurred during the build. + + + + + Signals that a message has been logged. + + The source of the event. + A object that contains the event data. + + + + Interface used by NAnt to log the build output. + + + Depending on the supplied command-line arguments, NAnt will set the + to or a + with a file as backend store. + + + + + Flushes buffered build events or messages to the underlying storage. + + + + + Gets or sets the highest level of message this logger should respond + to. + + The highest level of message this logger should respond to. + + Only messages with a message level higher than or equal to the given + level should actually be written to the log. + + + + + Gets or sets a value indicating whether to produce emacs (and other + editor) friendly output. + + + if output is to be unadorned so that emacs + and other editors can parse files names, etc. + + + + + Gets or sets the to which the logger is + to send its output. + + + + + Initializes a new instance of the + class. + + + + + Flushes buffered build events or messages to the underlying storage. + + + + + Signals that a build has started. + + The source of the event. + A object that contains the event data. + + This event is fired before any targets have started. + + + + + Signals that the last target has finished. + + The source of the event. + A object that contains the event data. + + This event will still be fired if an error occurred during the build. + + + + + Signals that a target has started. + + The source of the event. + A object that contains the event data. + + + + Signals that a task has finished. + + The source of the event. + A object that contains the event data. + + This event will still be fired if an error occurred during the build. + + + + + Signals that a task has started. + + The source of the event. + A object that contains the event data. + + + + Signals that a task has finished. + + The source of the event. + A object that contains the event data. + + This event will still be fired if an error occurred during the build. + + + + + Signals that a message has been logged. + + The source of the event. + A object that contains the event data. + + Only messages with a priority higher or equal to the threshold of + the logger will actually be output in the build log. + + + + + Empty implementation which allows derived classes to receive the + output that is generated in this logger. + + The message being logged. + + + + Outputs an indented message to the build log if its priority is + greather than or equal to the of the + logger. + + The priority of the message to output. + The message to output. + The number of characters that the message should be indented. + + + + Outputs an indented message to the build log if its priority is + greather than or equal to the of the + logger. + + The event to output. + + + + Outputs an indented message to the build log if its priority is + greather than or equal to the of the + logger. + + The event to output. + TODO + + + + Holds a stack of reports for all running builds. + + + + + Gets or sets the highest level of message this logger should respond + to. + + + The highest level of message this logger should respond to. + + + Only messages with a message level higher than or equal to the given + level should be written to the log. + + + + + Gets or sets a value indicating whether to produce emacs (and other + editor) friendly output. + + + if output is to be unadorned so that emacs + and other editors can parse files names, etc. The default is + . + + + + + Gets or sets the to which the logger is + to send its output. + + + The to which the logger sends its output. + + + + + Used to store information about a build, to allow better reporting to + the user. + + + + + Errors encountered so far. + + + + + Warnings encountered so far. + + + + + The start time of the build process. + + + + + Buffers log messages from DefaultLogger, and sends an e-mail with the + results. + + + The following properties are used to send the mail : + + + Property + Description + + + MailLogger.mailhost + Mail server to use. [default: localhost] + + + MailLogger.from + The address of the e-mail sender. + + + MailLogger.failure.notify + Send build failure e-mails ? [default: true] + + + MailLogger.success.notify + Send build success e-mails ? [default: true] + + + MailLogger.failure.to + The address to send build failure messages to. + + + MailLogger.success.to + The address to send build success messages to. + + + MailLogger.failure.subject + The subject of build failure messages. [default: "Build Failure"] + + + MailLogger.success.subject + The subject of build success messages. [default: "Build Success"] + + + MailLogger.body.encoding + The encoding type of the body of the e-mail message. [default: system's ANSI code page] + + + + + + + Initializes a new instance of the + class. + + + + + Signals that a build has started. + + The source of the event. + A object that contains the event data. + + This event is fired before any targets have started. + + + + + Signals that the last target has finished, and send an e-mail with + the build results. + + The source of the event. + A object that contains the event data. + + + + Receives and buffers log messages. + + The message being logged. + + + + Gets the value of the specified property. + + Properties to obtain value from. + Suffix of property name. "MailLogger" will be prepended internally. + Value returned if property is not present in . + + The value of the specified property; or the default value if the + property is not present in . + + The specified property is not present and no default value has been given. + + + + Buffer in which the message is constructed prior to sending. + + + + + Holds the stack of currently executing projects. + + + + + Contains a strongly typed collection of + objects. + + + + + Initializes a new instance of the + class. + + + + + Initializes a new instance of the + class with the specified instance. + + + + + Initializes a new instance of the + class with the specified array of instances. + + + + + Adds a to the end of the collection. + + The to be added to the end of the collection. + The position into which the new element was inserted. + + + + Adds the elements of a array to the end of the collection. + + The array of elements to be added to the end of the collection. + + + + Adds the elements of a to the end of the collection. + + The to be added to the end of the collection. + + + + Determines whether a is in the collection. + + The to locate in the collection. + + if is found in the + collection; otherwise, . + + + + + Copies the entire collection to a compatible one-dimensional array, starting at the specified index of the target array. + + The one-dimensional array that is the destination of the elements copied from the collection. The array must have zero-based indexing. + The zero-based index in at which copying begins. + + + + Retrieves the index of a specified object in the collection. + + The object for which the index is returned. + + The index of the specified . If the is not currently a member of the collection, it returns -1. + + + + + Inserts a into the collection at the specified index. + + The zero-based index at which should be inserted. + The to insert. + + + + Returns an enumerator that can iterate through the collection. + + + A for the entire collection. + + + + + Removes a member from the collection. + + The to remove from the collection. + + + + Gets or sets the element at the specified index. + + The zero-based index of the element to get or set. + + + + Enumerates the elements of a . + + + + + Initializes a new instance of the class + with the specified . + + The collection that should be enumerated. + + + + Advances the enumerator to the next element of the collection. + + + if the enumerator was successfully advanced + to the next element; if the enumerator has + passed the end of the collection. + + + + + Sets the enumerator to its initial position, which is before the + first element in the collection. + + + + + Gets the current element in the collection. + + + The current element in the collection. + + + + + Implements a for writing information to + the NAnt logging infrastructure. + + + + + Initializes a new instance of the class + for the specified with the specified output + level and format provider. + + Determines the indentation level. + The with which messages will be output to the build log. + An object that controls formatting. + + + + Writes a character array to the text stream. + + The character array to write to the text stream. + + + + Writes a string followed by a line terminator to the text stream. + + The string to write. If is a null reference, only the line termination characters are written. + + + + Writes out a formatted string using the same semantics as + . + + The formatting string. + The object array to write into format string. + + + + Obtains a lifetime service object to control the lifetime policy for + this instance. + + + An object of type used to control the lifetime + policy for this instance. This is the current lifetime service object + for this instance if one exists; otherwise, a new lifetime service + object initialized with a lease that will never time out. + + + + + Gets the in which the output is written. + + + The always writes output in UTF8 + encoding. + + + + + Gets the with which messages will be output to + the build log. + + + + + Used to search for files on the PATH. + + + + The local directory is not searched (since this would already be covered + by normal use of the includes element). + + + Also, advanced pattern matching isn't supported: you need to know the + exact name of the file. + + + + + + Creates a shallow copy of the . + + + A shallow copy of the . + + + + + Creates a shallow copy of the . + + + A shallow copy of the . + + + + + Adds a file to the list of files to be scanned for. + + The filename or search pattern to add to the list. + + + + Scans all direcetories in the PATH environment variable for files. + + + List of matching files found in the PATH. + + + + + Scans all directories in the given environment variable for files. + + The environment variable of which the directories should be scanned. + + List of matching files found in the directory of the given + environment variable. + + + + + Creates a shallow copy of the specified . + + The that should be copied. + + A shallow copy of the specified . + + + + + Central representation of a NAnt project. + + + + The method will initialize the project with the build + file specified in the constructor and execute the default target. + + + + + + + + If no target is given, the default target will be executed if specified + in the project. + + + + + + + + + Constant for the "visiting" state, used when traversing a DFS of + target dependencies. + + + + + Constant for the "visited" state, used when traversing a DFS of + target dependencies. + + + + + Holds the logger for this class. + + + + + Holds the default threshold for build loggers. + + + + + Initializes a new class with the given + document, message threshold and indentation level. + + Any valid build format will do. + The message threshold. + The project indentation level. + + + + Initializes a new class with the given + document, message threshold and indentation level, and using + the specified to load internal configuration + settings. + + Any valid build format will do. + The message threshold. + The project indentation level. + The NAnt should use to initialize configuration settings. + + This constructor is useful for developers using NAnt as a class + library. + + + + + Initializes a new class with the given + source, message threshold and indentation level. + + + The full path to the build file. + This can be of any form that accepts. + + The message threshold. + The project indentation level. + + If the source is a uri of form 'file:///path' then use the path part. + + + + + Initializes a new class with the given + source, message threshold and indentation level, and using + the specified to load internal configuration + settings. + + + The full path to the build file. + This can be of any form that accepts. + + The message threshold. + The project indentation level. + The NAnt should use to initialize configuration settings. + is . + + If the source is a uri of form 'file:///path' then use the path part. + + + + + Dispatches a event to the build listeners + for this . + + The source of the event. + A that contains the event data. + + + + Dispatches a event to the build listeners + for this . + + The source of the event. + A that contains the event data. + + + + Dispatches a event to the build listeners + for this . + + The source of the event. + A that contains the event data. + + + + Dispatches a event to the build listeners + for this . + + The source of the event. + A that contains the event data. + + + + Dispatches a event to the build listeners + for this . + + The source of the event. + A that contains the event data. + + + + Dispatches the event to the build listeners + for this . + + The source of the event. + A that contains the event data. + + + + Dispatches a event to the build listeners + for this . + + A that contains the event data. + + + + Writes a level message to the build log with + the given . + + The to log at. + The message to log. + + + + Writes a level formatted message to the build + log with the given . + + The to log at. + The message to log, containing zero or more format items. + An array containing zero or more objects to format. + + + + Writes a task level message to the build log + with the given . + + The from which the message originated. + The to log at. + The message to log. + + + + Writes a level message to the build log with + the given . + + The from which the message orignated. + The level to log at. + The message to log. + + + + Executes the default target. + + + No top level error handling is done. Any + will be passed onto the caller. + + + + + Executes a specific target, and its dependencies. + + The name of the target to execute. + + Global tasks are not executed. + + + + + Executes a specific target. + + The name of the target to execute. + Whether dependencies should be forced to execute + + Global tasks are not executed. + + + + + Executes the default target and wraps in error handling and time + stamping. + + + if the build was successful; otherwise, + . + + + + + Creates a new from the given . + + The definition. + The new instance. + + + + Creates a new from the given + within a . + + The definition. + The owner . + The new instance. + + + + Expands a from known properties. + + The with replacement tokens. + The location in the build file. Used to throw more accurate exceptions. + The expanded and replaced . + + + + Combines the specified path with the of + the to form a full path to file or directory. + + The relative or absolute path. + + A rooted path, or the of the + if the parameter is a null reference. + + + + + Creates the default and attaches it to + the . + + + + + Increases the of the . + + + + + Decreases the of the . + + + + + Detaches the currently attached instances + from the . + + + + + Attaches the specified build listeners to the . + + The instances to attach to the . + + The currently attached instances will + be detached before the new instances + are attached. + + + + + Inits stuff: + TypeFactory: Calls Initialize and AddProject + Log.IndentSize set to 12 + Project properties are initialized ("nant.* stuff set") + + NAnt Props: + nant.filename + nant.version + nant.location + nant.project.name + nant.project.buildfile (if doc has baseuri) + nant.project.basedir + nant.project.default = defaultTarget + nant.tasks.[name] = true + nant.tasks.[name].location = AssemblyFileName + + + An representing the project definition. + The project message threshold. + The project indentation level. + is . + + + + This method is only meant to be used by the + class and . + + + + + Creates a new based on the project + definition. + + The source of the document.Any form that is valid for can be used here. + + An based on the specified project + definition. + + + + + Configures the platform properties for the current platform. + + NAnt does not support the current platform. + + + + Updates dependent properties when the + is set. + + + + + Topologically sorts a set of targets. + + The name of the root target. The sort is created in such a way that the sequence of targets up to the root target is the minimum possible such sequence. Must not be . + A collection of instances. + + A collection of instances in sorted order. + + There is a cyclic dependecy among the targets, or a named target does not exist. + + + + + Performs a single step in a recursive depth-first-search traversal + of the target dependency tree. + + + The current target is first set to the "visiting" state, and pushed + onto the "visiting" stack. + + + An exception is then thrown if any child of the current node is in + the visiting state, as that implies a circular dependency. The + exception contains details of the cycle, using elements of the + "visiting" stack. + + + If any child has not already been "visited", this method is called + recursively on it. + + + The current target is then added to the ordered list of targets. + Note that this is performed after the children have been visited in + order to get the correct order. The current target is set to the + "visited" state. + + + By the time this method returns, the ordered list contains the + sequence of targets up to and including the current target. + + + The current target to inspect. Must not be . + A collection of instances. + A mapping from targets to states The states in question are "VISITING" and "VISITED". Must not be . + A stack of targets which are currently being visited. Must not be . + The list to add target names to. This will end up containing the complete list of depenencies in dependency order. Must not be . + + A non-existent target is specified + -or- + A circular dependency is detected. + + + + + Builds an appropriate exception detailing a specified circular + dependency. + + The dependency to stop at. Must not be . + A stack of dependencies. Must not be . + + A detailing the specified circular + dependency. + + + + + Gets or sets the indendation level of the build output. + + + The indentation level of the build output. + + + To change the , the + and methods should be used. + + + + + Gets or sets the indentation size of the build output. + + + The indendation size of the build output. + + + + + Gets or sets the default threshold level for build loggers. + + + The default threshold level for build loggers. + + + + + Gets the name of the . + + + The name of the or an empty + if no name is specified. + + + + + Gets or sets the base directory used for relative references. + + + The base directory used for relative references. + + The directory is not rooted. + + + The gets and sets the built-in property + named "nant.project.basedir". + + + + + + Gets the . + + + The . + + + The defines the current namespace + scope and provides methods for looking up namespace information. + + + + + Gets the form of the current project definition. + + + The form of the current project definition. + + + + + Gets a collection of available .NET frameworks. + + + A collection of available .NET frameworks. + + + + + Gets the framework in which NAnt is currently running. + + + The framework in which NAnt is currently running. + + + + + Gets or sets the framework to use for compilation. + + + The framework to use for compilation. + + + We will use compiler tools and system assemblies for this framework + in framework-related tasks. + + + + + Gets the name of the platform on which NAnt is currently running. + + + The name of the platform on which NAnt is currently running. + + + + Possible values are: + + + + win32 + + + unix + + + + NAnt does not support the current platform. + + + + Gets the current target. + + + The current target, or if no target is + executing. + + + + + Gets the path to the build file. + + + The path to the build file, or if the build + document is not file backed. + + + + + Gets the active definition. + + + The active definition. + + + + + Gets the NAnt should use to initialize + configuration settings. + + + The NAnt should use to initialize + configuration settings. + + + + + Gets the name of the target that will be executed when no other + build targets are specified. + + + The name of the target that will be executed when no other + build targets are specified, or if no + default target is specified in the build file. + + + + + Gets a value indicating whether tasks should output more build log + messages. + + + if tasks should output more build log message; + otherwise, . + + + + + The list of targets to build. + + + Targets are built in the order they appear in the collection. If + the collection is empty the default target will be built. + + + + + Gets the properties defined in this project. + + The properties defined in this project. + + + This is the collection of properties that are defined by the system + and property task statements. + + + These properties can be used in expansion. + + + + + + Gets the framework-neutral properties defined in the NAnt + configuration file. + + + The framework-neutral properties defined in the NAnt configuration + file. + + + + This is the collection of read-only properties that are defined in + the NAnt configuration file. + + + These properties can only be used for expansion in framework-specific + and framework-neutral configuration settings. These properties are + not available for expansion in the build file. + + + + + + Gets the instances defined in this project. + + + The instances defined in this project. + + + + This is the collection of instances that + are defined by (eg fileset) declarations. + + + + + + Gets the targets defined in this project. + + + The targets defined in this project. + + + + + Gets the build listeners for this project. + + + The build listeners for this project. + + + + + Holds a value indicating whether a scan for tasks, types and functions + has already been performed for the current runtime framework. + + + + + Initializes a new instance of the + class for the given . + + The that should be configured. + + + + Loads and processes settings from the specified + of the configuration file. + + + + + Processes the framework nodes of the given platform node. + + An representing the platform on which NAnt is running. + + + + Reads the list of global properties specified in the NAnt configuration + file. + + An representing global properties. + + + + Processes the framework environment variables. + + An representing framework environment variables. + The to obtain framework-specific information from. + + + + Gets the value of the specified attribute from the specified node. + + The node of which the attribute value should be retrieved. + The attribute of which the value should be returned. + + The value of the attribute with the specified name or + if the attribute does not exist or has no value. + + + + + Gets the underlying instance. + + + The underlying instance. + + + + + Gets the . + + + The . + + + The defines the current namespace + scope and provides methods for looking up namespace information. + + + + + Constant for the "visiting" state, used when traversing a DFS of + property references. + + + + + Constant for the "visited" state, used when travesing a DFS of + property references. + + + + + Initializes a new instance of the + class holding properties for the given + instance. + + The project for which the dictionary will hold properties. + + + + Performs additional custom processes before inserting a new element + into the instance. + + The key of the element to insert. + The value of the element to insert. + + + + Performs additional custom processes when validating the element + with the specified key and value. + + The key of the element to validate. + The value of the element to validate. + + + + Adds a property that cannot be changed. + + The name of the property. + The value to assign to the property. + + Properties added with this method can never be changed. Note that + they are removed if the method is called. + + + + + Marks a property as a property of which the value is expanded at + execution time. + + The name of the property to mark as dynamic. + + + + Adds a property to the collection. + + The name of the property. + The value to assign to the property. + + + + Determines whether the specified property is listed as read-only. + + The name of the property to check. + + if the property is listed as read-only; + otherwise, . + + + + + Determines whether the specified property is listed as dynamic. + + The name of the property to check. + + if the property is listed as dynamic; + otherwise, . + + + + + Inherits properties from an existing property dictionary Instance. + + Property list to inherit. + The list of properties to exclude during inheritance. + + + + Expands a from known properties. + + The replacement tokens. + The to pass through for any exceptions. + The expanded and replaced string. + + + + Determines whether a property already exists. + + The name of the property to check. + + if the specified property already exists; + otherwise, . + + + + + Removes the property with the specified name. + + The name of the property to remove. + + + + Expands a from known properties. + + The replacement tokens. + The to pass through for any exceptions. + A mapping from properties to states. The states in question are "VISITING" and "VISITED". Must not be . + A stack of properties which are currently being visited. Must not be . + The expanded and replaced string. + + + + Evaluates the given expression string and returns the result + + + + + + + + + + Checks whether the specified property is deprecated. + + The property to check. + + + + Builds an appropriate exception detailing a specified circular + reference. + + The property reference to stop at. Must not be . + A stack of property references. Must not be . + + A detailing the specified circular + dependency. + + + + + Maintains a list of the property names that are readonly. + + + + + Maintains a list of the property names of which the value is expanded + on usage, not at initalization. + + + + + The project for which the dictionary holds properties. + + + + + Indexer property. + + + + + Gets the project for which the dictionary holds properties. + + + The project for which the dictionary holds properties. + + + + + Initializes a new instance of the class. + + + + + Creates a shallow copy of the . + + + A shallow copy of the . + + + + + Creates a shallow copy of the . + + + A shallow copy of the . + + + + + Executes dependent targets first, then the target. + + + + + This indicates whether the target has already executed. + + + + + The name of the target. + + + + Hides to have + return the name of target, not the name of XML element - which + would always be target. + + + Note: Properties are not allowed in the name. + + + + + + If then the target will be executed; + otherwise, skipped. The default is . + + + + + Gets a value indicating whether the target should be executed. + + + if the target should be executed; otherwise, + . + + + + + Opposite of . If + then the target will be executed; otherwise, skipped. The default + is . + + + + + Gets a value indicating whether the target should NOT be executed. + + + if the target should NOT be executed; + otherwise, . + + + + + The description of the target. + + + + + Space separated list of targets that this target depends on. + + + + + A collection of target names that must be executed before this + target. + + + + + Finds a target by name. + + The name of the target to find. + + The with the specified name, or + if no exists with + the given name. + + + + + Gets the names of the targets in the + combined into one list separated by the given . + + + A that contains a list of the names of the + targets in the , separated by + the specified . + + + + + Gets the names of the targets in the + combined into one comma-separated list. + + + A that contains a comma-separated list of the + names of the targets in the . + + + + + Creates a new instance of the class + for the specified task class in the assembly specified. + + The class representing the task. + The assembly containing the task./// + + + + Gets the from which the task identified by + will be created. + + + The from which the task identified by + will be created. + + + + + Gets the name of the task class that can be created using this + . + + + The name of the task class that can be created using this + . + + + + + Gets the filename of the from which the + task will be created. + + + The filename of the from which the task will + be created, or to create the task from the + executing . + + + + + Gets the name of the task which the + can create. + + + The name of the task which the can + create. + + + + + Contains a strongly typed collection of objects. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with the specified instance. + + + + + Initializes a new instance of the class + with the specified array of instances. + + + + + Adds a to the end of the collection. + + The to be added to the end of the collection. + The position into which the new element was inserted. + + + + Adds the elements of a array to the end of the collection. + + The array of elements to be added to the end of the collection. + + + + Adds the elements of a to the end of the collection. + + The to be added to the end of the collection. + + + + Determines whether a is in the collection. + + The to locate in the collection. + + if is found in the + collection; otherwise, . + + + + + Determines whether a for the specified + task is in the collection. + + The name of task for which the should be located in the collection. + + if a for the + specified task is found in the collection; otherwise, . + + + + + Copies the entire collection to a compatible one-dimensional array, starting at the specified index of the target array. + + The one-dimensional array that is the destination of the elements copied from the collection. The array must have zero-based indexing. + The zero-based index in at which copying begins. + + + + Retrieves the index of a specified object in the collection. + + The object for which the index is returned. + + The index of the specified . If the is not currently a member of the collection, it returns -1. + + + + + Inserts a into the collection at the specified index. + + The zero-based index at which should be inserted. + The to insert. + + + + Returns an enumerator that can iterate through the collection. + + + A for the entire collection. + + + + + Removes a member from the collection. + + The to remove from the collection. + + + + Gets or sets the element at the specified index. + + The zero-based index of the element to get or set. + + + + Gets the for the specified task. + + The name of task for which the should be located in the collection. + + + + Enumerates the elements of a . + + + + + Initializes a new instance of the class + with the specified . + + The collection that should be enumerated. + + + + Advances the enumerator to the next element of the collection. + + + if the enumerator was successfully advanced + to the next element; if the enumerator has + passed the end of the collection. + + + + + Sets the enumerator to its initial position, which is before the + first element in the collection. + + + + + Gets the current element in the collection. + + + The current element in the collection. + + + + + Comprises all of the loaded, and available, tasks. + Use these static methods to register, initialize and create a task. + + + + + Scans the given assembly for tasks, types, functions and filters. + + The assembly to scan for tasks, types, functions and filters. + The which will be used to output messages to the build log. + + + + Scans the given assembly for tasks, types, functions and filters. + + The assembly to scan for tasks, types, functions and filters. + The which will be used to output messages to the build log. + + if contains at + least one "extension"; otherwise, . + + + + + Scans the path for any task assemblies and adds them. + + The directory to scan in. + The which will be used to output messages to the build log. + indicating whether scanning of the directory should halt on first error. + + + + Adds any task assemblies in the project base directory + and its tasks subdirectory. + + The project to work from. + + + + Looks up a function by name. + + The name of the function to lookup, including namespace prefix. + The in which the function is invoked. + + A representing the function, or + if a function with the given name does not + exist. + + + + + Creates a new instance for the given XML and + . + + The XML to initialize the task with. + The that the belongs to. + + The new instance. + + + + + Scans a given for tasks. + + The to scan. + The which will be used to output messages to the build log. + + if represents a + ; otherwise, . + + + + + Scans a given for data type. + + The to scan. + The which will be used to output messages to the build log. + + if represents a + data type; otherwise, . + + + + + Scans a given for functions. + + The to scan. + The which will be used to output messages to the build log. + + if represents a + valid set of funtions; otherwise, . + + + + + Scans a given for filters. + + The to scan. + The which will be used to output messages to the build log. + + if represents a + ; otherwise, . + + + + + Gets the list of loaded instances. + + + List of loaded instances. + + + + + Gets the list of loaded instances. + + + List of loaded instances. + + + + + Gets the list of loaded instances. + + + List of loaded instances. + + + + + Initializes a new instance of the + class. + + + + + Initializes a new instance of the + class with a descriptive message. + + A descriptive message to include with the exception. + + + + Initializes a new instance of the + class with the specified descriptive message and inner exception. + + A descriptive message to include with the exception. + A nested exception that is the cause of the current exception. + + + + Initializes a new instance of the + class with a descriptive message and the location in the build file + that caused the exception. + + A descriptive message to include with the exception. + The location in the build file where the exception occured. + + + + Initializes a new instance of the + class with a descriptive message, the location in the build file and + an instance of the exception that is the cause of the current + exception. + + A descriptive message to include with the exception. + The location in the build file where the exception occured. + A nested exception that is the cause of the current exception. + + + + Initializes a new instance of the + class with serialized data. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a descriptive message. + + A descriptive message to include with the exception. + + + + Initializes a new instance of the class + with the specified descriptive message and inner exception. + + A descriptive message to include with the exception. + A nested exception that is the cause of the current exception. + + + + Initializes a new instance of the class + with the specified . + + of the invalid volume. + + + + Initializes a new instance of the class + with serialized data. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + + + + Represents the different types of drives that may exist in a system. + + + + + Represents the different supporting flags that may be set on a file system. + + + + + Presents information about a volume. + + + + + Initializes a new instance of the class. + + + Uses a private access modifier to prevent instantiation of this class. + + + + + Determines whether the file system is case sensitive. Performs a + P/Invoke to the Win32 API GetVolumeInformation. + + + + if the specified volume is case-sensitive; + otherwise, . + + + + + Used to wrap log messages in xml <message/> elements. + + + + + Holds the stack of currently executing projects. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with serialized data. + + The that holds the serialized object data. + The that contains contextual information about the source or destination. + + + + Populates with the data needed to serialize + the instance. + + The to populate with data. + The destination for this serialization. + + + + Returns the contents of log captured. + + + + + Signals that a build has started. + + The source of the event. + A object that contains the event data. + + This event is fired before any targets have started. + + + + + Signals that the last target has finished. + + The source of the event. + A object that contains the event data. + + This event will still be fired if an error occurred during the build. + + + + + Signals that a target has started. + + The source of the event. + A object that contains the event data. + + + + Signals that a target has finished. + + The source of the event. + A object that contains the event data. + + This event will still be fired if an error occurred during the build. + + + + + Signals that a task has started. + + The source of the event. + A object that contains the event data. + + + + Signals that a task has finished. + + The source of the event. + A object that contains the event data. + + This event will still be fired if an error occurred during the build. + + + + + Signals that a message has been logged. + + The source of the event. + A object that contains the event data. + + Only messages with a priority higher or equal to the threshold of + the logger will actually be output in the build log. + + + + + Flushes buffered build events or messages to the underlying storage. + + + + + Gets or sets the highest level of message this logger should respond + to. + + + The highest level of message this logger should respond to. + + + Only messages with a message level higher than or equal to the given + level should be written to the log. + + + + + Gets or sets a value indicating whether to produce emacs (and other + editor) friendly output. + + + as it has no meaning in XML format. + + + + + Gets or sets the to which the logger is + to send its output. + + +
+
diff --git a/Tools/MbUnit/NGraphviz.Helpers.dll b/Tools/MbUnit/NGraphviz.Helpers.dll new file mode 100644 index 00000000..a84595fa Binary files /dev/null and b/Tools/MbUnit/NGraphviz.Helpers.dll differ diff --git a/Tools/MbUnit/NGraphviz.Layout.dll b/Tools/MbUnit/NGraphviz.Layout.dll new file mode 100644 index 00000000..291597ca Binary files /dev/null and b/Tools/MbUnit/NGraphviz.Layout.dll differ diff --git a/Tools/MbUnit/NGraphviz.dll b/Tools/MbUnit/NGraphviz.dll new file mode 100644 index 00000000..53b9fce3 Binary files /dev/null and b/Tools/MbUnit/NGraphviz.dll differ diff --git a/Tools/MbUnit/QuickGraph.Algorithms.Graphviz.dll b/Tools/MbUnit/QuickGraph.Algorithms.Graphviz.dll new file mode 100644 index 00000000..2addea07 Binary files /dev/null and b/Tools/MbUnit/QuickGraph.Algorithms.Graphviz.dll differ diff --git a/Tools/MbUnit/QuickGraph.Algorithms.dll b/Tools/MbUnit/QuickGraph.Algorithms.dll new file mode 100644 index 00000000..b70672ef Binary files /dev/null and b/Tools/MbUnit/QuickGraph.Algorithms.dll differ diff --git a/Tools/MbUnit/QuickGraph.dll b/Tools/MbUnit/QuickGraph.dll new file mode 100644 index 00000000..5f7dbbf6 Binary files /dev/null and b/Tools/MbUnit/QuickGraph.dll differ diff --git a/Tools/MbUnit/Refly.dll b/Tools/MbUnit/Refly.dll new file mode 100644 index 00000000..a89da964 Binary files /dev/null and b/Tools/MbUnit/Refly.dll differ diff --git a/Tools/MbUnit/TestDriven.Framework.dll b/Tools/MbUnit/TestDriven.Framework.dll new file mode 100644 index 00000000..14985074 Binary files /dev/null and b/Tools/MbUnit/TestDriven.Framework.dll differ diff --git a/Tools/MbUnit/TestFu.XML b/Tools/MbUnit/TestFu.XML new file mode 100644 index 00000000..30fe067d --- /dev/null +++ b/Tools/MbUnit/TestFu.XML @@ -0,0 +1,5483 @@ + + + + TestFu + + + + + Static helper class for creating data binders + + + + + Summary description for DataGeneratorCollection. + + + + + A collection of . + + + + + + Adds a to the collection. + + + to add to the collection. + + + is a null reference + (Nothing in Visual Basic) + + + + + Removes a from the collection. + + + to remove from the collection. + + + is a null reference + (Nothing in Visual Basic) + + + + + Removes a associated to + from the collection. + + + whose generator is to be removed from the collection. + + + is a null reference + (Nothing in Visual Basic) + + + + + Removes a associated to + from the collection. + + + Column named whose generator is to be removed from the collection. + + + is a null reference + (Nothing in Visual Basic) + + + + + Gets the associated to the + . + + + is a null reference + (Nothing in Visual Basic) + + + + + Gets the associated to the column named + . + + + is a null reference + (Nothing in Visual Basic) + + + + + A collection of . + + + + + + Summary description for TablePopulatorCollection. + + + + + A collection of . + + + + + + A collection of . + + + + + + Abstract class to perform administrative tasks on a database + + + + + + Initializes an instance of with the connection string. + + + Connection string to the SQL server without initial catalog + + + Catalog name + + + is a null reference (Nothing in Visual Basic) + + + + + Creates a backup of the specified database using the specified + and . + + + A defining the type of output device. + + + Device path. + + + is a null + reference (Nothing in Visual Basic) + + + + + Restores a backup of the specified database using the specified + and . + + + A defining the type of output device. + + + Device path. + + + is a null + reference (Nothing in Visual Basic) + + + + If you plan to override an existing database, you must first drop this database. + This method takes a conservative behavior and will not override an existing database. + + + + + + Creates a new database on the server + + + + + Drops an existing new database on the server + + + is a null + reference (Nothing in Visual Basic) + + + + + Gets a value indicating if the current database exists. + + + true if it exists; otherwise, false. + + + + + Drops the table. + + + Name of the table to drop + + + + This method takes care of removing the constraints associated + to the table before removing the table. + + + + + + Gets a value indicating if the database contains + the table. + + + Name of the table to search + + + true if a table named is contained + in the databse;oterwise false. + + + + + Executes a non-query in a safe, transactional environement. + + + Query to execute. + + + + + Gets or sets the connection string with Initial Catalog information + + + Connection string. + + + + + Gets or sets the database name + + + The database name. + + + + + Gets or sets the database owner. + + + Database owner name. + + + + + Gets the connection string with Initial Catalog information. + + + Connection string with Initial catalog information. + + + + + Enumeration of available SQL backup devices + + + + + + DISK device + + + + + TAPE device + + + + + Output to named dump + + + + + A factory for and + instances. + + + + + + Creates a instance. + + + Connection string to server + + + A instance. + + + + + An abstract base class for test fixtures involving database testing. + + +The DbFixture (SqlFixture for MsSQL server) can be used as a base class for the +fixtures involving database testing. + +[TestFixture] +public class DatabaseTest : SqlFixture +{ + public DatabaseTest() + :base("Data Source=testserver;...","MyTestDatabase") + {} + + [SetUp] + public void SetUp() + { + this.Open(); + this.BeginTransaction(); + } + + [Test] + public void Selec() + { + IDbCollection cmd = this.Connection.CreateCommand("select * from anytable",this.Transaction); + ... + } + + [TearDown] + public void TearDown() + { + this.Close(); + } +} + + + + + + Initializes a with a connection string. + + + Connection string for accessing the test database. + + + is a null reference + (Nothing in Visual Basic) + + + + + Opens a instance with the + . + + + + This method must be implemented in inherited classes for different factorys. + + + + + + Executes a non-query command with the given parameters + + + Query format string + + + Query arguments for the format string + + + Number of affected rows + + + + The connection is automatically opened if necessary. + + + + + + Executes a scalar query with the given parameters + + + Query format string + + + Query arguments for the format string + + + Query result + + + + The connection is automatically opened if necessary. + + + + + + Executes query and returns the + instance + + + Query format string + + + Query arguments for the format string + + + A resulting from the query. + + + + The connection is automatically opened if necessary and the reader + is created with + option. + + + + + + Begins a new transaction. + + + + If a previous transaction was opened, by default, it is rolled back. + + + + The current connection is not created or not opened. + + + + + Commits the current transaction if any. + + + + + Rollsback the current transaction if any. + + + + + Closes the current connection. + + + + If a transaction was opened, it is first rolled back. + + + + + + Gets the database instance + + + A instance. + + + + + Gets the current connection instance. + + + instance. + + + + + Gets the current transaction. + + + A instance if was called + and the connection not closed; otherwise, a null reference (Nothing in Visual Basic) + + + + + Gets the connection string to access the db server (without + database information. + + + + + Gets the test database name. + + + + + + Gets the connection string to connecto the test database. + + + + + A random data generator for values. + + + + This method generates Byte arrays with length in the range + [, ]. + + + + + + Abstract base class from instance. + + + + + An random data generator. + + + + + + Resets the generator + + + + + Generates a new value and fills it in the corresponding . + + + + It is the user job to ensure that the instance + provided is compatible with the generator definition and more + specifically the it is associated with. + + + + + + Gets the generated type + + + Generated . + + + + + Gets or sets the probability to produce a NULL + + + This value determines the probability to produce a null value. + The probability ranges from + 0 - never, to 1 - always. + + + The probability to produce a null object. + + + + + Gets the target column + + + Target instance. + + + + + Resets the generator + + + + + Generates a new value + + + New random data. + + + + + Updates the internal data and verifies column information. + + + + + Gets the generated type + + + Generated type. + + + + + Gets the target column + + + Target instance. + + + + + Gets or sets the probability to produce a NULL + + + This value determines the probability to produce a null value. The probability ranges from + 0, never to 1 always. + + + The probability to produce a null object. + + + + + Generates a new value + + + New random data. + + + + + Gets the generated type + + + Generated type. + + + + + Gets or sets the minimum length of the generated value + + + Minimum generated length. Default is 16. + + + + + Gets or sets the maximum generated value + + + Maximum generated length. Default is 16. + + + + + A random generator of values. + + + + + Creates an instance with equal to 0.5. + + + + + Generates a new value + + + New random data. + + + + + Gets the generated type + + + Generated type. + + + + + Gets or sets the probability to return true. + + + Probability to return true. + + + is not in [0,1]. + + + + + A random data generator for values. + + + + This method generates byte values in a range [, ]. + + + + + + Generates a new value + + + New random data. + + + + + Gets the generated type + + + Generated type. + + + + + Gets or sets the minimum generated value + + + Minimum generated value. Default is + + + + + Gets or sets the maximum generated value + + + Maximum generated value. Default is + + + + + A random data generator for values. + + + + This method generates DateTime values in a range [, ]. + + + + + + Generates a new value + + + New random data. + + + + + Gets the generated type + + + Generated type. + + + + + Gets or sets the minimum generated value + + + Minimum generated value. Default is + + + + + Gets or sets the maximum generated value + + + Maximum generated value. Default is + + + + + A random data generator for values. + + + + This method generates decimal values in a range [, ]. + + + + + + Generates a new value + + + New random data. + + + + + Gets the generated type + + + Generated type. + + + + + Gets or sets the minimum generated value + + + Minimum generated value. Default is + + + + + Gets or sets the maximum generated value + + + Maximum generated value. Default is + + + + + A random data generator for values. + + + + This method generates double values in a range [, ]. + + + + + + Generates a new value + + + New random data. + + + + + Gets the generated type + + + Generated type. + + + + + Gets or sets the minimum generated value + + + Minimum generated value. Default is + + + + + Gets or sets the maximum generated value + + + Maximum generated value. Default is + + + + + A random generator of values. + + + + + Generates a new value + + + New random data. + + + + + Gets the generated type + + + Generated type. + + + + + A random data generator for binary values. + + + + This method generates a bitmap of size + [ by ]. + + + + + + Gets the generated type + + + Generated type. + + + + + Gets or sets the pixel format + + + + + + A random data generator for values. + + + + This method generates int values in a range [, ]. + + + + + + Generates a new value + + + New random data. + + + + + Gets the generated type + + + Generated type. + + + + + Gets or sets the minimum generated value + + + Minimum generated value. Default is + + + + + Gets or sets the maximum generated value + + + Maximum generated value. Default is + + + + + A random data generator for values. + + + + This method generates int values in a range [, ]. + + + + + + Generates a new value + + + New random data. + + + + + Gets the generated type + + + Generated type. + + + + + Gets or sets the minimum generated value + + + Minimum generated value. Default is + + + + + Gets or sets the maximum generated value + + + Maximum generated value. Default is + + + + + A random data generator for values. + + + + This method generates int values in a range [, ]. + + + + + + Generates a new value + + + New random data. + + + + + Gets the generated type + + + Generated type. + + + + + Gets or sets the minimum generated value + + + Minimum generated value. Default is + + + + + Gets or sets the maximum generated value + + + Maximum generated value. Default is + + + + + A random generator of instances. + + + + + Initializes a new instance of . + + + + + + Gets the generated type + + + Generated type. + + + + + Gets or sets the minimum length of the string + + + Minimum length of the string. + + + set proprety, the value is negative. + + + + + Gets or sets the maximum length of the string + + + Maximum length of the string. + + + set proprety, the value is less than 1. + + + + + A random data generator for values. + + + + This method generates float values in a range [, ]. + + + + + + Generates a new value + + + New random data. + + + + + Gets the generated type + + + Generated type. + + + + + Gets or sets the minimum generated value + + + Minimum generated value. Default is + + + + + Gets or sets the maximum generated value + + + Maximum generated value. Default is + + + + + Generates a new value + + + New random data. + + + + + Generates a new value + + + New random data. + + + + + + + + This method generates float values in a range [, ]. + + + + + + Generates a new value + + + New random data. + + + + + Gets the generated type + + + Generated type. + + + + + Gets or sets the minimum generated value + + + Minimum generated value. Default is 0 + + + + + Gets or sets the maximum generated value + + + Maximum generated value. Default is 0 + + + + + A random generator of instances. + + + + + Initializes a new instance of . + + + + + + Generates a new value + + + New random data. + + + + + Gets or sets the string containing the generated characters + + + + + + A graph of (vertices) and + (edges). + + + + + Builds a new empty directed graph with default vertex and edge + provider. + + + + + + + Remove all of the edges and vertices from the graph. + + + + + Add a new DataTableVertex to the graph and returns it. + + + Created vertex + + + + + Removes the vertex from the graph. + + vertex to remove + v is null + + + + Add a new vertex from source to target + + Complexity: 2 search + 1 insertion + + Source vertex + Target vertex + Created Edge + + source or target is a null reference + + source or target are not part of the graph + + + + Remove all edges to and from vertex u from the graph. + + + + + + Removes an edge from the graph. + + Complexity: 2 edges removed from the vertex edge list + 1 edge + removed from the edge list. + + edge to remove + + e is a null reference (Nothing in Visual Basic) + + + is not part of the graph + + + + + Remove the edge (u,v) from the graph. + If the graph allows parallel edges this remove all occurrences of + (u,v). + + source vertex + target vertex + + + + Add a new vertex to the graph and returns it. + + Create vertex + + + + Used for serialization. Not for private use. + + edge to add. + + + + Gets a value indicating if the set of out-edges is empty + + + + Usually faster that calling . + + + + true if the out-edge set is empty, false otherwise. + + + v is a null reference (Nothing in Visual Basic) + + + v is not part of the graph. + + + + + Returns the number of out-degree edges of v + + vertex + number of out-edges of the v + + v is a null reference (Nothing in Visual Basic) + + + v is not part of the graph. + + + + + Returns an iterable collection over the edge connected to v + + + out-edges of v + + v is a null reference. + + + v is not part of the graph. + + + + + Test is an edge (u,v) is part of the graph + + source vertex + target vertex + true if part of the graph + + + + Returns the first out-edge that matches the predicate + + + Edge predicate + null if not found, otherwize the first Edge that + matches the predicate. + v or ep is null + + + + Returns the collection of out-edges that matches the predicate + + + Edge predicate + enumerable colleciton of vertices that matches the + criteron + v or ep is null + + + + Remove all the edges from graph g for which the predicate pred + returns true. + + edge predicate + + + + Remove all the out-edges of vertex u for which the predicate pred + returns true. + + vertex + edge predicate + + + + Tests if a is part of the graph + + Vertex to test + true if is part of the graph, false otherwize + + + + Returns the first that matches the predicate + + vertex predicate + null if not found, otherwize the first vertex that + matches the predicate. + vp is null + + + + Returns the collection of vertices that matches the predicate + + vertex predicate + enumerable colleciton of vertices that matches the + criteron + vp is null + + + + Tests if a () is part of the graph + + Edge to test + true if is part of the graph, false otherwize + + + + Returns the first Edge that matches the predicate + + Edge predicate + null if not found, otherwize the first Edge that + matches the predicate. + ep is null + + + + Returns the collection of edges that matches the predicate + + Edge predicate + enumerable colleciton of vertices that matches the + criteron + ep is null + + + + Gets an enumerable collection of adjacent vertices + + + Enumerable collection of adjacent vertices + + + + Gets a value indicating if the set of in-edges is empty + + + + Usually faster that calling . + + + + true if the in-edge set is empty, false otherwise. + + + v is a null reference (Nothing in Visual Basic) + + + is not part of the graph. + + + + + Returns the number of in-degree edges of v + + + number of in-edges of the vertex v + + v is a null reference (Nothing in Visual Basic) + + + is not part of the graph. + + + + + Returns an iterable collection over the in-edge connected to v + + + in-edges of v + + v is a null reference (Nothing in Visual Basic) + + + is not part of the graph. + + + + + Incidence graph implementation + + + + + Gets a value indicating if the set of edges connected to v is empty + + + + Usually faster that calling . + + + + true if the adjacent edge set is empty, false otherwise. + + v is a null reference + + + + Returns the number of in-edges plus out-edges. + + + + + + + Returns the first in-edge that matches the predicate + + + Edge predicate + null if not found, otherwize the first Edge that + matches the predicate. + v or ep is null + + + + Returns the collection of in-edges that matches the predicate + + + Edge predicate + enumerable colleciton of vertices that matches the + criteron + v or ep is null + + + + + + + + + + + + Remove all the out-edges of vertex u for which the predicate pred + returns true. + + vertex + edge predicate + + + + Gets a value indicating if the + is directed. + + + true if the graph is directed, false if undirected. + + + + + Gets a value indicating if the allows parallel edges. + + + true if the is a multi-graph, false otherwise + + + + + Gets the provider + + + provider + + + + + Gets the provider + + + provider + + + + + Gets a value indicating if the vertex set is empty + + + Usually faster (O(1)) that calling VertexCount. + + + true if the vertex set is empty, false otherwise. + + + + + Gets the number of vertices + + + Number of vertices in the graph + + + + + Enumerable collection of vertices. + + + + + Gets a value indicating if the vertex set is empty + + + + Usually faster that calling . + + + + true if the vertex set is empty, false otherwise. + + + + + Gets the edge count + + + Edges count + + + + + Enumerable collection of edges. + + + + + Initializes a new empty instance of the + class. + + + + + Adds an instance of type to the end of this + . + + + The Edge to be added to the end of this EdgeCollection. + + + + + Removes the first occurrence of a specific Edge from this EdgeCollection. + + + The Edge value to remove from this EdgeCollection. + + + + + Determines whether a specfic value is in this EdgeCollection. + + + edge value to locate in this . + + + true if value is found in this collection; + false otherwise. + + + + + Returns an enumerator that can iterate through the elements of this EdgeCollection. + + + An object that implements System.Collections.IEnumerator. + + + + + Gets or sets the Edge at the given index in this EdgeCollection. + + + + + Create a new enumerator on the collection + + collection to enumerate + + + + Moves cursor to next element. + + true if current is valid, false otherwize + + + + Resets the cursor to the position before the first element. + + + + + The current element. + + + + + A populator of instance. + + + + + A with a instance. + + + + + A validator check checks constraints + + + + + Preprocesses the row modifies it to fullfill the constraint + + + + + + A database populator instance. + + + + + + Sets up the generators for the given + instance. + + + A representing the structure of the + database to populate. + + + is a null reference (Nothing in + Visual Basic) + + + + + Gets the instance associated + to this populator. + + + A schema used to set-up the generators. + + + + + Gets a collection associated + to each table. + + + A containing + populator associated to each . + + + + + Gets the associated to the + database. + + + + + + An instance that can fill a with + data that are compatible with a + given . + + + + + + Fill the row with data that is compatible with + the foreign key. + + + instance to fill. + + + is a null reference (Nothing + in Visual Basic). + + + + + Gets the table populator associated to the foreign table. + + + The instance + associated to the foreign + table. + + + + + Gets the foreign constraint that needs to be satisfied. + + + The associated to this + provider. + + + + + Gets a value indicating that the foreign table is empty and + cannot provide keys. + + + true if the foreign table is empty; otherwise false. + + + + + An random generator compatible with the schema + of a given . + + + +This example shows how the data generator can be used to create unit tests on database. In this example, +we setup the dummy UserOrderProductDatabase and +the populator in the SetUp method. + + +using System; +using System.Data; +using MbUnit.Core.Framework; +using MbUnit.Framework; +using TestFu.Data; +using TestFu.Data.Populators; + +namespace TestFu.Tests.Data +{ + [TestFixture] + public class DatabasePopulatorTest + { + private UserOrderProductDatabase db; + private DatabasePopulator pop; + private ITablePopulator users; + private ITablePopulator orders; + private ITablePopulator products; + private ITablePopulator orderProducts; + + [SetUp] + public void SetUp() + { + this.db=new UserOrderProductDatabase(); + this.pop = new DatabasePopulator(); + this.pop.Populate(this.db.DataSet); + + this.users=this.pop.Tables[this.db.Users]; + this.orders=this.pop.Tables[this.db.Orders]; + this.products=this.pop.Tables[this.db.Products]; + this.orderProducts=this.pop.Tables[this.db.OrderProducts]; + } + + [Test] + public void AddOneUser() + { + DataRow row = users.Generate(); + this.db.Users.Rows.Add(row); + } + + [Test] + public void AddOneUserOneOrder() + { + this.AddOneUser(); + DataRow row = orders.Generate(); + this.db.Orders.Rows.Add(row); + } + + [Test] + [ExpectedException(typeof(InvalidOperationException))] + public void AddOneOrder() + { + DataRow row = orders.Generate(); + } + + [Test] + [ExpectedException(typeof(InvalidOperationException))] + public void AddOneOrderProduct() + { + DataRow row = orderProducts.Generate(); + } + + [Test] + public void AddOneUserOneOrderOneProduct() + { + this.AddOneUserOneOrder(); + + DataRow row = products.Generate(); + this.db.Products.Rows.Add(row); + } + + [Test] + public void AddOneUserOneOrderOneProductOneProductOrder() + { + this.AddOneUserOneOrderOneProduct(); + DataRow row=orderProducts.Generate(); + this.db.OrderProducts.Rows.Add(row); + } + + [Test] + public void AddTwoUsers() + { + AddOneUser(); + AddOneUser(); + } + + [TearDown] + public void Check() + { + this.db.AcceptChanges(); + Console.WriteLine(db.ToString()); + } + } +} + + + + + + Generates a new . + + + Generated instance. + + + + + Updates randomly a number of rows + + + + + + Updates randomly a number of rows + + + + + + Gets an instance of the $ + that contains this populator. + + + Parent instance. + + + + + Gets the instance that is the model + to be populated. + + + A instance whos schema is used to create + new . + + + + + Gets a collection of + associated to each . + + + A instance + containing the validators associated to each unique constraint. + + + + + Gets a collection of + associated to each . + + + A instance + containing the providers associated to each foreign key. + + + + + Gets a collection of associated + to each column of the table. + + + A instance + containing the generators associated to each column. + + + + + Gets the that ensures CHECK constraints. + + + A instance if any check constraint to verify; + otherwize a null reference. + + + + + Gets the latest generated . + + + Latest generated . + + + + + A validator for constraints. + + + + + + + The TestFu.Data namespace contains a + Random generator + to help developer test databases, data layers, business layers, + etc... + + + + +This example shows some usage of the class. This class can be used to easily backup, restore, create or drop +databases on a server. is the implementation for the MSSQL server: +[C#] +using System; +using TestFu.Data; + +public class Demo +{ + public static void Main(string[] args) + { + DbAdministrator admin = new SqlAdministrator("..."); + + // backup Northwind + admin.Backup("Northwind",SqlBackupDevice.Disk,@"c:\Backups\Northwind.bkp"); + + // drop Northwind + admin.Drop("Northwind"); + + // restore Northwind + admin.Restore("Northwind",SqlBackupDevice.Disk,@"c:\Backups\Northwind.bkp"); + } +} + + + +The DbFixture (SqlFixture for MsSQL server) can be used as a base class for the +fixtures involving database testing. + +[TestFixture] +public class DatabaseTest : SqlFixture +{ + public DatabaseTest() + :base("Data Source=testserver;...","MyTestDatabase") + {} + + [SetUp] + public void SetUp() + { + this.Open(); + this.BeginTransaction(); + } + + [Test] + public void Selec() + { + IDbCollection cmd = this.Connection.CreateCommand("select * from anytable",this.Transaction); + ... + } + + [TearDown] + public void TearDown() + { + this.Close(); + } +} + + +This example shows how the data generator can be used to create unit tests on database. In this example, +we setup the dummy UserOrderProductDatabase and +the populator in the SetUp method. + + +using System; +using System.Data; +using MbUnit.Core.Framework; +using MbUnit.Framework; +using TestFu.Data; +using TestFu.Data.Populators; + +namespace TestFu.Tests.Data +{ + [TestFixture] + public class DatabasePopulatorTest + { + private UserOrderProductDatabase db; + private DatabasePopulator pop; + private ITablePopulator users; + private ITablePopulator orders; + private ITablePopulator products; + private ITablePopulator orderProducts; + + [SetUp] + public void SetUp() + { + this.db=new UserOrderProductDatabase(); + this.pop = new DatabasePopulator(); + this.pop.Populate(this.db.DataSet); + + this.users=this.pop.Tables[this.db.Users]; + this.orders=this.pop.Tables[this.db.Orders]; + this.products=this.pop.Tables[this.db.Products]; + this.orderProducts=this.pop.Tables[this.db.OrderProducts]; + } + + [Test] + public void AddOneUser() + { + DataRow row = users.Generate(); + this.db.Users.Rows.Add(row); + } + + [Test] + public void AddOneUserOneOrder() + { + this.AddOneUser(); + DataRow row = orders.Generate(); + this.db.Orders.Rows.Add(row); + } + + [Test] + [ExpectedException(typeof(InvalidOperationException))] + public void AddOneOrder() + { + DataRow row = orders.Generate(); + } + + [Test] + [ExpectedException(typeof(InvalidOperationException))] + public void AddOneOrderProduct() + { + DataRow row = orderProducts.Generate(); + } + + [Test] + public void AddOneUserOneOrderOneProduct() + { + this.AddOneUserOneOrder(); + + DataRow row = products.Generate(); + this.db.Products.Rows.Add(row); + } + + [Test] + public void AddOneUserOneOrderOneProductOneProductOrder() + { + this.AddOneUserOneOrderOneProduct(); + DataRow row=orderProducts.Generate(); + this.db.OrderProducts.Rows.Add(row); + } + + [Test] + public void AddTwoUsers() + { + AddOneUser(); + AddOneUser(); + } + + [TearDown] + public void Check() + { + this.db.AcceptChanges(); + Console.WriteLine(db.ToString()); + } + } +} + + +The following codes decribes a simple User - Order - Product database contains 4 tables: +Users, Orders, Products and OrderProducts. + + +using System; +using System.Data; +using System.IO; +using System.Xml; + +namespace TestFu.Tests.Data +{ + public class UserOrderProductDatabase + { + private DataSet dataSet; + private DataTable users; + private DataColumn userID; + private DataColumn userName; + + private DataTable orders; + private DataColumn orderID; + private DataColumn orderDate; + private DataColumn oUserID; + + private DataTable products; + private DataColumn productID; + private DataColumn productName; + private DataColumn productPrice; + + private DataTable orderProducts; + private DataColumn opOrderID; + private DataColumn opProductID; + private DataColumn quantity; + + public UserOrderProductDatabase() + { + this.dataSet=new DataSet(); + + this.users=this.dataSet.Tables.Add("Users"); + this.userID = this.users.Columns.Add("UserID",typeof(int)); + this.userName=this.Users.Columns.Add("UserName",typeof(string)); + this.userName.AllowDBNull=false; + + this.orders=this.dataSet.Tables.Add("Orders"); + this.orderID=this.orders.Columns.Add("OrderID",typeof(int)); + this.orderDate = this.orders.Columns.Add("OrderDate",typeof(DateTime)); + this.oUserID = this.orders.Columns.Add("UserID",typeof(int)); + + this.products=this.dataSet.Tables.Add("Products"); + this.productID=this.products.Columns.Add("ProductID",typeof(int)); + this.productName = this.products.Columns.Add("ProductName",typeof(string)); + this.productPrice = this.products.Columns.Add("ProductPrice",typeof(decimal)); + + this.orderProducts=this.dataSet.Tables.Add("OrderProducts"); + this.opOrderID=this.orderProducts.Columns.Add("OrderID",typeof(int)); + this.opProductID=this.orderProducts.Columns.Add("ProductID",typeof(int)); + this.quantity=this.orderProducts.Columns.Add("Quantity",typeof(int)); + + // pks + users.Constraints.Add("PK_Users",userID,true); + orders.Constraints.Add("PK_Orders",orderID,true); + products.Constraints.Add("PK_Products",productID,true); + orderProducts.Constraints.Add("PK_OrderProducts", + new DataColumn[]{ opOrderID, opProductID} + ,true); + + // fks + orders.Constraints.Add("FK_Orders_Users",userID,oUserID); + orderProducts.Constraints.Add("FK_OrderProducts_Orders",orderID,opOrderID); + orderProducts.Constraints.Add("FK_OrderProducts_Products",productID,opProductID); + } + } +} + + + + + + Default implementation. + + + +This example shows how the data generator can be used to create unit tests on database. In this example, +we setup the dummy UserOrderProductDatabase and +the populator in the SetUp method. + + +using System; +using System.Data; +using MbUnit.Core.Framework; +using MbUnit.Framework; +using TestFu.Data; +using TestFu.Data.Populators; + +namespace TestFu.Tests.Data +{ + [TestFixture] + public class DatabasePopulatorTest + { + private UserOrderProductDatabase db; + private DatabasePopulator pop; + private ITablePopulator users; + private ITablePopulator orders; + private ITablePopulator products; + private ITablePopulator orderProducts; + + [SetUp] + public void SetUp() + { + this.db=new UserOrderProductDatabase(); + this.pop = new DatabasePopulator(); + this.pop.Populate(this.db.DataSet); + + this.users=this.pop.Tables[this.db.Users]; + this.orders=this.pop.Tables[this.db.Orders]; + this.products=this.pop.Tables[this.db.Products]; + this.orderProducts=this.pop.Tables[this.db.OrderProducts]; + } + + [Test] + public void AddOneUser() + { + DataRow row = users.Generate(); + this.db.Users.Rows.Add(row); + } + + [Test] + public void AddOneUserOneOrder() + { + this.AddOneUser(); + DataRow row = orders.Generate(); + this.db.Orders.Rows.Add(row); + } + + [Test] + [ExpectedException(typeof(InvalidOperationException))] + public void AddOneOrder() + { + DataRow row = orders.Generate(); + } + + [Test] + [ExpectedException(typeof(InvalidOperationException))] + public void AddOneOrderProduct() + { + DataRow row = orderProducts.Generate(); + } + + [Test] + public void AddOneUserOneOrderOneProduct() + { + this.AddOneUserOneOrder(); + + DataRow row = products.Generate(); + this.db.Products.Rows.Add(row); + } + + [Test] + public void AddOneUserOneOrderOneProductOneProductOrder() + { + this.AddOneUserOneOrderOneProduct(); + DataRow row=orderProducts.Generate(); + this.db.OrderProducts.Rows.Add(row); + } + + [Test] + public void AddTwoUsers() + { + AddOneUser(); + AddOneUser(); + } + + [TearDown] + public void Check() + { + this.db.AcceptChanges(); + Console.WriteLine(db.ToString()); + } + } +} + + + + + + Initiliazes a instance. + + + + + A querying the databse. + + + + + + Base class for implementation. + + + + + + A based on a . + + + + + + Default implementation of + + + + + + Default implementation of + + + + + + An smart random generator. + + + +This example shows how the data generator can be used to create unit tests on database. In this example, +we setup the dummy UserOrderProductDatabase and +the populator in the SetUp method. + + +using System; +using System.Data; +using MbUnit.Core.Framework; +using MbUnit.Framework; +using TestFu.Data; +using TestFu.Data.Populators; + +namespace TestFu.Tests.Data +{ + [TestFixture] + public class DatabasePopulatorTest + { + private UserOrderProductDatabase db; + private DatabasePopulator pop; + private ITablePopulator users; + private ITablePopulator orders; + private ITablePopulator products; + private ITablePopulator orderProducts; + + [SetUp] + public void SetUp() + { + this.db=new UserOrderProductDatabase(); + this.pop = new DatabasePopulator(); + this.pop.Populate(this.db.DataSet); + + this.users=this.pop.Tables[this.db.Users]; + this.orders=this.pop.Tables[this.db.Orders]; + this.products=this.pop.Tables[this.db.Products]; + this.orderProducts=this.pop.Tables[this.db.OrderProducts]; + } + + [Test] + public void AddOneUser() + { + DataRow row = users.Generate(); + this.db.Users.Rows.Add(row); + } + + [Test] + public void AddOneUserOneOrder() + { + this.AddOneUser(); + DataRow row = orders.Generate(); + this.db.Orders.Rows.Add(row); + } + + [Test] + [ExpectedException(typeof(InvalidOperationException))] + public void AddOneOrder() + { + DataRow row = orders.Generate(); + } + + [Test] + [ExpectedException(typeof(InvalidOperationException))] + public void AddOneOrderProduct() + { + DataRow row = orderProducts.Generate(); + } + + [Test] + public void AddOneUserOneOrderOneProduct() + { + this.AddOneUserOneOrder(); + + DataRow row = products.Generate(); + this.db.Products.Rows.Add(row); + } + + [Test] + public void AddOneUserOneOrderOneProductOneProductOrder() + { + this.AddOneUserOneOrderOneProduct(); + DataRow row=orderProducts.Generate(); + this.db.OrderProducts.Rows.Add(row); + } + + [Test] + public void AddTwoUsers() + { + AddOneUser(); + AddOneUser(); + } + + [TearDown] + public void Check() + { + this.db.AcceptChanges(); + Console.WriteLine(db.ToString()); + } + } +} + + + + + + Helper class to performe task on a SQL server. + + + +This example shows some usage of the class. This class can be used to easily backup, restore, create or drop +databases on a server. is the implementation for the MSSQL server: +[C#] +using System; +using TestFu.Data; + +public class Demo +{ + public static void Main(string[] args) + { + DbAdministrator admin = new SqlAdministrator("..."); + + // backup Northwind + admin.Backup("Northwind",SqlBackupDevice.Disk,@"c:\Backups\Northwind.bkp"); + + // drop Northwind + admin.Drop("Northwind"); + + // restore Northwind + admin.Restore("Northwind",SqlBackupDevice.Disk,@"c:\Backups\Northwind.bkp"); + } +} + + + + + + + Initializes an instance of with the connection string. + + + Connection string to the SQL server without initial catalog + + + Catalog name + + + is a null reference (Nothing in Visual Basic) + + + + + Creates a backup of the specified database using the specified + and . + + + A defining the type of output device. + + + Device path. + + + is a null + reference (Nothing in Visual Basic) + + + + + Restores a backup of the specified database using the specified + and . + + + A defining the type of output device. + + + Device path. + + + is a null + reference (Nothing in Visual Basic) + + + + If you plan to override an existing database, you must first drop this database. + This method takes a conservative behavior and will not override an existing database. + + + Priorly to restore the database, the method kills all the processes associeted + to the database. + + + + + + Creates a new database on the server + + + + + Drops an existing new database on the server + + + is a null + reference (Nothing in Visual Basic) + + + + + Gets the connection string with Initial Catalog information. + + + Connection string with Initial catalog information. + + + + + A implementation for MSSQL server. + + + + + + Creates a instance. + + + + + + + + Creates a instance. + + + Connection string to server + + + A instance. + + + + + Abstract base class for MSSQL server database testing. + + +The DbFixture (SqlFixture for MsSQL server) can be used as a base class for the +fixtures involving database testing. + +[TestFixture] +public class DatabaseTest : SqlFixture +{ + public DatabaseTest() + :base("Data Source=testserver;...","MyTestDatabase") + {} + + [SetUp] + public void SetUp() + { + this.Open(); + this.BeginTransaction(); + } + + [Test] + public void Selec() + { + IDbCollection cmd = this.Connection.CreateCommand("select * from anytable",this.Transaction); + ... + } + + [TearDown] + public void TearDown() + { + this.Close(); + } +} + + + + + Initializes a with a connection string. + + + Connection string for accessing the test database. + + + database name + + + is a null reference + (Nothing in Visual Basic) + + + + + Gets the current connection instance. + + + instance. + + + + + Gets the current transaction. + + + A instance if was called + and the connection not closed; otherwise, a null reference (Nothing in Visual Basic) + + + + + Provides functions to capture the entire screen, or a particular window, and save it to a file. + + + + Source code takened from + http://www.developerfusion.com/show/4630/ + + + + + + Creates an Image object containing a screen shot of the entire desktop + + + + + + Creates an Image object containing a screen shot of the entire desktop + + + + + + Creates an Image object containing a screen shot of the + + + + + Creates an Image object containing a screen shot of a specific window + + The handle to the window. (In windows forms, this is obtained by the Handle property) + + + + + Helper class containing Gdi32 API functions + + + + + Helper class containing User32 API functions + + + + + A that simulates a MouseDown event. + + + + + Abstract base class for + instance. + + + + + Abstract base class for + implementation. + + + + + A user gesture. + + + + User gesture can be a combination of keyboard or mouse + interactions. + + + + + + Executes the gesture + + + + This method should be executed on separate thread + from the main thread, otherwize event will not be + fired correctly. + + + + + + Gets the CodeDom statement creating this gesture + + + + + + Gets the that is targeted + by the gesture + + + + + + Initializes an empty . + + + + + Initializes a new + instance with a form + + + + + + Raises the event. + + + + + + Converts the target from client to + screen coordinates + + + Position in client coordinates + + Position converted into screen coordinates + + + + This method makes a thread safe invokation of the + Form.PointToScreen method. + + + + + + Converts the target from screen to + client coordinates + + + Position in screen coordinates + + Position converted into client coordinates + + + + This method makes a thread safe invokation of the + Form.PointToClient method. + + + + + + Executes the gesture. + + + + + Gets or sets the instance targeted + by the + + + A instance + + + + + Raised when the target is changed + + + + + A mouse gesture. + + + + + Gets or sets a value indicating the + involved in the gesture. + + + A combined value of flags. + + + + + Initializes an new . + + + + + Initializes a new + with a instance and the buttons + involved in the gesture. + + + Target instance + + value representing the + involved in the gesture + + + + + Gets or sets a value indicating the + involved in the gesture. + + + A combined value of flags. + + + + + Initializes a new + + + + + Initializes a new with + a target instance and the left button + + + Target form + + + + Initializes a new with + a target instance and the buttons + + + Target form + + value representing the + involved in the gesture + + + + + Executes the mouse down event + + + + + A that simulates a MouseUp event + + + + + Initialiazes a new . + + + + + Initialiazes a new with + a target . + + + Target form + + + + + Initialiazes a new with + a target . + + + Target form + + + value representing the + involved in the gesture + + + + + Executes the mouse up event + + + + + A that simulates a button click + + + + + Initializes a new + + + + + Initializes a new + with a instance and the left button + + + Target instance + + + + + Initializes a new + with a instance + + + Target instance + + + value representing the + involved in the gesture + + + + + Executes the mouse click + + + + + A that moves the cursor to the + center of a . + + + + + An abstract base class for + implementations + that simulates a mouse movement + + + + + Initializes a new + + + + + Initialiazes a new + with a target form and no buttons + + + Target + + + + + Initialiazes a new + with a target form and the buttons + + + Target + + + value representing the + involved in the gesture + + + + + Steers the mouse towards the target + + + + + Gets the target of the movement, in client coordinates + + + A in client coordinates + + + + + Gets or sets a value indicating the maximum velocity of the + cursor + + + A representing the maximum velocity of the cursor + + + + + Initializes a new + + + + + Initializes a new + with a target and a target + + + + Target form + + Target control + + + + + Initializes a new + with a target , a target + and the buttons pushed during the move + + + Target form + + Target control + + + value representing the + involved in the gesture + + + + + Gets or sets the target + + + A instance where the cursor has to move + + + + + Gets the center of the target . + + + A representing the center of the + target control in client coordiantes + + + + + Offset of the target on the + + + + + + A that steers the cursor to a target + + + + + Initializes a new + + + + + Initializes a new + with a target and a target + + + Target form + + Target in client coordinates + + + + + Initializes a new + with a target and a target + + + Target form + + Target in client coordinates + + + value representing the + involved in the gesture + + + + + Gets the target of the movement, in client coordinates. + + + A in client coordinates + + + + The property value is equal to . + + + + + + Gets or sets the target of the movement, in client coordinates + + + A in client coordinates + + + + + A implementation. + + + + + A mutable collection of + + + + + Adds a instance + to the collection + + + A instance to add to the + collection + + + + + Gets or sets the + at position + + + index of the gesture + + get property, the + at position + + + + + A helper factory of instance. + + + + + Initializes a new + with a instance + + + Target form + + + + Creates a for the + method and starts it. + + + The to execute + + + The started instance + + + + + Creates a instance + with a variable list of instances. + + + gestures to execute in sequence. + + + A instance + + + + Creates a that makes the + thread sleep a given number of milliseconds + + + Duration in milliseconds of the sleep + + + A instance + + + + + Creates a new with + the gesture and the repeat count + + + Target instance + + + Number of repetition + + + A instance + + + + + Creates a + that simulates a left click of the mouse + + + A instance + + + + + Creates a + that simulates a left click of the mouse + + + A instance + + + Control to click + + + + + Creates a + that simulates a left click of the mouse + + + A instance + + + Control to click + + + + + Creates a + that simulates a left click of the mouse + + + value representing the + involved in the gesture + + + A instance + + + + + Creates a new instance + that simulates a Mouse down event (left click) + + + A instance + + + + + Creates a new instance + that simulates a Mouse down event with the buttons + + + value representing the + involved in the gesture + + + A instance + + + + + Creates a new instance + that simulates a Mouse up event (left click) + + + A instance + + + + + Creates a new instance + that simulates a Mouse up event with the buttons + + + value representing the + involved in the gesture + + + A instance + + + + + Creates a + that simulates the movement of the mouse to the target + + + Target client coordinate + + + A instance + + + + + Creates a + that simulates the movement of the mouse to the target + and the buttons down + + + Target client coordinate + + + value representing the + involved in the gesture + + + A instance + + + + + Creates a + that simulates the movement of the mouse to the center + of the + + + Target instance + + + A instance + + + + + Creates a + that simulates the movement of the mouse to the center + of the with the buttons down + + + Target instance + + + value representing the + involved in the gesture + + + A instance + + + + + Creates a instance that simulates + a drag and drop between + and + + + Source client coordinate + + Target client coordinate + + + A instance that simulates the drag and drop + + + + + Creates a instance that simulates + a drag and drop between + and + + + Source client coordinate + + Target + + + A instance that simulates the drag and drop + + + + + Creates a instance that simulates + a drag and drop between + and + + + Source + + + Target client coordinate + + + A instance that simulates the drag and drop + + + + + Creates a instance that simulates + a drag and drop between + and + + + Source + + + Target + + + A instance that simulates the drag and drop + + + + + Creates a instance that simulates + a drag and drop between + and + + + Source + + + Target client coordinate + + + A instance that simulates the drag and drop + + + + + Gets the target instance + + + A instance that is targetted by the gestures + + + + + + The TestFu.Gestures namespace contains classes ( + instances) to simulate user mouse and keyboard interactions. + + + The user interaction are simulated by using native methods + mouse_event and keybd_event. + + + The can be used to rapidly generate + instances. + + + The gestures should not be executed in the main thread but in a worker thread. Otherwize, + you will miss message notifications. All gesture methods on + and are thread safe. + + + + + + A that executes a Repeat of + instances. + + + + + Initializes a new instance + + + + + Initialiazes a new instance + with a instance. + + + Target + + + The gesture to be repeated + + + The number of repetition + + + + Executes the contained in + in Repeat. + + + + + Gets the collection of to execute in Repeat + + + A instance + + + + + Gets or sets the number of gesture repetition + + + The repetition count + + + + + A that executes a sequence of + instances. + + + + + Initializes a new instance + + + + + Initialiazes a new instance + with a instance. + + + Target + + + + + Executes the contained in + in sequence. + + + + + Gets the collection of to execute in sequence + + + A instance + + + + + A that makes the + sleep. + + + + + Initialiazes a new instance. + + + + + Initialiazes a new instance + with a instance and a sleep duration + + + Target instance + + Sleep duration in milliseconds + + + + + Executes the sleep gestures + + + + + Gets or sets the sleep duration (in milliseconds) + + + Number of milliseconds of sleep + + + + + A static helper for artificially generationg mouse + and keyboard input. + + + + This class uses mouse_event and keybd_event native + methods (through interop) to simulate user mouse or keyboard input. + + + + + + Generates a mouse event + + + Combined flag describing the mouse event + + + + + Mouse event with additional data + + + Combined flag describing the mouse event + + + Relative horizontal movement of the cursor + + + Relative vertical movement of the cursor + + Additional data + + + + + Move mouse of units + + + horizontal movement + + vertical movement + + + + + Notfies that a mouse movement is starting + with the buttons settings + + + Combined flag describing the current button + state + + + + + Notfies that a mouse movement is finishing + with the buttons settings + + + Combined flag describing the current button + state + + + + + Mouse click using button state + + + Combined flag describing the current button + state + + + + + Mouse down event + + + + + + Mouse up event + + + + + + Mouse wheel event + + + Wheel movement + + + + Simulates a Key action (KeyDown, Key, KeyUp message sequence) + + character pressed + handle of control to receive the event + + + + Simulates a Backspace + + handle of control to receive the event + + + + Simulates a user typing text + + text to enter + handle of control to receive the event + + + + Mouse even type enumeration + + + + + No event + + + + + Mouse move where dx,dy are in absolute coordinate + + + + + Left button bown + + + + + Left button up + + + + + Middle button down + + + + + middle button up + + + + + Mouse moved + + + + + Right button down + + + + + Right button up + + + + + Mouse wheel movement + + + + + Additional button down + + + + + Additional button up + + + + + A that choose from a set of sub-. + + + + + Abstract rule containing other rules. + + + + + Abstract rule class + + + + + A production rule + + + + A instance is used to execute a production. + + + + + + Executes the production using the rule. + + + A production token authorizing production. + + + is a null reference (Nothing in Visual Basic) + + + + + Gets or sets a value indicating the rule importance + + + Value indicating the rule importance + + + set property, value is negative. + + + + + Semantic actions event. + + + + Semantic action are triggered upon each successful rule execution. + + + + + + Gets a value indicating if the rule is terminal + + + true if the rule is terminal; otherwise, false. + + + + + Gets or sets the rule name (for debugging purpose) + + + The rule name. + + + + + Creates an empty rule + + + true if the rule is terminal; otherwise, false. + + + + + Raises the event. + + + + + Executes the production using the rule (abstract class). + + + A production token authorizing production. + + + is a null reference (Nothing in Visual Basic) + + + + + Gets a value indicating if the rule is terminal + + + true if the rule is terminal; otherwise, false. + + + + + Gets or sets the rule name + + + The rule name + + + + + Gets or sets the rule weight + + + The rule weight + + + set property, weight is negative + + + + + Semantic action event. + + + + + Creates an empty instance. + + + + + Gets the list of rules stored in the rule. + + + containing the child rules. + + + + + Choose a and launch its production. + + + Authorizing token + + + + + Gets or sets the instance + + + instance. + + + + + If then else rule fashion. + + + + This rule uses the results of a + instance to select which to execute: + + if (predicate.Test(...)) + rule.Produce(...); + else + elseRule.Produce(...); + + + + + + + Creates a with a + instance and + instance. + + + instance used for testing + + + rule to execute. + + + or + is a null reference. + + + + + Creates a with a + instance and + instance. If the predicate returns + false, is executed. + + + instance used for testing + + + rule to execute. + + + rule to execute if predicate is false. + + + or + is a null reference. + + + + + Executes one of the rules depending on the predicate result. + + + A production token authorizing production. + + + is a null reference (Nothing in Visual Basic) + + + + + Gets or sets the predicate for the condition. + + + instance used for testing the condition. + + + set property, value is a null reference + + + + + Gets or sets the rule executed when the predicate is true + + + instance executed when + is true. + + + set property, value is a null reference + + + + + Gets or sets the rule executed when the predicate is false + + + instance executed when + is false. + + + + + Method that returns a bool. + + + Current instance. + + + + + A instance that executes + a . + + + + + Predicate that checks a given condition. + + + + + Checks a condition and returns result. + + + Predicate result + + + Current production token + + + + + Creates a new instance arounda + + + to attach. + + + is a null reference. + + + + + Invokes the instance + and returns the result. + + + + + + + A class that limits the number of + terminal execution. + + + + + A production done by a grammar and its set of rules. + + + + + Processes the request for a + done by a rule and returns the token or throws. + + + instance that requests the token. + + + A valid instance. + + + The request was defined using the internal production + logic. + + + + + Gets the seed that created the production + + + Seed used to create the production + + + + + Creates an instance that limits the number of terminal rule execution + to . + + + Maximum number of terminal execution. + + + + + Processes the request for a + done by a rule and returns the token or throws. + + + instance that requests the token. + + + A valid instance. + + + The maximum number of terminal rule execution was hitted. + + + + + Factory for instance. + + + + + A factory for instances. + + + + + Creates a new instance. + + + A valid instance. + + + + + Creates a factory of . + + + + + Creates new instances of + + + A instance + + + + + A that wraps a + call. + + + + + Creates an instance with a + attached. + + + Handler to attach + + + is a null reference + + + + + Invokes handler. + + + + + + A grammar containing a set of rules, a . + + + + + A grammar containing a set of rules, a . + + + + + Launches a production. + + + + + Gets or sets the starting rule. + + + The start . + + + + + Raised when production is finished. + + + + + Creates an empty grammar. + + + + + Launches a production. + + + + + + + + + Gets or sets the instance. + + + instance used for creating new + productions. + + + + + Gets or sets the starting rule. + + + The start . + + + + + A that guard an inner instance + execution from a specific exceptionType. + + + + + Creates an instance with the guarded rule and the expected + exception type. + + + Guarded instance + + + Expected type. + + + or + is a null reference. + + + + + Creates an instance with the guarded rule, the expected + exception type and the regular expression to match the message. + + + Guarded instance + + + Expected type. + + + Regular expression used to match the exception message + + + or + is a null reference. + + + + + Raises the event. + + + + + Executes the inner and guards for + a particular exception type. + + + Authorization token + + + + + Semantic actions event + + + + + Gets or sets the regular expression to match the message. + + + The instance used to mach the message. + + + + If this property is set to null, no message matching is performed. + + + + + + Gets or sets the rule name (for debugging purpose) + + + The rule name. + + + + + Gets or sets a value indicating the rule importance + + + Value indicating the rule importance + + + + + Gets a value indicating if the rule is terminal. + + + Always returns true. + + + + + An authorization to execute a production. + + + + + Gets a value indicating if the production is authorized + + + true if authorized, otherwise false. + + + + + Gets the that emited the token. + + + The instance that emited the token. + + + + + A class that creates random values. + + + + + Returns a nonnegative random number. + + + A 32-bit signed integer greater than or equal to zero and less than + . + + + + + Returns a nonnegative random number less than the specified maximum. + + + + A 32-bit signed integer greater than or equal to zero and less than + . + + + + + Returns a random number within a specified range. + + + The lower bound of the random number returned. + + + The upper bound of the random number returned. + maxValue must be greater than or equal to minValue. + + + A 32-bit signed integer greater than or equal to minValue and less + than maxValue; that is, the range of return values includes + minValue but not MaxValue. If minValue equals maxValue, minValue + is returned. + + + + + Returns a random number between 0.0 and 1.0. + + + A double-precision floating point number greater than or equal + to 0.0, and less than 1.0. + + + + + A collection of . + + + + + Gets an instance of the rules. + + + A valid instance. + + + + + An enumerator over instance. + + + + + Gets the current instance + + + Current instance. + + + + + A list of + + + + + Adds a to the list. + + + to add + + + + + Inserts a instance at position + + + position to insert the rule + + + to insert + + + + + Removes the first occurence of . + + + to remove + + + + + Gets a value indicating if is in the + list. + + + to test. + + + true if is in the list; otherwise, false. + + + + + Clears the list. + + + + + Gets or sets the at position . + + + index. + + + + + A object that select a rule between a collection of rules. + + + + + Select a from + + + array to select from + + + Select instance + + + is a null reference + + + is empty + + + + + Select a from + + + collection to select from + + + Select instance + + + is a null reference + + + is empty + + + + + A rule that executes a . + + + + + Creates a new instance around a + + + to attach. + + + is a null reference. + + + + + Invokes the instance. + + + Autorization token + + + + + The TestFu.Grammars namespace contains a framwork for + implementing + Production Grammars. + + + + + + Exception throwed when an exception is catched and is + not from the expected type. + + + + + Creates an instance with the expected exception type + and the actual exception. + + + Expected exception + + + Actual catch instance + + + + + Exception throwed when an exception message does not match + with the message regular expression + + + + + Creates an instance with the message regular expression and + the actual catched exception. + + + The instance used to match the message + + + The actual instance. + + + + + Gets the instance used to match the exception message + + + message matcher. + + + + + A static helper class for creating . + + + + + Creates a around + + + + condition to wrap + + A + + + + + Expection class used to stop production. + + + + + + + + + + + Gets the production that stopped. + + + + + Default implementation of + + + + + Creates a token from + + + production to wrap. + + + is a null reference (Nothing in + Visual Basic). + + + + + Gets the that emited the token. + + + The instance that emited the token. + + + + + Gets a value indicating if the production is authorized + + + true if authorized, otherwise false. + + + + + A rule that executes a . + + + + + Creates a new instance around a + + + to attach. + + + is a null reference. + + + + + Invokes the instance. + + + Autorization token + + + + + Summary description for ProductionTokenEventArgs. + + + + + System implementation of + + + + + Creates an instance initialized using .Now.Ticks. + + + + + Uniform random rule selector. + + + + + Select a from + + + array to select from + + + Select instance + + + is a null reference + + + is empty + + + + + Select a from + + + collection to select from + + + Select instance + + + is a null reference + + + is empty + + + + + Gets or sets the random generator + + + The instance used for random data generation + + + set property, value is a null reference + + + + + A that executes repeatidely an inner + + + + + Creates an instance that executes the rule between + and + times. + + + to repeat + + + Minimum number of occurence + + + Maximum number of occurence + + + + + Executes repeatidely the inner rule. + + + Authorization token + + + + + Converts rule to EBNF like representation + + + EBNF-like string representing the rule. + + + + + Gets or sets the random generator used for selection repetition + counts + + + The random generator. + + + set property, value is a null reference + + + + + Gets the inner instance + + + Repeated instance. + + + + + Gets the minimum of rule execution + + + Minimum of rule execution + + + + + Gets the maximum of rule execution + + + Maximum of rule execution + + + + + Round Robin rule selector. + + + + + Select a from + + + array to select from + + + Select instance + + + is a null reference + + + is empty + + + + + Select a from + + + collection to select from + + + Select instance + + + is a null reference + + + is empty + + + + + Gets or sets the current rule index. + + + Current rule index + + + + + A collection of elements of type IRule + + + + + Initializes a new empty instance of the RuleList class. + + + + + Adds an instance of type IRule to the end of this RuleList. + + + The IRule to be added to the end of this RuleList. + + + + + Determines whether a specfic IRule value is in this RuleList. + + + The IRule value to locate in this RuleList. + + + true if value is found in this RuleList; + false otherwise. + + + + + Inserts an element into the RuleList at the specified index + + + The index at which the IRule is to be inserted. + + + The IRule to insert. + + + + + Removes the first occurrence of a specific IRule from this RuleList. + + + The IRule value to remove from this RuleList. + + + + + Returns an enumerator that can iterate through the elements of this RuleList. + + + An object that implements System.Collections.IEnumerator. + + + + + Gets or sets the IRule at the given index in this RuleList. + + + + + Type-specific enumeration class, used by RuleList.GetEnumerator. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Static helper class for creating rules. + + + + + Creates an alternative of rules. + + + Set of rule to choose from alternatively. + + + + [EBNF] + rule := A | B | C + + [C#] + IRule rule = Rules.Alt(A,B,C); + + + + An instance implementing + the alternative rule choosing. + + + + + Creates a weighted alternative of rules. + + + Set of rule to choose from alternatively. + + + + The property of each rule is used to + weight the probability to choose the rule. + + + [EBNF] + rule := A | B | C where A is chosen with P(A)=A.Weight / ABC.Weight + and ABC.Weight = A.Weight + B.Weight + C.Weight + + [C#] + IRule rule = Rules.WeightedAlt(A,B,C); + + + + An instance implementing + the alternative rule choosing. + + + + + Creates a sequence of rules. + + + Set of rule to execute in sequence. + + + + [EBNF] + rule := A B C + + [C#] + IRule rule = Rules.Seq(A,B,C); + + + + An instance implementing + the sequence of rules. + + + + + Creates an optional rule. + + + Rule to execute optionaly. + + + + [EBNF] + rule := A? + + [C#] + IRule rule = Rules.Opt(A); + + + + An instance implementing + the ? operator. + + + + + Creates a rule to be execute one or more times. + + + Rule to be executed. + + + + [EBNF] + rule := A+ + + [C#] + IRule rule = Rules.Pos(A); + + + + An instance implementing + the + operator. + + + + + Creates a rule to be execute zero or more times. + + + Rule to be executed. + + + + [EBNF] + rule := A* + + [C#] + IRule rule = Rules.Kleene(A); + + + + An instance implementing + the * operator. + + + + + Creates a rule to be execute between + and times. + + + Rule to be executed. + + + + [EBNF] + rule := A{m,n} + + [C#] + IRule rule = Rules.Repetition(A,m,n); + + + + minimum number of execution of + + + maximum number of execution of + + + An instance implementing + the {m,n} operator. + + + + + Creates a that executes an . + + + to execute + + + instance that contains + + + + + Creates a that executes an . + + + to execute + + + instance that contains + + + + + + Creates a that executes an . + + + to execute + + + instance that contains + + + + + + Guards the execution of a from an expected + type. + + + instance to guard. + + + Expected throwed exception when is executed + + + A instance guarding + + + + + Creates a conditional rule with "if" rule. + + + Condition expression + + + to execute if condition is true. + + + A implementing condition rule execution. + + + + + Creates a conditional rule with "if" rule and "else" rule. + + + Condition expression + + + to execute if condition is true. + + + to execute if condition is false. + + + A implementing condition rule execution. + + + + + Creates a conditional rule with "if" rule. + + + Condition expression + + + to execute if condition is true. + + + to execute if condition is false. + + + A implementing condition rule execution. + + + + + Creates a conditional rule with "if" rule and "else" rule. + + + Condition expression + + + to execute if condition is true. + + + A implementing condition rule execution. + + + + + A sequence of rules. + + + + + Executes sub-rule production in sequence. + + + to authorize production. + + + + + Weighted random rule selector. + + + + + Select a from + + + array to select from + + + Select instance + + + is a null reference + + + is empty + + + + + Select a from + + + collection to select from + + + Select instance + + + is a null reference + + + is empty + + + + + + TestFu, the Art of Testing. + + + The TestFu assembly contains a bunch of framework to help + developper build automated tests using random generators, + models, grammars, etc... + + + + + + + The TestFu.Operations namespace contains classes for building + Combinatorial Test suites. + + + The algorithms for generating the covergate suites are extracted + from Efficient Algorithms for Generation of Combinatorial Covering Suites, + by Adrian Dumitrescu. + + + + + + A class to generate permutations. + + + + This class can generate any sequence of permutation of order . + The method returns the next permutation, while + can be used to iterates all the rest of the permutations. + + + The permutation can be applied to an array using , it can also + be inverted using . + + + This class was extracted from + + Using Permutations in .NET for Improved Systems Security by + Dr. James McCaffrey. + + + + + + + Creates a new idenity permutation + + + order of the new permutation + + + + + Creates the -th permutation of + order . + + + + + + + Checks that the permutation is correct + + + + + Converts the permutation to a string representation. + + + + + + Applis the permutation to the array + + + A array of Length equal + to . + + A new array containing the permutated element of + + + + + Creates the inverse of the permutation. + + + + + + Creates the next permutation in lexicographic order. + + + The next instance if there remain any; + otherwize a null reference. + + + + + Gets an enumerable collection of successors. + + + + + + Gets the order of the permutation + + + + + diff --git a/Tools/MbUnit/TestFu.dll b/Tools/MbUnit/TestFu.dll new file mode 100644 index 00000000..571f2b56 Binary files /dev/null and b/Tools/MbUnit/TestFu.dll differ diff --git a/Tools/MbUnit/XsdTidy.exe b/Tools/MbUnit/XsdTidy.exe new file mode 100644 index 00000000..6639a48a Binary files /dev/null and b/Tools/MbUnit/XsdTidy.exe differ diff --git a/Tools/MbUnit/log4net.dll b/Tools/MbUnit/log4net.dll new file mode 100644 index 00000000..46ecf22e Binary files /dev/null and b/Tools/MbUnit/log4net.dll differ diff --git a/Tools/MbUnit/uninst.exe b/Tools/MbUnit/uninst.exe new file mode 100644 index 00000000..42a393fb Binary files /dev/null and b/Tools/MbUnit/uninst.exe differ diff --git a/Tools/MbUnit/users.txt b/Tools/MbUnit/users.txt new file mode 100644 index 00000000..b38f886b --- /dev/null +++ b/Tools/MbUnit/users.txt @@ -0,0 +1,6 @@ +Id Name Email +1 ayende ayende@example.org +2 foo foo@example.org +3 bar bar@example.org +4 brak brak@example.org +5 snar snar@example.org diff --git a/Tools/zip.exe b/Tools/zip.exe new file mode 100644 index 00000000..286227a6 Binary files /dev/null and b/Tools/zip.exe differ diff --git a/ayende-open-source.snk b/ayende-open-source.snk new file mode 100644 index 00000000..5a8cc037 Binary files /dev/null and b/ayende-open-source.snk differ diff --git a/default.ps1 b/default.ps1 new file mode 100644 index 00000000..1cff8a73 --- /dev/null +++ b/default.ps1 @@ -0,0 +1,85 @@ +properties { + $base_dir = resolve-path . + $lib_dir = "$base_dir\SharedLibs" + $build_dir = "$base_dir\build" + $buildartifacts_dir = "$build_dir\" + $sln_file = "$base_dir\Rhino.Mocks-vs2008.sln" + $version = "3.6.0.0" + $tools_dir = "$base_dir\Tools" + $release_dir = "$base_dir\Release" +} + +task default -depends Release + +task Clean { + remove-item -force -recurse $buildartifacts_dir -ErrorAction SilentlyContinue + remove-item -force -recurse $release_dir -ErrorAction SilentlyContinue +} + +task Init -depends Clean { + . .\psake_ext.ps1 + Generate-Assembly-Info ` + -file "$base_dir\Rhino.Mocks\Properties\AssemblyInfo.cs" ` + -title "Rhino Mocks $version" ` + -description "Mocking Framework for .NET" ` + -company "Hibernating Rhinos" ` + -product "Rhino Mocks $version" ` + -version $version ` + -copyright "Hibernating Rhinos & Ayende Rahien 2004 - 2009" + + Generate-Assembly-Info ` + -file "$base_dir\Rhino.Mocks.Tests\Properties\AssemblyInfo.cs" ` + -title "Rhino Mocks Tests $version" ` + -description "Mocking Framework for .NET" ` + -company "Hibernating Rhinos" ` + -product "Rhino Mocks Tests $version" ` + -version $version ` + -clsCompliant "false" ` + -copyright "Hibernating Rhinos & Ayende Rahien 2004 - 2009" + + Generate-Assembly-Info ` + -file "$base_dir\Rhino.Mocks.Tests.Model\Properties\AssemblyInfo.cs" ` + -title "Rhino Mocks Tests Model $version" ` + -description "Mocking Framework for .NET" ` + -company "Hibernating Rhinos" ` + -product "Rhino Mocks Tests Model $version" ` + -version $version ` + -clsCompliant "false" ` + -copyright "Hibernating Rhinos & Ayende Rahien 2004 - 2009" + + new-item $release_dir -itemType directory + new-item $buildartifacts_dir -itemType directory + cp $tools_dir\MbUnit\*.* $build_dir +} + +task Compile -depends Init { + exec msbuild "/p:OutDir=""$buildartifacts_dir "" $sln_file" +} + +task Test -depends Compile { + $old = pwd + cd $build_dir + exec ".\MbUnit.Cons.exe" "$build_dir\Rhino.Mocks.Tests.dll" + cd $old +} + +task Merge { + $old = pwd + cd $build_dir + + Remove-Item Rhino.Mocks.Partial.dll -ErrorAction SilentlyContinue + Rename-Item $build_dir\Rhino.Mocks.dll Rhino.Mocks.Partial.dll + + & $tools_dir\ILMerge.exe Rhino.Mocks.Partial.dll Castle.DynamicProxy2.dll Castle.Core.dll /out:Rhino.Mocks.dll /t:library "/keyfile:$base_dir\ayende-open-source.snk" "/internalize:$base_dir\ilmerge.exclude" + if ($lastExitCode -ne 0) { + throw "Error: Failed to merge assemblies!" + } + cd $old +} + +task Release -depends Test, Merge { + & $tools_dir\zip.exe -9 -A -j $release_dir\Rhino.Mocks.zip $build_dir\Rhino.Mocks.dll $build_dir\Rhino.Mocks.xml license.txt acknowledgements.txt + if ($lastExitCode -ne 0) { + throw "Error: Failed to execute ZIP command" + } +} \ No newline at end of file diff --git a/filter.cmd b/filter.cmd new file mode 100644 index 00000000..bce7e87c --- /dev/null +++ b/filter.cmd @@ -0,0 +1 @@ +git filter-branch --prune-empty --tree-filter 'mv rhino-mocks mocks || :' -- --all \ No newline at end of file diff --git a/license.txt b/license.txt new file mode 100644 index 00000000..33edd591 --- /dev/null +++ b/license.txt @@ -0,0 +1,25 @@ +Copyright (c) 2005 - 2008 Ayende Rahien (ayende@ayende.com) +All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, +are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + * Neither the name of Ayende Rahien nor the names of its + contributors may be used to endorse or promote products derived from this + software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. \ No newline at end of file diff --git a/psake.ps1 b/psake.ps1 new file mode 100644 index 00000000..bea7ef76 --- /dev/null +++ b/psake.ps1 @@ -0,0 +1,311 @@ +# psake v0.22 +# Copyright © 2009 James Kovacs +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the "Software"), to deal +# in the Software without restriction, including without limitation the rights +# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +# THE SOFTWARE. + +param( + [string]$buildFile = 'default.ps1', + [string[]]$taskList = @(), + [string]$framework = '3.5', + [switch]$debug = $false, + [switch]$help = $false, + [switch]$timing = $false, + [switch]$docs = $false +) + +if($help) { +@" +psake [buildFile] [tasks] [-framework ver] [-debug] [-timing] [-docs] + where buildFile is the name of the build file, (default: default.ps1) + tasks is a list of tasks to execute from the build file, + ver is the .NET Framework version to target - 1.0, 1.1, 2.0, 3.0, or 3.5 (default) + debug dumps information on the properties, includes, and tasks, as well as more detailed error information. + timing prints a report showing how long each task took to execute + docs prints a list of available tasks + +psake -help + Displays this message. +"@ + return +} + +$global:tasks = @{} +$global:properties = @() +$global:includes = New-Object System.Collections.Queue +$global:psake_version = "0.22" +$global:psake_buildScript = $buildFile +$global:psake_frameworkVersion = $framework + +$script:executedTasks = New-Object System.Collections.Stack +$script:callStack = New-Object System.Collections.Stack +$script:originalEnvPath = $env:path +$script:originalDirectory = Get-Location +$originalErrorActionPreference = $Global:ErrorActionPreference + +function task([string]$name=$null, [scriptblock]$action = $null, [scriptblock]$precondition = $null, [scriptblock]$postcondition = $null, [switch]$continueOnError = $false, [string[]]$depends = @(), [string]$description = $null) { + if (($name -eq $null) -or ($name.Trim() -eq "")) { + throw "Error: Task must have a name" + } + if($name.ToLower() -eq 'default' -and $action -ne $null) { + throw "Error: Default task cannot specify an action" + } + $newTask = @{ + Name = $name + DependsOn = $depends + Action = $action + Precondition = $precondition + Postcondition = $postcondition + ContinueOnError = $continueOnError + Description = $description + } + if($global:tasks.$name -ne $null) { throw "Error: Task, $name, has already been defined." } + $global:tasks.$name = $newTask +} + +function properties([scriptblock]$propertyBlock) { + $global:properties += $propertyBlock +} + +function include([string]$include){ + if (!(test-path $include)) { throw "Error: $include not found."} + $global:includes.Enqueue((Resolve-Path $include)); +} + +function AssertNotCircular([string]$name) { + if($script:callStack.Contains($name)) { + throw "Error: Circular reference found for task, $name" + } +} + +function ExecuteTask([string]$name) { + if($script:executedTasks.Contains($name)) { return } + AssertNotCircular $name + $script:callStack.Push($name) + + $task = $global:tasks.$name + foreach($childTask in $task.DependsOn) { + ExecuteTask $childTask + } + if($name -ne 'default') { + $stopwatch = [System.Diagnostics.Stopwatch]::StartNew() + $precondition = $true + if($task.Precondition -ne $null) { + $precondition = (& $task.Precondition) + } + "Executing task, $name..." + if($task.Action -ne $null) { + if($precondition) { + trap { + if ($task.ContinueOnError) { + "-"*70 + "Error in Task [$name] $_" + "-"*70 + continue + } else { + throw $_ + } + } + & $task.Action + $postcondition = $true + if($task.Postcondition -ne $null) { + $postcondition = (& $task.Postcondition) + } + if (!$postcondition) { + throw "Error: Postcondition failed for $name" + } + } else { + "Precondition was false not executing $name" + } + } + $stopwatch.stop() + $task.Duration = $stopwatch.Elapsed + } + + $poppedTask = $script:callStack.Pop() + if($poppedTask -ne $name) { + throw "Error: CallStack was corrupt. Expected $name, but got $poppedTask." + } + $script:executedTasks.Push($name) +} + +function Dump-Tasks { + 'Dumping tasks:' + foreach($key in $global:tasks.Keys) { + $task = $global:tasks.$key; + $task.Name + " depends on " + $task.DependsOn.Length + " other tasks: " + $task.DependsOn; + } + "`n" +} + +function Dump-Properties { + 'Dumping properties:' + $global:properties +} + +function Dump-Includes { + 'Dumping includes:' + $global:includes +} + +function Configure-BuildEnvironment { + $version = $null + switch ($framework) { + '1.0' { $version = 'v1.0.3705' } + '1.1' { $version = 'v1.1.4322' } + '2.0' { $version = 'v2.0.50727' } + '3.0' { $version = 'v2.0.50727' } # .NET 3.0 uses the .NET 2.0 compilers + '3.5' { $version = 'v3.5' } + default { throw "Error: Unknown .NET Framework version, $framework" } + } + $frameworkDir = "$env:windir\Microsoft.NET\Framework\$version\" + if(!(test-path $frameworkDir)) { + throw "Error: No .NET Framework installation directory found at $frameworkDir" + } + $env:path = "$frameworkDir;$env:path" + $global:ErrorActionPreference = "Stop" +} + +function Cleanup-Environment { + $env:path = $script:originalEnvPath + Set-Location $script:originalDirectory + $global:ErrorActionPreference = $originalErrorActionPreference + remove-variable tasks -scope "global" + remove-variable properties -scope "global" + remove-variable includes -scope "global" + remove-variable psake_* -scope "global" +} + +#borrowed from Jeffrey Snover http://blogs.msdn.com/powershell/archive/2006/12/07/resolve-error.aspx +function Resolve-Error($ErrorRecord=$Error[0]) { + $ErrorRecord | Format-List * -Force + $ErrorRecord.InvocationInfo | Format-List * + $Exception = $ErrorRecord.Exception + for ($i = 0; $Exception; $i++, ($Exception = $Exception.InnerException)) { + "$i" * 70 + $Exception | Format-List * -Force + } +} + +function Write-Documentation { + $list = New-Object System.Collections.ArrayList + foreach($key in $global:tasks.Keys) { + if($key -eq "default") { + continue; + } + $task = $global:tasks.$key; + $content = "" | Select-Object Name, Description + $content.Name = $task.Name + $content.Description = $task.Description + $index = $list.Add($content); + } + + $list | Sort 'Name' | Format-Table -Auto +} + +function exec([string]$command, [string]$parameters) { + & $command $parameters + if ($lastExitCode -ne 0) { + throw "Error: Failed to execute ""$command"" with parameters ""$parameters""" + } +} + +function Run-Psake { + trap { + Cleanup-Environment + Write-Host -foregroundcolor Red $_ + if($debug) { + "-" * 80 + "An Error Occurred. See Error Details Below:" + "-" * 80 + Resolve-Error + "-" * 80 + } + exit(1) + } + + $stopwatch = [System.Diagnostics.Stopwatch]::StartNew() + + # Execute the build file to set up the tasks and defaults + if(test-path $buildFile) { + $buildFile = resolve-path $buildFile + set-location (split-path $buildFile) + & $buildFile + } else { + throw "Error: Could not find the build file, $buildFile." + } + + if($debug) { + Dump-Includes + Dump-Properties + Dump-Tasks + } + + Configure-BuildEnvironment + + # N.B. The initial dot (.) indicates that variables initialized/modified + # in the propertyBlock are available in the parent scope. + while ($global:includes.Count -gt 0) { + $includeBlock = $global:includes.Dequeue(); + . $includeBlock; + } + foreach($propertyBlock in $global:properties) { + . $propertyBlock + } + + if($docs) { + Write-Documentation + Cleanup-Environment + exit(0) + } + + # Execute the list of tasks or the default task + if($taskList.Length -ne 0) { + foreach($task in $taskList) { + ExecuteTask $task + } + } elseif ($global:tasks.default -ne $null) { + ExecuteTask default + } else { + throw 'Error: default task required' + } + + $stopwatch.Stop() + + if ($timing) { + "-"*70 + "Build Time Report" + "-"*70 + $list = @() + while ($script:executedTasks.Count -gt 0) { + $name = $script:executedTasks.Pop() + $task = $global:tasks.$name + if($name -eq "default") { + continue; + } + $list += "" | Select-Object @{Name="Name";Expression={$name}}, @{Name="Duration";Expression={$task.Duration}} + } + [Array]::Reverse($list) + $list += "" | Select-Object @{Name="Name";Expression={"Total:"}}, @{Name="Duration";Expression={$stopwatch.Elapsed}} + $list | Format-Table -Auto | Out-String -Stream | ? {$_} # using "Out-String -Stream" to filter out the blank line that Format-Table prepends + } + + # Clear out any global variables + Cleanup-Environment +} + +Run-Psake \ No newline at end of file diff --git a/psake_ext.ps1 b/psake_ext.ps1 new file mode 100644 index 00000000..109b4cdd --- /dev/null +++ b/psake_ext.ps1 @@ -0,0 +1,40 @@ +function Generate-Assembly-Info +{ +param( + [string]$clsCompliant = "true", + [string]$title, + [string]$description, + [string]$company, + [string]$product, + [string]$copyright, + [string]$version, + [string]$file = $(throw "file is a required parameter.") +) + + $asmInfo = "using System; +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +[assembly: CLSCompliantAttribute($clsCompliant )] +[assembly: ComVisibleAttribute(false)] +[assembly: AssemblyTitleAttribute(""$title"")] +[assembly: AssemblyDescriptionAttribute(""$description"")] +[assembly: AssemblyCompanyAttribute(""$company"")] +[assembly: AssemblyProductAttribute(""$product"")] +[assembly: AssemblyCopyrightAttribute(""$copyright"")] +[assembly: AssemblyVersionAttribute(""$version"")] +[assembly: AssemblyInformationalVersionAttribute(""$version"")] +[assembly: AssemblyFileVersionAttribute(""$version"")] +[assembly: AssemblyDelaySignAttribute(false)] +" + + $dir = [System.IO.Path]::GetDirectoryName($file) + if ([System.IO.Directory]::Exists($dir) -eq $false) + { + Write-Host "Creating directory $dir" + [System.IO.Directory]::CreateDirectory($dir) + } + Write-Host "Generating assembly info file: $file" + Write-Output $asmInfo > $file +} \ No newline at end of file