diff --git a/build/Build20.bat b/build/Build20.bat index 25ac20a539..8c58d2e485 100644 --- a/build/Build20.bat +++ b/build/Build20.bat @@ -5,4 +5,4 @@ SET BUILD_CONFIG=%~2 IF "%BUILD_TARGET%"=="" SET BUILD_TARGET=Rebuild IF "%BUILD_CONFIG%"=="" SET BUILD_CONFIG=Debug -CMD.exe /Q /C "CD %~dp0 && %WINDIR%\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe build.csproj /toolsversion:4.0 %3 %4 %5 %6 "/t:%BUILD_TARGET%" "/p:BuildConfiguration=%BUILD_CONFIG%;TargetVersion=2" +CMD.exe /Q /C "CD %~dp0 && %WINDIR%\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe /nologo build.csproj /toolsversion:4.0 %3 %4 %5 %6 "/t:%BUILD_TARGET%" "/p:BuildConfiguration=%BUILD_CONFIG%;TargetVersion=2" diff --git a/build/BuildAll.bat b/build/BuildAll.bat index 9f2ef1aac9..e35c6f617a 100644 --- a/build/BuildAll.bat +++ b/build/BuildAll.bat @@ -1,2 +1,2 @@ @echo off -CMD.exe /Q /C "CD %~dp0 && %WINDIR%\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe build.csproj /t:FullBuild /toolsversion:4.0 %1 %2 %3 %4 %5 %6 +CMD.exe /Q /C "CD %~dp0 && %WINDIR%\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe /nologo build.csproj /t:FullBuild /toolsversion:4.0 %1 %2 %3 %4 %5 %6 diff --git a/build/BuildSilverlight2.bat b/build/BuildSilverlight2.bat index efc6ed4164..5b2d2a9539 100644 --- a/build/BuildSilverlight2.bat +++ b/build/BuildSilverlight2.bat @@ -1,2 +1,2 @@ @echo off -CMD.exe /Q /C "CD %~dp0 && %WINDIR%\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe build.csproj /toolsversion:4.0 /t:Rebuild %1 %2 %3 %4 "/p:BuildConfiguration=Debug_Silverlight;TargetVersion=2" +CMD.exe /Q /C "CD %~dp0 && %WINDIR%\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe /nologo build.csproj /toolsversion:4.0 /t:Rebuild %1 %2 %3 %4 "/p:BuildConfiguration=Debug_Silverlight;TargetVersion=2" diff --git a/build/CleanAll.bat b/build/CleanAll.bat new file mode 100644 index 0000000000..10d7fc7759 --- /dev/null +++ b/build/CleanAll.bat @@ -0,0 +1,9 @@ +@echo off +PUSHD %~dp0 +IF EXIST ..\build_output RMDIR /S /Q ..\build_output +IF EXIST ..\build_temp RMDIR /S /Q ..\build_temp +%WINDIR%\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe /nologo build.csproj /toolsversion:4.0 /t:Clean /v:m "/p:BuildConfiguration=Release;TargetVersion=2" +%WINDIR%\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe /nologo build.csproj /toolsversion:4.0 /t:Clean /v:m "/p:BuildConfiguration=Debug;TargetVersion=2" +%WINDIR%\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe /nologo build.csproj /toolsversion:4.0 /t:Clean /v:m "/p:BuildConfiguration=Release_Silverlight;TargetVersion=2" +%WINDIR%\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe /nologo build.csproj /toolsversion:4.0 /t:Clean /v:m "/p:BuildConfiguration=Debug_Silverlight;TargetVersion=2" +POPD \ No newline at end of file diff --git a/build/Common.targets b/build/Common.targets index 4e42999942..057ab456be 100644 --- a/build/Common.targets +++ b/build/Common.targets @@ -66,7 +66,7 @@ Targets For GenerateSource *********************************************************************************************** --> - @@ -93,13 +93,18 @@ Targets For GenerateSource Targets For Test *********************************************************************************************** --> - + + - + + + diff --git a/build/RunBenchmarks.bat b/build/RunBenchmarks.bat index 5cb3e6a535..9091b0d1a4 100644 --- a/build/RunBenchmarks.bat +++ b/build/RunBenchmarks.bat @@ -1,2 +1,2 @@ @echo off -CMD.exe /Q /C "CD %~dp0 && %WINDIR%\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe build.csproj /toolsversion:4.0 /t:RunBenchmarks %1 %2 %3 %4 "/p:BuildConfiguration=Release;TargetVersion=2" +CMD.exe /Q /C "CD %~dp0 && %WINDIR%\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe /nologo build.csproj /toolsversion:4.0 /t:RunBenchmarks %1 %2 %3 %4 "/p:BuildConfiguration=Release;TargetVersion=2" diff --git a/build/build.csproj b/build/build.csproj index bbc4392a93..6b8a0c22e8 100644 --- a/build/build.csproj +++ b/build/build.csproj @@ -41,8 +41,9 @@ $(LibDirectory)\protoc.exe $(BuildOutputDirectory)\ProtoGen\protogen.exe $(BuildTempDirectory)\ProtoBench.exe - $(LibDirectory)\NUnit 2.2.8.0\nunit-console.exe - $(LibDirectory)\NUnit 2.2.8.0\nunit-console.$(ForcedFrameworkVersion).config + $(LibDirectory)\NUnit\tools\nunit-console.exe + $(LibDirectory)\NUnit-config\nunit-console.$(ForcedFrameworkVersion).config + $(LibDirectory)\StatLight\tools\StatLight.exe $(LibDirectory)\7-Zip 9.20\7za.exe @@ -171,6 +172,10 @@ + + + + @@ -200,7 +205,7 @@ - + diff --git a/build/build35.bat b/build/build35.bat index 34cb141b24..46a625d57c 100644 --- a/build/build35.bat +++ b/build/build35.bat @@ -5,4 +5,4 @@ SET BUILD_CONFIG=%~2 IF "%BUILD_TARGET%"=="" SET BUILD_TARGET=Rebuild IF "%BUILD_CONFIG%"=="" SET BUILD_CONFIG=Debug -CMD.exe /Q /C "CD %~dp0 && %WINDIR%\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe build.csproj /toolsversion:4.0 %3 %4 %5 %6 "/t:%BUILD_TARGET%" "/p:BuildConfiguration=%BUILD_CONFIG%;TargetVersion=3" +CMD.exe /Q /C "CD %~dp0 && %WINDIR%\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe /nologo build.csproj /toolsversion:4.0 %3 %4 %5 %6 "/t:%BUILD_TARGET%" "/p:BuildConfiguration=%BUILD_CONFIG%;TargetVersion=3" diff --git a/build/build40.bat b/build/build40.bat index 1a0518cec6..6cfe0484d8 100644 --- a/build/build40.bat +++ b/build/build40.bat @@ -5,4 +5,4 @@ SET BUILD_CONFIG=%~2 IF "%BUILD_TARGET%"=="" SET BUILD_TARGET=Rebuild IF "%BUILD_CONFIG%"=="" SET BUILD_CONFIG=Debug -CMD.exe /Q /C "CD %~dp0 && %WINDIR%\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe build.csproj /toolsversion:4.0 %3 %4 %5 %6 "/t:%BUILD_TARGET%" "/p:BuildConfiguration=%BUILD_CONFIG%;TargetVersion=4" +CMD.exe /Q /C "CD %~dp0 && %WINDIR%\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe /nologo build.csproj /toolsversion:4.0 %3 %4 %5 %6 "/t:%BUILD_TARGET%" "/p:BuildConfiguration=%BUILD_CONFIG%;TargetVersion=4" diff --git a/lib/Microsoft.Silverlight.Testing/April2010/EULA.rtf b/lib/Microsoft.Silverlight.Testing/April2010/EULA.rtf new file mode 100644 index 0000000000..a907d5da9e Binary files /dev/null and b/lib/Microsoft.Silverlight.Testing/April2010/EULA.rtf differ diff --git a/lib/Microsoft.Silverlight.Testing/April2010/Microsoft.Silverlight.Testing.dll b/lib/Microsoft.Silverlight.Testing/April2010/Microsoft.Silverlight.Testing.dll new file mode 100644 index 0000000000..0c6df1878d Binary files /dev/null and b/lib/Microsoft.Silverlight.Testing/April2010/Microsoft.Silverlight.Testing.dll differ diff --git a/lib/Microsoft.Silverlight.Testing/April2010/Microsoft.Silverlight.Testing.extmap.xml b/lib/Microsoft.Silverlight.Testing/April2010/Microsoft.Silverlight.Testing.extmap.xml new file mode 100644 index 0000000000..352d4878c3 --- /dev/null +++ b/lib/Microsoft.Silverlight.Testing/April2010/Microsoft.Silverlight.Testing.extmap.xml @@ -0,0 +1,12 @@ + + + + Microsoft.Silverlight.Testing + 2.0.5.0 + 31bf3856ad364e35 + Microsoft.Silverlight.Testing.dll + + + + \ No newline at end of file diff --git a/lib/Microsoft.Silverlight.Testing/April2010/Microsoft.Silverlight.Testing.pdb b/lib/Microsoft.Silverlight.Testing/April2010/Microsoft.Silverlight.Testing.pdb new file mode 100644 index 0000000000..a86119c8cf Binary files /dev/null and b/lib/Microsoft.Silverlight.Testing/April2010/Microsoft.Silverlight.Testing.pdb differ diff --git a/lib/Microsoft.Silverlight.Testing/April2010/Microsoft.Silverlight.Testing.xml b/lib/Microsoft.Silverlight.Testing/April2010/Microsoft.Silverlight.Testing.xml new file mode 100644 index 0000000000..477ce707e7 --- /dev/null +++ b/lib/Microsoft.Silverlight.Testing/April2010/Microsoft.Silverlight.Testing.xml @@ -0,0 +1,14796 @@ + + + + Microsoft.Silverlight.Testing + + + + + A class containing an Assert method. + + + + + The MethodInfo object used to invoke Assert.IsNotNull. + + + + + The MethodInfo object used to invoke Assert.AreNotSame. + + + + + The MethodInfo object used to invoke Assert.AreNotEqual. + + + + + The MethodInfo object used to invoke Assert.AreSame. + + + + + The MethodInfo object used to invoke Assert.AreEqual. + + + + + The MethodInfo object used to invoke Assert.IsNull. + + + + + The MethodInfo object used to invoke Assert.IsFalse. + + + + + The MethodInfo object used to invoke Assert.IsTrue. + + + + + A regular expression which identifies a pattern signifying an + anonymous type. This pattern is emitted by the Expression object + when it converts an anonymous type to a string. + + + + + A regular expression which identifies a pattern emitted by an + Expression object when it converts an anonymous type to a + string. + + + + + Asserts a condition is true. + + The condition that must be true. + + + + Asserts a condition is true. + + The condition that must be true. + The message to be displayed when the test fails. + + + + Generates an assert failure message using the code block + responsible for the failure. + + The predicate that fails. + The user-provided assertion failure message. + + A constant expression containing the user-provided failure + message or a description of the expression that failed. + + + + Analyzes the expression and creates an action which calls the + correct assert method based on its contents. + + The predicate expression. + The message to display if an assertion fails. + An action which calls the correct assert method. + + + + Analyzes a predicate expression and invokes the correct assert + method. + + The type of the argument to the predicate. + + A predicate to be converted into an + assert statement. + The assertion message. + + + + Creates an action from certain types of supported binary expression + patterns. If no supported pattern is found null is returned. Based + on analyzing the predicate the action invokes the correct Assert + method. + + A binary expression extracted from a + predicate expression. + The message to display if the assertion + fails. + An action that invokes an Assert method. + + + + Mark the test method as one which expects asynchronous execution. + It is important to call TestComplete() once it is ready or your + test will never continue/timeout. + + + + + An attribute that contains known bug information that can be logged + during a unit test run. + + When applied to a test method, it will invert the result. This makes it + possible to perform automated runs and continuous integration while + validating and tracking known issues. + + The attribute should have the Fixed bool set to True, or be removed, + once the issue is resolved. + + + + + Construct a new BugAttribute with no bug description. + + + + + Construct a new BugAttribute with a bug description. + + Known issue text. + + + + Return the bug information. + + Known issue as a string. + + + + Gets the bug description. + + + + + Gets or sets a value indicating whether the known issue has been + fixed. If it has, the attribute is ignored and will not affect + test results. + + + + + Represents a control that builds on top of the standard platform Button, + offering the ability to modify the corner radii or even use special + button modes. + + + + + Identifies the SecondaryVisibility dependency property. + + + + + Identifies the CornerRadius dependency property. + + + + + Gets or sets the visibility of a secondary set of visuals in the + template. + + + + + Gets or sets the corner radius to use. + + + + + A color selection converter for translating a bool result into + a color. + + + + + Initializes a new instance of the ColorSelectorConverter type. + + + + + Convert a boolean value to a Color value. + + The value. + The target parameter. + ConverterParameter is of type Visibility. + The culture parameter. + Returns the object. + + + + Support 2-way databinding of the VisibilityConverter, converting + Visibility to a boolean. + + The value. + The target parameter. + ConverterParameter is of type Visibility. + The culture parameter. + Returns the object. + + + + Gets or sets the color to use for true values. + + + + + Gets or sets the color to use for false values. + + + + + A set of extension methods for manipulating collections. + + Experimental + + + + Returns a value indicating whether a collection is read-only. + + The collection to examine. + A value indicating whether a collection is read-only. + + + + Returns a value Indicating whether an item can be inserted in a + collection. + + The collection. + The item to be inserted. + A value Indicating whether an item can be inserted in a + collection. + + + + Inserts an item into the collection at an index. + + The collection. + The index at which to insert the item. + The item to be inserted. + + + + Gets the number of items in the collection. + + The collection. + The number of items in the collection. + + + + Adds an item to the collection. + + The collection. + The item to be added. + + + + Removes an item from the collection. + + The collection. + The item to be removed. + + + + Removes an item at a given index from the collection. + + The collection. + The index of the item to be removed. + + + + A color selection converter for translating a bool result into + a color. + + + + + The default true color. + + + + + The default false color. + + + + + Initializes a new instance of the ColorSelectorConverter type. + + + + + Convert a boolean value to a Color value. + + The value. + The target parameter. + ConverterParameter is of type Visibility. + The culture parameter. + Returns the object. + + + + Support 2-way databinding of the VisibilityConverter, converting + Visibility to a boolean. + + The value. + The target parameter. + ConverterParameter is of type Visibility. + The culture parameter. + Returns the object. + + + + Gets or sets the color to use for true values. + + + + + Gets or sets the color to use for false values. + + + + + A set of extension methods for the sequence class. + ;dsf + + + + Produces a sequence of items using a seed value and iteration + method. + + The type of the sequence. + The initial value. + The iteration function. + A sequence of items using a seed value and iteration + method. + + + + Prepend an item to a sequence. + + The type of the sequence. + The sequence to append the item to. + The item to append to the sequence. + A new sequence. + + + + Accepts two sequences and applies a function to the corresponding + values in the two sequences. + + The type of the first sequence. + The type of the second sequence. + The return type of the function. + The first sequence. + The second sequence. + The function to apply to the corresponding values + from the two sequences. + A sequence of transformed values from both sequences. + + + + A converter for modifying the font weight based on a parameter. + + + + + Convert a boolean value to a FontWeight value. + + The value object. + The target parameter. + ConverterParameter is of type Visibility. + The culture parameter. + Returns the object. + + + + Support 2-way databinding of the VisibilityConverter, converting + Visibility to a bool. + + The value object. + The target parameter. + ConverterParameter is of type Visibility. + The culture parameter. + Returns the object. + + + + Determine the visibility mode based on a converter parameter. This + parameter is of type Visibility, and specifies what visibility value + to return when the boolean value is true. + + The parameter object. + Returns a FontWeight value. + + + + Determine whether or not weight is inverted based on a converter + parameter. + + The parameter instance. + Returns a value indicating whether the instance is + inverting. + + + + Collection of functions for functional programming tasks. + + + + + Traverses a tree by accepting an initial value and a function that + retrieves the child nodes of a node. + + The type of the stream. + The initial node. + A function that retrieves the child + nodes of a node. + A predicate that evaluates a node + and returns a value indicating whether that node and it's children + should be traversed. + A stream of nodes. + + + + The test results header control. + + + + + Initializes a new instance of the Header type. + + + + + InitializeComponent + + + + + A value converter for collapsing or showing elements based on the bound + object's type name. Does not walk the hierarchy - it is explicit to the + most specific class for the value. This class, + InvertedTypeNameVisibilityConverter, offers the opposite behavior of the + TypeNameVisibilityConverter class. + + + + + A value converter for collapsing or showing elements based on the bound + object's type name. Does not walk the hierarchy - it is explicit to the + most specific class for the value. + + + + + Convert a value based on CLR type to a Visibility value. Does not + walk the type tree, however. + + The value instance. + The target parameter. + ConverterParameter is the name of the type, + both short and full names are checked, short name first. + The culture parameter. + Returns the object. + + + + Convert back, not supported with this value converter. + + The value instance. + The target parameter. + ConverterParameter is of type Visibility. + The culture parameter. + Returns the object. + + + + Gets a value indicating whether the visibility value should be + inverted. + + + + + Gets a value indicating whether the visibility value should be + inverted. + + + + + Provides useful extensions to ItemsControl instances. + + Experimental + + + + Gets the Panel that contains the containers of an ItemsControl. + + The ItemsControl. + + The Panel that contains the containers of an ItemsControl, or null + if the Panel could not be found. + + + is null. + + + + + Gets the ScrollViewer that contains the containers of an + ItemsControl. + + The ItemsControl. + + The ScrollViewer that contains the containers of an ItemsControl, or + null if a ScrollViewer could not be found. + + + is null. + + + + + Get the item containers of an ItemsControl. + + The ItemsControl. + The item containers of an ItemsControl. + + is null. + + + + + Get the item containers of an ItemsControl. + + + The type of the item containers. + + The ItemsControl. + The item containers of an ItemsControl. + + is null. + + + + + Get the item containers of an ItemsControl. + + + The type of the item containers. + + The ItemsControl. + The item containers of an ItemsControl. + + + + Get the items and item containers of an ItemsControl. + + The ItemsControl. + The items and item containers of an ItemsControl. + + is null. + + + + + Get the items and item containers of an ItemsControl. + + + The type of the item containers. + + The ItemsControl. + The items and item containers of an ItemsControl. + + is null. + + + + + Get the items and item containers of an ItemsControl. + + + The type of the item containers. + + The ItemsControl. + The items and item containers of an ItemsControl. + + is null. + + + + + Returns a value indicating whether an item can be added to an + ItemsControl. + + The ItemsControl instance. + The item to be added. + A value Indicating whether an item can be added to an + ItemsControl. + + + + Returns a value indicating whether an item can be removed from the + ItemsControl. + + The items control. + A value indicating whether an item can be removed from the + ItemsControl. + + + + Inserts an item into an ItemsControl. + + The ItemsControl instance. + The index at which to insert the item. + The item to be inserted. + + + + Adds an item to an ItemsControl. + + The ItemsControl instance. + The item to be inserted. + + + + Removes an item from an ItemsControl. + + The ItemsControl instance. + The item to be removed. + + + + Removes an item from an ItemsControl. + + The ItemsControl instance. + The index of the item to be removed. + + + + Gets the number of items in an ItemsControl. + + The ItemsControl instance. + The number of items in the ItemsControl. + + + + Represents a control that applies a layout transformation to its Content. + + Preview + + + + Name of the TransformRoot template part. + + + + + Name of the Presenter template part. + + + + + Acceptable difference between two doubles. + + + + + Number of decimals to round the Matrix to. + + + + + Identifies the LayoutTransform DependencyProperty. + + + + + Root element for performing transformations. + + + + + ContentPresenter element for displaying the content. + + + + + RenderTransform/MatrixTransform applied to _transformRoot. + + + + + Transformation matrix corresponding to _matrixTransform. + + + + + Actual DesiredSize of Child element (the value it returned from its MeasureOverride method). + + + + + Initializes a new instance of the LayoutTransformer class. + + + + + Builds the visual tree for the LayoutTransformer control when a new + template is applied. + + + + + Handles changes to the Transform DependencyProperty. + + Source of the change. + Event args. + + + + Applies the layout transform on the LayoutTransformer control content. + + + Only used in advanced scenarios (like animating the LayoutTransform). + Should be used to notify the LayoutTransformer control that some aspect + of its Transform property has changed. + + + + + Processes the Transform to determine the corresponding Matrix. + + Transform to process. + + + + Walks the Transform(Group) and returns the corresponding Matrix. + + Transform(Group) to walk. + Computed Matrix. + + + + Provides the behavior for the "Measure" pass of layout. + + The available size that this element can give to child elements. + The size that this element determines it needs during layout, based on its calculations of child element sizes. + + + + Provides the behavior for the "Arrange" pass of layout. + + The final area within the parent that this element should use to arrange itself and its children. + The actual size used. + + Using the WPF paramater name finalSize instead of Silverlight's finalSize for clarity + + + + + Compute the largest usable size (greatest area) after applying the transformation to the specified bounds. + + Arrange bounds. + Largest Size possible. + + + + Returns true if Size a is smaller than Size b in either dimension. + + Second Size. + First Size. + True if Size a is smaller than Size b in either dimension. + + + + Rounds the non-offset elements of a Matrix to avoid issues due to floating point imprecision. + + Matrix to round. + Number of decimal places to round to. + Rounded Matrix. + + + + Implements WPF's Rect.Transform on Silverlight. + + Rect to transform. + Matrix to transform with. + Bounding box of transformed Rect. + + + + Implements WPF's Matrix.Multiply on Silverlight. + + First matrix. + Second matrix. + Multiplication result. + + + + Implements WPF's Matrix.HasInverse on Silverlight. + + Matrix to check for inverse. + True if the Matrix has an inverse. + + + + Outputs diagnostic info if DIAGNOSTICWRITELINE is defined. + + Diagnostic message. + + + + Gets or sets the layout transform to apply on the LayoutTransformer + control content. + + + Corresponds to UIElement.LayoutTransform. + + + + + Gets the child element being transformed. + + + + + The TagEditor control provides a brief user interface allowing for the + selection of a set of tests, used to filter the test run. + + + + + Key used to lookup the TagHistory site setting. + + + + + Number of seconds to wait before running the test. + + + + + Initializes a new instance of the TagEditor type. + + The tag expression to use. + + + + Initializes a new instance of the TagEditor type. + + + + + Fires the Complete event. + + The event arguments. + + + + Handle touch of the button to display the text box. + + Tag button. + Event arguments. + + + + Handle selection of a tag button. + + Tag button. + Event arguments. + + + + Handle changes to the Tag text. + + Tag TextBox. + Event arguments. + + + + Handle clicks to the Run button. + + Run Button. + Event arguments. + + + + Handle timer ticks. + + The timer. + Event arguments. + + + + Stop the timer. + + + + + Run the unit tests. + + + + + Cancels the selection of a tag expression. + + The source object. + The event data. + + + + InitializeComponent + + + + + Gets or sets the timer used to automatically run tests if no tag is + entered. + + + + + Gets or sets the number of seconds already waited. + + + + + Gets or sets the tag history. + + + + + An event that indicates that the tag editor is complete. This can be + in response to many actions: the user entering a tag expression, the + time expiring and the default being selected, or the selection being + canceled. + + + + + Mobile test exceptions page. + + + + + Initializes a new instance of the page. + + + + + InitializeComponent + + + + + Mobile test method details page. + + + + + Initializes a new instance of the page. + + + + + InitializeComponent + + + + + A user control designed for mobile platforms. The control should be used + as the root visual for a Silverlight plugin if developers would like to + use the advanced TestSurface functionality. + + + + + An interface for any test page instances to implement. + + + + + Gets the test panel instance. + + + + + An interface for any test page instances to implement. + + + + + Requests navigation back a page. + + A value indicating whether the operation was successful. + + + + Contains the slide manager for the primitive user interface + navigation system. + + + + + Backing field for the unit test harness instance. + + + + + Backing field for the startup timer. + + + + + Backing field for the model manager. + + + + + Initializes a new instance of the MobileTestPage class. + + + + + Initializes the MobileTestPage object. + + The test harness instance. + + + + Waits for the Settings to become available, either by the service or + system setting the instance property. + + The source timer. + The event arguments. + + + + Creates a new slide and inserts it into the slide manager, plus + visual tree. + + The text header to use. + The content to inside the slide. + Returns the new Slide instance. + + + + Handles the completion event on the tag expression editor to begin + the test run using the user-provided settings. + + The source object. + The event arguments. + + + + Starts the test run. + + + + + Handles the test harness complete event, to display results. + + The source object. + The event data. + + + + Handles the movement back to the test assemblies list. + + The source object. + The event arguments. + + + + Handles the movement back to the test classes list. + + The source object. + The event arguments. + + + + Handles the movement back to the test methods list. + + The source object. + The event arguments. + + + + Handles the selection of a test assembly. + + The source object. + The event arguments. + + + + Handles the selection of a test class. + + The source object. + The event arguments. + + + + Handles the selection of a test method. + + The source object. + The event arguments. + + + + Requests navigation back a page. + + A value indicating whether the operation was successful. + + + + InitializeComponent + + + + + Gets the test surface, a dynamic Panel that removes its children + elements after each test completes. + + + + + Gets the unit test harness instance. + + + + + A derived TreeView control specific to the application needs for + showing results in real-time. + + + + + Represents a control that displays hierarchical data in a tree structure + that has items that can expand and collapse. + + Stable + + + + The IUpdateVisualState interface is used to provide the + InteractionHelper with access to the type's UpdateVisualState method. + + + + + Update the visual state of the control. + + + A value indicating whether to automatically generate transitions to + the new state, or instantly transition to the new state. + + + + + A value indicating whether a read-only dependency property change + handler should allow the value to be set. This is used to ensure + that read-only properties cannot be changed via SetValue, etc. + + + + + A value indicating whether a dependency property change handler + should ignore the next change notification. This is used to reset + the value of properties without performing any of the actions in + their change handlers. + + + + + Identifies the + + dependency property. + + + The identifier for the + + property. + + + + + SelectedItemProperty property changed handler. + + TreeView that changed its SelectedItem. + Event arguments. + + + + Identifies the + + dependency property. + + + The identifier for the + + dependency property. + + + + + SelectedValueProperty property changed handler. + + TreeView that changed its SelectedValue. + Event arguments. + + + + Identifies the + + dependency property. + + + The identifier for the + + dependency property. + + + + + SelectedValuePathProperty property changed handler. + + TreeView that changed its SelectedValuePath. + Event arguments. + + + + Identifies the + + dependency property. + + + The identifier for the + + dependency property. + + + + + ItemContainerStyleProperty property changed handler. + + + TreeView that changed its ItemContainerStyle. + + Event arguments. + + + + Initializes a new instance of the + class. + + + + + Returns a + + for use by the Silverlight automation infrastructure. + + + A + + for the control. + + + + + Builds the visual tree for the + control when a new + control template is applied. + + + + + Update the visual state of the TreeView. + + + A value indicating whether to use transitions when updating the + visual state. + + + + + Creates a to + display content. + + + A to use as a + container for content. + + + + + Determines whether the specified item is a + , which is the + default container for items in the + control. + + The object to evaluate. + + True if the item is a + ; otherwise, + false. + + + + + Prepares the container element to display the specified item. + + + The container element used to display the specified item. + + The item to display. + + + + Removes all templates, styles, and bindings for the object displayed + as a . + + + The element to + clear. + + + The item that is contained in the + . + + + + + Makes adjustments to the + control when the + value of the + property + changes. + + + A + + that contains data about the change. + + + + + Select any descendents when adding new TreeViewItems to a TreeView. + + The added item. + + + + Propagate OnKeyDown messages from the root TreeViewItems to their + TreeView. + + Event arguments. + + Because Silverlight's ScrollViewer swallows many useful key events + (which it can ignore on WPF if you override HandlesScrolling or use + an internal only variable in Silverlight), the root TreeViewItems + explicitly propagate KeyDown events to their parent TreeView. + + + + + Provides handling for the + event when a key + is pressed while the control has focus. + + + A that contains + the event data. + + + is null. + + + + + Handle keys related to scrolling. + + The key to handle. + A value indicating whether the key was handled. + + + + Handle scrolling a page up or down. + + + A value indicating whether the page should be scrolled up. + + + A value indicating whether the scroll was handled. + + + + + Provides handling for the KeyUp event. + + Event arguments. + + + + Provides handling for the MouseEnter event. + + Event arguments. + + + + Provides handling for the MouseLeave event. + + Event arguments. + + + + Provides handling for the MouseMove event. + + Event arguments. + + + + Provides handling for the + + event. + + + A that + contains the event data. + + + + + Provides handling for the MouseLeftButtonUp event. + + Event arguments. + + + + Provides handling for mouse button events. + + A value indicating whether the event was handled. + + + + Provides handling for the GotFocus event. + + Event arguments. + + + + Provides handling for the LostFocus event. + + Event arguments. + + + + Raises the + + event when the + + property value changes. + + + A + that contains the event data. + + + + + Change whether a TreeViewItem is selected. + + + Item whose selection is changing. + + + Container of the item whose selection is changing. + + + A value indicating whether the TreeViewItem is selected. + + + + + Update the selected value of the of the TreeView based on the value + of the currently selected TreeViewItem and the SelectedValuePath. + + + Value of the currently selected TreeViewItem. + + + + + Select the first item of the TreeView. + + + + + Focus the first item in the TreeView. + + A value indicating whether the item was focused. + + + + Focus the last item in the TreeView. + + A value indicating whether the item was focused. + + + + Gets the selected item in a + . + + + The currently selected item or null if no item is selected. The + default value is null. + + + + + Gets the value of the + + property that is specified by the + + property. + + + The value of the + + property that is specified by the + + property, or null if no item is selected. The default value is null. + + + + + Gets or sets the property path that is used to get the + + property of the + + property in a . + + + The property path that is used to get the + + property of the + + property in a . The + default value is . + + + + + Gets or sets the that is + applied to the container element generated for each item. + + + The applied to the container + element that contains each item. + + + + + Gets the currently selected TreeViewItem container. + + + + + Gets a value indicating whether the currently selected TreeViewItem + container is properly hooked up to the TreeView. + + + + + Gets or sets a value indicating whether the selected item is + currently being changed. + + + + + Gets the ItemsControlHelper that is associated with this control. + + + + + Gets the helper that provides all of the standard + interaction functionality. + + + + + Gets a value indicating whether the Control key is currently + pressed. + + + + + Gets a value indicating whether the Shift key is currently pressed. + + + + + Occurs when the value of the + + property changes. + + + + + Overrides the item to allow for simple binding to the expanded + property on the item. + + Returns a new container for an item. + + + + This method returns the container with an expanded binding. + + Returns the container with an expanded binding. + + + + A derived TreeViewItem for IsExpanded binding. + + + + + Provides a selectable item for the + control. + + Stable + + + + Represents a control that contains a collection of items and a header. + + Stable + + + + Identifies the + + dependency property. + + + The identifier for the + + dependency property. + + + Note: WPF defines this property via a call to AddOwner of + HeaderedContentControl's HeaderProperty. + + + + + HeaderProperty property changed handler. + + + HeaderedItemsControl that changed its Header. + + Event arguments. + + + + Identifies the + + dependency property. + + + The identifier for the + + dependency property. + + + Note: WPF defines this property via a call to AddOwner of + HeaderedContentControl's HeaderTemplateProperty. + + + + + HeaderTemplateProperty property changed handler. + + + HeaderedItemsControl that changed its HeaderTemplate. + + Event arguments. + + + + Identifies the + + dependency property. + + + The identifier for the + + dependency property. + + + + + ItemContainerStyleProperty property changed handler. + + + HeaderedItemsControl that changed its ItemContainerStyle. + + Event arguments. + + + + Initializes a new instance of the + class. + + + + + Called when the value of the + + property changes. + + + The old value of the + + property. + + + The new value of the + + property. + + + + + Called when the value of the + + property changes. + + + The old value of the + + property. + + + The new value of the + + property. + + + + + Builds the visual tree for the + when a + new template is applied. + + + + + Prepares the specified element to display the specified item. + + + The container element used to display the specified item. + + The content to display. + + + + Prepares the specified container to display the specified item. + + + Container element used to display the specified item. + + Specified item to display. + The parent ItemsControl. + + The ItemContainerStyle for the parent ItemsControl. + + + + + Prepare a PrepareHeaderedItemsControlContainer container for an + item. + + Container to prepare. + Item to be placed in the container. + The parent ItemsControl. + + The ItemContainerStyle for the parent ItemsControl. + + + + + Check whether a control has the default value for a property. + + The control to check. + The property to check. + + True if the property has the default value; false otherwise. + + + + + Gets or sets a value indicating whether the Header property has been + set to the item of an ItemsControl. + + + + + Gets or sets the item that labels the control. + + + The item that labels the control. The default value is null. + + + + + Gets or sets a data template that is used to display the contents of + the control's header. + + + Gets or sets a data template that is used to display the contents of + the control's header. The default is null. + + + + + Gets or sets the that is + applied to the container element generated for each item. + + + The that is applied to the + container element generated for each item. The default is null. + + + + + Gets the ItemsControlHelper that is associated with this control. + + + + + The name of the ExpanderButton template part. + + + + + The name of the Header template part. + + + + + The ExpanderButton template part is used to expand and collapse the + TreeViewItem. + + + + + The Header template part is used to distinguish the bound Header + content of the TreeViewItem. + + + + + The ExpansionStates visual state group. + + + + + A value indicating whether a read-only dependency property change + handler should allow the value to be set. This is used to ensure + that read-only properties cannot be changed via SetValue, etc. + + + + + Identifies the + + dependency property. + + + The identifier for the + + dependency property. + + + + + HasItemsProperty property changed handler. + + TreeViewItem that changed its HasItems. + Event arguments. + + + + Identifies the + + dependency property. + + + The identifier for the + + dependency property. + + + + + IsExpandedProperty property changed handler. + + TreeViewItem that changed its IsExpanded. + Event arguments. + + + + Identifies the + + dependency property. + + + The identifier for the + + dependency property. + + + + + IsSelectedProperty property changed handler. + + TreeViewItem that changed its IsSelected. + Event arguments. + + + + Identifies the + + dependency property. + + + The identifier for the + + dependency property. + + + + + IsSelectionActiveProperty property changed handler. + + TreeViewItem that changed its IsSelectionActive. + Event arguments. + + + + A reference to the parent ItemsControl of a TreeViewItem. + + + + + Initializes a new instance of the + class. + + + + + Returns a + + for use by the Silverlight automation infrastructure. + + + A + + object for the + . + + + + + Builds the visual tree for the + control when a + new control template is applied. + + + + + Provides handling for the ExpansionStates CurrentChanged event. + + The ExpansionState VisualStateGroup. + Event arguments. + + + + Scroll the TreeViewItem into view. + + + + + Update the visual state of the control. + + + A value indicating whether to automatically generate transitions to + the new state, or instantly transition to the new state. + + + + + Update the visual state of the control. + + + A value indicating whether to automatically generate transitions to + the new state, or instantly transition to the new state. + + + + + Creates a to + display content. + + + A to use as a + container for content. + + + + + Determines whether an object is a + . + + The object to evaluate. + + True if is a + ; otherwise, + false. + + + + + Prepares the specified container element to display the specified + item. + + + Container element used to display the specified item. + + The item to display. + + + + Removes all templates, styles, and bindings for the object displayed + as a . + + + The element to + clear. + + + The item that is contained in the + . + + + + + Makes adjustments to the + when the value + of the + property changes. + + + A + + that contains data about the change. + + + + + Raise a RoutedEvent. + + Event handler. + Event arguments. + + + + Raises an + event + when the + + property changes from false to true. + + + A that contains the + event data. + + + + + Raises a + + event when the + + property changes from true to false. + + + A that contains the + event data. + + + + + Handle changes to the IsExpanded property. + + Event handler. + Event arguments. + + + + Raises the + event + when the + + property changes from false to true. + + + A that contains the + event data. + + + + + Raises the + + event when the + + property changes from true to false. + + + A that contains the + event data. + + + + + Provides handling for the + event. + + + A that contains the + event data. + + + + + Provides handling for the + event. + + + A that contains the + event data. + + + + + Handle the ExpanderButton's GotFocus event. + + The ExpanderButton. + Event Arguments. + + + + Provides handling for the + event. + + + A that contains + the event data. + + + + + Provides handling for the + event. + + + A that contains + the event data. + + + + + Provides handling for the Header's MouseLeftButtonDown event. + + The Header template part. + Event arguments. + + + + Provides handling for the ExpanderButton's Click event. + + The ExpanderButton. + Event Arguments. + + + + Provides handling for the + event. + + + A that + contains the event data. + + + + + Provides handling for the + event. + + + A that + contains the event data. + + + + + Provides handling for the + event when the + has focus. + + + A that contains + the event data. + + + + + Try moving the focus down from the selected item. + + + A value indicating whether the focus was successfully moved. + + + + + Provides handling for the + event. + + + A that contains + the event data. + + + + + Try moving the focus up from the selected item. + + + A value indicating whether the focus was successfully moved. + + + + + Handle scrolling a page up or down. + + + A value indicating whether the page should be scrolled up. + + The ScrollViewer being scrolled. + The height of the viewport. + The top of item to start from. + The bottom of the item to start from. + The height of this item. + + A value indicating whether the scroll was handled. + + + + + Calculate the distance between this TreeViewItem and the item being + paged from. + + + A value indicating whether the page should be scrolled up. + + The element being paged from. + The ScrollViewer being scrolled. + The top of item to start from. + The bottom of the item to start from. + + The distance between the top/bottom of one item to the other. + + + A value indicating whether the scroll was handled. + + + + + Change the selected status of the TreeViewItem. + + + A value indicating whether the TreeViewItem is selected. + + + + + Update the ancestors of this item when it changes selection. + + + A value indicating whether the item is selected. + + + Unselection updates need to occur before selection updates because + the old and new selected items may share a partial path. + + + + + Determine whether the TreeViewItem should be allowed to handle a key + event. + + + A value indicating whether the key event should be handled. + + + + + Navigate the focus to the next TreeViewItem below this item. + + + A value indicating whether the focus was navigated. + + + + + Navigate the focus to the very last TreeViewItem descendent of the + this item. + + + A value indicating whether the focus was navigated. + + + + + Find the next focusable TreeViewItem below this item. + + + A value indicating whether the item should recurse into its child + items when searching for the next focusable TreeViewItem. + + The next focusable TreeViewItem below this item. + + + + Find the last focusable TreeViewItem contained by this item. + + + The last focusable TreeViewItem contained by this item. + + + + + Find the previous focusable TreeViewItem above this item. + + + The previous focusable TreeViewItem above this item. + + + + + Gets or sets the ExpanderButton template part is used to expand and + collapse the TreeViewItem. + + + + + Gets the Header template part that is used to distinguish the bound + Header content of the TreeViewItem. + + + + + Gets or sets the ExpansionStates visual state group. + + + + + Gets or sets a value indicating whether a dependency property change + handler should ignore the next change notification. This is used to + reset the value of properties without performing any of the actions + in their change handlers. + + + + + Gets a value indicating whether this + contains + items. + + + True if this + contains items; otherwise, false. The default is false. + + + + + Gets or sets a value indicating whether the + + contained by this + are expanded + or collapsed. + + + True to indicate the contents of the + + collection are expanded; false to indicate the items are collapsed. + The default is false. + + + + + Gets or sets a value indicating whether this + is selected. + + + True if this + is selected; otherwise, false. The default is false. + + + + + Gets a value indicating whether the + has focus. + + + True if this + has focus; otherwise, false. The default is false. + + + + + Gets the helper that provides all of the standard + interaction functionality. + + + + + Gets or sets a value indicating whether the TreeView's currently + selected item is a descendent of this TreeViewItem. + + + + + Gets or sets a value indicating whether the TreeViewItem should + ignore the next GotFocus event it receives because it has already + been handled by one of its children. + + + + + Gets or sets a value indicating whether checking ContainsSelection + should actually perform the update notifications because the item + was selected before it was in the visual tree. + + + + + Gets or sets a value indicating whether a user initiated action + caused the IsExpanded property to be set. + + + + + Gets or sets a reference to the parent ItemsControl of a + TreeViewItem. + + + + + Gets a reference to the parent TreeViewItem of this TreeViewItem. + + + + + Gets a reference to the parent TreeView of the TreeViewItem. + + + + + Gets a value indicating whether this TreeViewItem is a root of the + TreeView. + + + + + Gets a value indicating whether the TreeViewItem can expand when it + receives appropriate user input. + + + + + Occurs when the + + property changes from true to false. + + + + + Occurs when the + + property changes from false to true. + + + + + Occurs when the + + property of a + changes from false to true. + + + + + Occurs when the + + property of a + changes from true to false. + + + + + Overrides the item to allow for simple binding to the expanded + property on the item. + + Returns a new container for an item. + + + + Overrides the key down event to allow toggling the space. + + The key event arguments data. + + + + A specialized content control that contains a fixed header, a standard + header content property, plus content. It is designed specifically for + a "slide-based" user interface for simple user interfaces. + + + + + The visual state group name for slide position. + + + + + The visual state name for left position. + + + + + The visual state name for right position. + + + + + The normal visual state name for position. + + + + + The content template part name. + + + + + The header template part name. + + + + + The fixed header template name. + + + + + The manager of the slide and its siblings. + + + + + Identifies the Header dependency property. + + + + + Identifies the FixedHeader dependency property. + + + + + Identifies the Position dependency property. + + + + + PositionProperty property changed handler. + + Slide that changed its Position. + Event arguments. + + + + Initializes a new instance of the Slide class. + + + + + Remove the slide from the parent manager. + + + + + Locate template parts and assign instances to fields during template + application. + + + + + Fires the slide changed event. + + + + + Fires the current state changed event. + + The source object. + The event arguments. + + + + Helps debugging by providing information about the slide name. + + Returns the name of the slide. + + + + Updates the visual state. + + A value indicating whether to use + visual transitions for the state change. + The slide position to use. + + + + Event fired when the current slide changes. + + + + + Gets or sets the primary header content. + + + + + Gets or sets the fixed header content. + + + + + Gets or sets the position of the slide. + + + + + Gets or sets the slide manager for the slide. + + + + + A helper class to managing sets of slides. + + + + + Initializes a new instance of the SlideManager class. + + + + + Stores the linked list node for the current slide. + + + + + Backing field for the set of slides. + + + + + Adds a slide or an array of slides to the managed slide set. + + The slides to manage. + + + + Initializes the position of the slide based on location. + + The slide instance. + A property indicating whether the slide is the + first to be managed. + + + + Manages a new slide, inserting it after an existing slide node. + + The node to insert after. + The new slide instance. + Returns the linked list node that is inserted. + + + + Inserts a slide as the first in the linked list. + + The new slide instance. + Returns the linked list node. + + + + Insert a slide after a provided linked list node. + + The node to insert after. + The new slide to insert. + Returns the new linked list node. + + + + Remove a slide from management. + + The slide instance. + + + + Move to the previous slide. + + + + + Move to the next slide. + + + + + Moves to a specific slide, moving the others to the appropriate + direction on screen. + + The slide to move to. + + + + Move in a direction. + + A value indicating whether the direction to + move is forward or not. + + + + Gets the current slide instance. + + + + + Indicates the position that the slide should have. + + + + + Normal position, centered on the screen. + + + + + To the left of the screen. + + + + + To the right of the screen. + + + + + The TagEditor control provides a brief user interface allowing for the + selection of a set of tests, used to filter the test run. + + + + + Key used to lookup the TagHistory site setting. + + + + + Key used to lookup whether the last run used tag expressions. + + + + + Number of seconds to wait before running the test. + + + + + Backing field for the last run used value. + + + + + Initializes a new instance of the TagEditor type. Also includes a + set of sample tags for display to the end user. + + The tag expression to use. + Sample tags to display. + + + + Initializes a new instance of the TagEditor type. + + The tag expression to use. + + + + Initializes a new instance of the TagEditor type. + + + + + Handles the key down event. + + The key event arguments. + + + + Fires the Complete event. + + The event arguments. + + + + Creates a new button. + + The button content. + Returns a new Button instance. + + + + Handle selection of a tag button. + + Tag button. + Event arguments. + + + + Handle changes to the Tag text. + + Tag TextBox. + Event arguments. + + + + Handle clicks to the Run button. + + Run Button. + Event arguments. + + + + Handle timer ticks. + + The timer. + Event arguments. + + + + Stop the timer. + + + + + Run the unit tests. + + + + + Cancels the selection of a tag expression. + + The source object. + The event data. + + + + InitializeComponent + + + + + Gets or sets the timer used to automatically run tests if no tag is + entered. + + + + + Gets or sets the number of seconds already waited. + + + + + Gets or sets the tag history. + + + + + An event that indicates that the tag editor is complete. This can be + in response to many actions: the user entering a tag expression, the + time expiring and the default being selected, or the selection being + canceled. + + + + + A class for storing event information relating to a user's selected + tag expression for a test run. + + + + + Initializes a new instance of the TagExpression event arguments + class. + + The tag expression. + + + + Gets the tag expression stored in the event arguments. + + + + + Gets a value indicating whether a tag expression has been set. + + + + + Displays information about any exceptions listed in the results. + + + + + Initializes a new instance of the TestExceptionDetails class. + + + + + InitializeComponent + + + + + Details view for test method data. + + + + + Initializes a new instance of the TestMethodDetails class. + + + + + InitializeComponent + + + + + A set of simple time helper methods. + + + + + Returns a human-readable formatting of the time different between + two DateTime instances. + + The starting time. + The finishing time. + Returns a human-readable string. + + + + Returns a human-readable formatting of the time different between + two DateTime instances. + + The time span instance. + Returns a human-readable string. + + + + A plural 's' as the suffix, when not equal to one. + + The string value. + The number to check. + Returns an empty string or the English plural 's'. + + + + Provides the necessary infrastructure to enable drawing connecting + lines between the TreeViewItems in a TreeView. + + Experimental + + + + Gets the value of the ConnectingLineInfo attached property for a + specified TreeViewItem. + + + The TreeViewItem from which the property value is read. + + + The ConnectingLineInfo property value for the TreeViewItem. + + + + + Identifies the ConnectingLineInfo dependency property. + + + + + Gets the value of the IsVerticalConnectingLineOf attached property + for a specified Line. + + The Line from which the property value is read. + The IsVerticalConnectingLineOf property value for the Line. + + + + Sets the value of the IsVerticalConnectingLineOf attached property to a specified Line. + + The Line to which the attached property is written. + The needed IsVerticalConnectingLineOf value. + + + + Identifies the IsVerticalConnectingLineOf dependency property. + + + + + IsVerticalConnectingLineOfProperty property changed handler. + + + Line that changed its IsVerticalConnectingLineOf TreeViewItem. + + Event arguments. + + + + Gets the value of the IsHorizontalConnectingLineOf attached property + for a specified Line. + + + The Line from which the property value is read. + + + The IsHorizontalConnectingLineOf property value for the Line. + + + + + Sets the value of the IsHorizontalConnectingLineOf attached property + to a specified Line. + + + The Line to which the attached property is written. + + + The needed IsHorizontalConnectingLineOf value. + + + + + Identifies the IsHorizontalConnectingLineOf dependency property. + + + + + IsHorizontalConnectingLineOfProperty property changed handler. + + + Line that changed its IsHorizontalConnectingLineOf TreeViewItem. + + Event arguments. + + + + Gets the value of the IsExpanderButtonOf attached property for a + specified ToggleButton. + + + The ToggleButton from which the property value is read. + + + The IsExpanderButtonOf property value for the ToggleButton. + + + + + Sets the value of the IsExpanderButtonOf attached property to a + specified ToggleButton. + + + The ToggleButton to which the attached property is written. + + The needed IsExpanderButtonOf value. + + + + Identifies the IsExpanderButtonOf dependency property. + + + + + IsExpanderButtonOfProperty property changed handler. + + + ToggleButton that changed its IsExpanderButtonOf TreeViewItem. + + Event arguments. + + + + Gets the value of the IsHeaderOf attached property for a specified + FrameworkElement. + + + The FrameworkElement from which the property value is read. + + + The IsHeaderOf property value for the FrameworkElement. + + + + + Sets the value of the IsHeaderOf attached property to a specified + FrameworkElement. + + + The FrameworkElement to which the attached property is written. + + The needed IsHeaderOf value. + + + + Identifies the IsHeaderOf dependency property. + + + + + IsHeaderOfProperty property changed handler. + + + FrameworkElement that changed its IsHeaderOf TreeViewItem. + + Event arguments. + + + + Provides useful extensions to TreeView and TreeViewItem instances. + + Experimental + + + + Get the parent ItemsControl of an element. + + The element. + + The parent ItemsControl of an element, or null if not found. + + + + + Get the ancestor ItemsControls of an element. + + The element. + + The ancestor ItemsControls of an element. + + + + + Get the parent TreeViewItem of a TreeViewItem. + + The TreeViewItem. + + The parent TreeViewItem if found, otherwise null. + + + is null. + + + + + Get the parent TreeView of a TreeViewItem. + + The TreeViewItem. + The parent TreeView if found, otherwise null. + + is null. + + + + + Get the TreeViewItem containers of a TreeView. + + The TreeView. + The TreeViewItem containers of a TreeView. + + is null. + + + + + Get the child TreeViewItem containers of a TreeViewItem. + + The TreeViewItem. + + The child TreeViewItem containers of a TreeViewItem. + + + is null. + + + + + Get the items and TreeViewItem containers of a TreeView. + + The TreeView. + + The items and TreeViewItem containers of a TreeView. + + + is null. + + + + + Get the items and TreeViewItem containers of a TreeViewItem. + + The TreeViewItem. + + The items and TreeViewItem containers of a TreeViewItem. + + + is null. + + + + + Get the TreeViewItem containers of a TreeView. + + The TreeView. + The TreeViewItem containers of a TreeView. + + is null. + + + + + Get the descendant TreeViewItem containers of a TreeViewItem. + + The TreeViewItem. + + The descendant TreeViewItem containers of a TreeViewItem. + + + is null. + + + + + Get the descendant items and TreeViewItem containers of a TreeView. + + The TreeView. + + The descendant items and TreeViewItem containers of a TreeView. + + + is null. + + + + + Get the descendant items and TreeViewItem containers of a + TreeViewItem. + + The TreeViewItem. + + The descendant items and TreeViewItem containers of a TreeViewItem. + + + is null. + + + + + Get the items and TreeViewItem containers of a TreeView or + TreeViewItem. + + The TreeView or TreeViewItem. + + The items and TreeViewItem containers of a TreeView or TreeViewItem. + + + + + Get the sibling items and containers of the item. + + The TreeViewItem. + The sibling items and containers of the item. + + + + Get the TreeViewItems already created that are used to represent the + given item. + + The TreeView. + The item being represented. + + A sequence of TreeViewItems that represent the given item, or an + empty sequence if none were found. + + + is null. + + + + + Get the TreeViewItem already created that is used to represent the + given item. + + The TreeView. + The item being represented. + + The TreeViewItems that represents the given item, or null if no + container was found. + + + If multiple TreeViewItems represent the same item, the first item + found via a breadth-first search will be used. + + + is null. + + + + + Gets a path of items and TreeViewItem containers from the + TreeViewItem to the root of the TreeView. + + The TreeViewItem. + + A path of items and TreeViewItem containers from the TreeViewItem to + the root of the TreeView. + + + is null. + + + + + Gets a path of items and TreeViewItem containers from the + TreeViewItem to the root of the TreeView. + + The TreeViewItem. + + A path of items and TreeViewItem containers from the TreeViewItem to + the root of the TreeView. + + + + + Get the item wrapped by this container. + + The TreeViewItem. + + The item wrapped by the container, or null if not found. + + + is null. + + + + + Get the item of the parent container for a specified + . + + + The TreeView containing the . + + The child item. + + The item of the parent container for the specified + , or null if not found. + + + + + Gets a value indicating whether the TreeViewItem is a root of its + TreeView. + + The TreeViewItem. + + A value indicating whether the TreeViewItem is a root of its + TreeView. + + + is null. + + + + + Gets a value indicating whether the TreeViewItem is a leaf in its + TreeView. + + The TreeViewItem. + + A value indicating whether the TreeViewItem is a leaf in its + TreeView. + + + is null. + + + + + Gets the depth of a TreeViewItem in its TreeView (using a zero-based + index). + + The TreeViewItem. + + The depth of a TreeViewItem in its TreeView (using a zero-based + index). + + + is null. + + + is not in a TreeView. + + + + + Get the selected TreeViewItem in a TreeView. + + The TreeView. + + The selected TreeViewItem, or null if no selected item found. + + + is null. + + + + + Sets the selected TreeViewItem of a TreeView. + + The TreeView. + The TreeViewItem to select. + + is null. + + + + + Clear the selection of the TreeView. + + The TreeView. + + is null. + + + + + Select an item in the TreeView. + + The TreeView. + The item to select. + + A value indicating whether the item was successfully set as the + TreeView's SelectedItem. + + + is null. + + + + + Gets the path to the TreeView's selected item. + + The TreeView. + The path to the TreeView's selected item. + + is null. + + + + + Recursively expand or collapse the TreeViewItem and all of its + descendants. + + The TreeViewItem. + + A value indicating whether to expand or collapse. + + + The number of levels that have already been collapsed or expanded. + This is used in conjunction with the optional maximumDepth to only + expand a specified number of layers. + + + An optional depth that defines the number of layers to expand or + collapse. + + + + + Expand or collapse all of the descendants of the TreeView. + + The TreeView. + + A value indicating whether to expand or collapse. + + + An optional depth that defines the number of layers to expand or + collapse. + + + + + Expand all of the items in a TreeView. + + The TreeView. + + is null. + + + + + Collapse all of the items in a TreeView. + + The TreeView. + + is null. + + + + + Expand a specified number of layers in a TreeView. + + The TreeView. + The number of layers to expand. + + is null. + + + + + Expand a path from the given item to the root of it's TreeView. + + The TreeViewItem. + + A value indicating whether to collapse siblings while expanding the + path. This will result in only the path from the item to the root + being expanded. + + + + + Expand a path from the TreeViewItem to the root of the TreeView. + + The TreeViewItem. + + is null. + + + + + Expand the path from the SelectedItem to the root of the TreeView. + + The TreeView. + + is null. + + + + + Collapse all TreeViewItems except those along the path from the + TreeView's SelectedItem to the root of the TreeView. + + The TreeView. + + is null. + + + + + Expand the given path of items starting from the TreeView's root. + + The TreeView. + + The sequence of items corresponding to the path to expand. + + + is null. + + + is null. + + + + + Expand the given path of items starting from the TreeView's root. + + + The type of items provided in . + + The TreeView. + + The sequence of items corresponding to the path to expand. + + + is null. + + + is null. + + + + + Expand the given path of items starting from the TreeView's root. + + + The type of items provided in . + + The TreeView. + + A function that takes a TreeViewItem's item and returns a value to + compare against elements of the given . + The item itself will be used if + is null. + + + The sequence of items corresponding to the path to expand. + + + is null. + + + is null. + + + + + Expand the given path of items starting from the TreeView's root. + + + The type of items provided in . + + The TreeView. + + A function that takes a TreeViewItem's item and returns a value to + compare against elements of the given . + The item itself will be used if + is null. + + + The sequence of items corresponding to the path to expand. + + + is null. + + + is null. + + + + + Gets the value of the IsChecked attached property for a specified + TreeViewItem. + + + The TreeViewItem from which the property value is read. + + + The IsChecked property value for the TreeViewItem. + + + + + Sets the value of the IsChecked attached property to a specified + TreeViewItem. + + + The TreeViewItem to which the attached property is written. + + The needed IsChecked value. + + + + Identifies the IsChecked dependency property. + + + + + IsCheckedProperty property changed handler. + + The TreeViewItem that changed IsChecked. + Event arguments. + + + + Gets the value of the AssociatedCheckBox attached property for a + specified TreeViewItem. + + + The TreeViewItem from which the property value is read. + + + The AssociatedCheckBox property value for the TreeViewItem. + + + + + Sets the value of the AssociatedCheckBox attached property to a + specified TreeViewItem. + + + The TreeViewItem to which the attached property is written. + + The needed AssociatedCheckBox value. + + + + Identifies the AssociatedCheckBox dependency property. + + + + + AssociatedCheckBoxProperty property changed handler. + + + The TreeViewItem that changed its AssociatedCheckBox. + + Event arguments. + + + + Get the sequence of items and containers with their IsChecked + property set to True. + + The TreeView. + + The sequence of items and containers with their IsChecked property + set to True. + + + is null. + + + + + Get the sequence of items and containers with their IsChecked + property set to True. + + The TreeView. + + A value indicating whether to include TreeViewItems with an + indeterminate IsChecked value. + + + The sequence of items and containers with their IsChecked property + set to True or also set to null if indeterminate values are + included. + + + is null. + + + + + Gets or sets a value indicating whether recursive calls to + OnIsCheckedPropertyChanged should ignore their notifications or + process them accordingly. + + + + + Gets or sets a value indicating whether recursive calls to + OnIsCheckedPropertyChanged should update their children when their + IsChecked value has changed. + + + + + Represents a CheckBox whose value is associated with the + TreeViewExtensions.IsChecked attached property of TreeViewItems. + + Experimental + + + + The parent TreeViewItem of the CheckBox. + + + + + Initializes a new instance of the TreeViewItemCheckBox class. + + + + + Associate the parent TreeViewItem with the CheckBox. + + + + + Update the TreeViewItem's IsChecked property when this IsChecked + property is changed. + + The CheckBox. + Event arguments. + + + + Gets the parent TreeViewItem of the CheckBox. + + + + + Represents the necessary information to draw connecting lines in a + TreeViewItem. + + Experimental + + + + Initializes a new instance of the TreeViewItemConnectingLineInfo + class. + + The TreeViewItem. + + + + Position the connecting lines in the TreeViewItem. + + + + + Position the vertical connecting line in the TreeViewItem. + + + + + Gets the TreeViewItem. + + + + + Gets or sets the vertical connecting line of the TreeViewItem. + + + + + Gets or sets the horizontal connecting line of the TreeViewItem. + + + + + Gets or sets the expander button of the TreeViewItem. + + + + + Gets or sets the header of the TreeViewItem. + + + + + Used to convert TreeViewItems into a value based on their depth in + the TreeView. + + Experimental + + + + Initializes a new instance of the TreeViewItemIndentationConverter + class. + + + + + Convert a TreeViewItem into a value based on the depth of the item + in the TreeView. + + The TreeViewItem. + + The indentation type to convert to (such as Thickness or double). + + + The number of pixels to indent each level of the TreeView. A + default value of 15.0 will be used if no parameter is provided. + + + The culture used to convert the TreeViewItem. + + + A value based on the depth of the item in the TreeView. + + + + + Wrap the indentation in the desired type. + + + The number of pixels to indent the TreeViewItem. + + + The indentation type to convert to (such as Thickness or double). + + + A value based on the depth of the item in the TreeView. + + + + + Convert an indentation back into a TreeViewItem. This always throws + a NotSupportedException. + + The indentation. + The type of the indentation. + + The number of pixels to indent each level of the TreeView. + + + The culture used to convert the TreeViewItem. + + Always throws a NotSupportedException. + + + + A set of simple extension methods for applications. + + + + + Checks whether the application host object is not null. + + The application instance. + Returns a value indicating whether the object is not null. + + + + Checks whether the application host and its source object is not + null. + + The application instance. + Returns a value indicating whether the object is not null. + + + + A value converter for collapsing or showing elements. + + + + + Convert a boolean value to a Visibility value. + + The value instance. + The target parameter. + ConverterParameter is of type Visibility. + The culture parameter. + Returns the object. + + + + Support two-way databinding of the VisibilityConverter, converting + Visibility to a bool. + + The value instance. + The target parameter. + ConverterParameter is of type Visibility. + The culture parameter. + Returns the object. + + + + Determine the visibility mode based on a converter parameter. This + parameter is of type Visibility,and specifies what visibility value + to return when the boolean value is true. + + The parameter object. + Returns a Visibility value. + + + + Determine whether or not visibility is inverted based on a converter + parameter. When the parameter is specified as Collapsed, that means + that when the boolean value is true, we should return Collapsed, + which is inverted. + + The parameter object. + Returns a value indicating whether the visibility is + inverted. + + + + Visual states helper code. + + + + + Gets the implementation root of the Control. + + The DependencyObject. + + Implements Silverlight's corresponding internal property on Control. + + Returns the implementation root or null. + + + + This method tries to get the named VisualStateGroup for the + dependency object. The provided object's ImplementationRoot will be + looked up in this call. + + The dependency object. + The visual state group's name. + Returns null or the VisualStateGroup object. + + + + Provides useful extensions for working with the visual tree. + + + Since many of these extension methods are declared on types like + DependencyObject high up in the class hierarchy, we've placed them in + the Primitives namespace which is less likely to be imported for normal + scenarios. + + Experimental + + + + Get the visual tree ancestors of an element. + + The element. + The visual tree ancestors of the element. + + is null. + + + + + Get the visual tree ancestors of an element and the element itself. + + The element. + + The visual tree ancestors of an element and the element itself. + + + is null. + + + + + Get the visual tree ancestors of an element and the element itself. + + The element. + + The visual tree ancestors of an element and the element itself. + + + + + Get the visual tree children of an element. + + The element. + The visual tree children of an element. + + is null. + + + + + Get the visual tree children of an element and the element itself. + + The element. + + The visual tree children of an element and the element itself. + + + is null. + + + + + Get the visual tree children of an element and the element itself. + + The element. + + The visual tree children of an element and the element itself. + + + + + Get the visual tree descendants of an element. + + The element. + The visual tree descendants of an element. + + is null. + + + + + Get the visual tree descendants of an element and the element + itself. + + The element. + + The visual tree descendants of an element and the element itself. + + + is null. + + + + + Get the visual tree descendants of an element and the element + itself. + + The element. + + The visual tree descendants of an element and the element itself. + + + + + Get the visual tree siblings of an element. + + The element. + The visual tree siblings of an element. + + is null. + + + + + Get the visual tree siblings of an element and the element itself. + + The element. + + The visual tree siblings of an element and the element itself. + + + is null. + + + + + Get the bounds of an element relative to another element. + + The element. + + The element relative to the other element. + + + The bounds of the element relative to another element, or null if + the elements are not related. + + + is null. + + + is null. + + + + + Perform an action when the element's LayoutUpdated event fires. + + The element. + The action to perform. + + is null. + + + is null. + + + + + Retrieves all the logical children of a framework element using a + breadth-first search. For performance reasons this method manually + manages the stack instead of using recursion. + + The parent framework element. + The logical children of the framework element. + + + + Retrieves all the logical descendents of a framework element using a + breadth-first search. For performance reasons this method manually + manages the stack instead of using recursion. + + The parent framework element. + The logical children of the framework element. + + + + The CodeCoverage class is used to collect code coverage information from + assemblies that have been instrumented to call the Visit function at the + beginning of every basic block. + + + + + A bit array used to track which basic blocks have been executed. + + + + + A counter of the hit blocks. + + + + + Record that a basic block is being executed. + + Id of the basic block. + + + + Get the coverage data serialized as a string for easy transport. + + Previous releases of the framework used a simplistic bit + list, this release updates the coverage reporting endpoint to an + alternate version that ends in base 64. This maintains test runner + compatibility with previous official releases. + Coverage data serialized as a string. + + + + Gets the current number of hit blocks. + + + + + Gets the current size of the blocks counter. This is not actually + the number of hit blocks, but it should return 0 always except + when at least one block is hit. + + + + + Base class for test cases that use special functionality of the + Microsoft.Silverlight.Testing unit test framework. + + Tests that derive from CustomTest in most cases will not be source- or + functionality- compatible with the more advanced desktop Visual Studio + Test Team environment and harnesses. + + + + + Process an exception using the test engine logic for + ExpectedExceptions and logging the exception if needed. + + Exception object. + + + + Gets or sets a value indicating whether global unhandled exceptions + should be intercepted by the test harness. + + + + + Gets or sets the unit test harness instance. Hidden from the VS + browser as test developers should not need to use this property. + + + + + Gets the current test task container. + + The current container for the test's tasks. + + + + Manages the unit test status and model by attaching to the unit test + harness instance. Validates that all key logging can be done without + special hooks inside of the unit test harness implementation. + + + + + The unit test harness instance. + + + + + The test run data. + + + + + Map assembly metadata to data objects. + + + + + Map test class metadata to data objects. + + + + + Map test metadata to data objects. + + + + + Backing field for the last result. + + + + + Backing field for the last failing result. + + + + + Initializes a new instance of the DataManager type. + + The unit test harness instance. + + + + Initializes a new instance of the DataManager. + + The unit test harness instance. + Returns a new instance of a DataManager class. + + + + Connect to unit test harness events for processing and updating the + underlying unit test run model. + + + + + Unhook from the unit test harness events. + + + + + Process the starting of the test run. + + The source object. + The event data. + + + + Process the test class starting event. + + The source object. + The event data. + + + + Process the test class complete event. + + The source object. + The event data. + + + + Process the start of a test method. + + The source object. + The event data. + + + + Process the completion of test methods. + + The source object. + The event data. + + + + Process a result. + + The result data. + + + + Gets or creates the data model object for an assembly. + + The test assembly. + Returns the data object. + + + + Gets or creates the data model object for a test class. + + The test class. + Returns the data object. + + + + Gets or creates the data model object for a test method. + + The test method. + The parent test class data object. + Returns the data object. + + + + Gets the unit test harness instance. + + + + + Gets the unit test model. + + + + + A data object storing the hierarchical results for a test assembly in a + test run. + + + + + A base class for model objects that implement the property + changed interface, to simplify calling the change handlers, + and cache the underlying event argument instances. + + + + + A static set of change argument instances, eventually + storing one argument instance for each property name to + reduce churn at runtime. + + + + + Notify any listeners that the property value has changed. + + The property name. + + + + The property changed event. + + + + + A type that provides a string result report. + + + + + Generates a simple text result report for the metadata. + + Reports a text report. + + + + Initializes a new instance of the TestAssemblyData type. + + The test assembly metadata. + + + + Backing field for the expanded property. + + + + + Backing field for a passed value. + + + + + Backing store for the set of test class. + + + + + Retrieves the results report. + + Returns a string containing the report. + + + + Gets or sets a value indicating whether the item is expanded in + a hierarchical display. + + + + + Gets or sets the checked value. Don't think this is actually used. + + + + + Gets or sets a value indicating whether the test passed. If failed, + will propagate to the parent metadata object. + + + + + Gets the name of the assembly. + + + + + Gets an observable collection of test class data objects. + + + + + A data object that generates property change notifications and can + be used for rich data binding to test results. Does keep a reference + to all results. + + + + + Stores the test method metadata. + + + + + Parent data object. + + + + + A value indicating whether the test is currently executing. + + + + + The test outcome. + + + + + Backing field for linked data. + + + + + Backing field for linked data. + + + + + Backing field for linked data. + + + + + Backing field for linked data. + + + + + Initializes a new instance of the TestMethodData type. + + The test method metadata. + The test class that is the parent object. + + + + Runs through the metadata for bugs. + + + + + Backing field for known bugs. + + + + + Backing field for bugs that are marked fixed. + + + + + Calculates whether the item is considered "notable", in that it + should have a visual cue or hint for the user. + + + + + Stores a value indicating whether the result is notable. + + + + + Backing field for the checked property. + + + + + Backing field for the expanded property. + + + + + Retrieves the results report. + + Returns a string containing the report. + + + + Gets or sets the result of the test method. + + + + + Gets the known bugs for display in the UI. + + + + + Gets the fixed bugs for display. + + + + + Gets the expected exception name for a negative test, if any. + + + + + Gets a simplified exception stack trace that omits the trace below + the invoke of the test method by the test framework. + + + + + Gets the short, simple name of the exception type recorded in the + test result, if any. + + + + + Gets a value indicating whether the method has results. + + + + + Gets a value indicating whether the method has passed. Returns + true until there is a result. + + + + + Gets or sets a value indicating whether the test method is running. + + + + + Gets or sets a value indicating whether the result is notable. + Notable is defined as either currently running, or not having + passed. This can allow a user interface to react to an + interesting result. + + + + + Gets the parent data object. + + + + + Gets an instance of the actual metadata object. + + + + + Gets the name of the test method. + + + + + Gets a visibility value to allow for easy showing or + hiding of a user interface component that displays the + description. + + Returns a visibility value. + + + + Gets the elapsed time in a readable format. + + Returns a string of the readable time elapsed. + + + + Gets the description of the test method. + + + + + Gets or sets a value indicating whether the item is checked in the + user interface. + + + + + Gets or sets a value indicating whether the item is expanded in + a hierarchical display. + + + + + Gets or sets the previous result. + + + + + Gets or sets the next result. + + + + + Gets or sets the previous failing result. + + + + + Gets or sets the next failing result. + + + + + A provider of code coverage information to an external process. + + + + + The base class for test service providers. + + + + + Initializes a new base provider class. + + The owning test service provider. + The display name of the service. + + + + Initializes the provider. + + + + + Increments the busy service counter. + + + + + Decrements the busy service counter. + + + + + Invokes a method on this provider using reflection. + + The name of the method. + The optional parameters. + + + + Call the InitializeCompleted event. + + + + + Performs a callback. Null action and/or result are permitted. + + The optional callback action. + The result to pass back. + + + + Event fired once initialization is complete. + + + + + Gets the display name for the provider. + + + + + Gets the owning test service. + + + + + Gets a value indicating whether the provider has been initialized + yet. + + + + + Initializes a new code coverage provider. + + The test service. + + + + Save string-based code coverage data. + + The code coverage data, as a string. + The callback action. + + + + A provider of environment variables and environmental information that + uses the test service provider infrastructure. + + + + + Initializes a new environment provider. + + The test service. + + + + Retrieve an environment variable from the system. + + The variable name. + The callback action. + + + + Miscellaneous internal extension methods. + + + + + Attempts to retrieve a custom assembly attribute. + + The type of attribute to retrieve. + The assembly reference. + An out attribute reference. + Returns true if the attribute is found. + + + + Transform the XElement into a dictionary of key/value pairs. + + The type of enumeration. + The key type. + The value type. + The root enumerable. + The key selector. + The item selector. + Returns a new dictionary. + + + + A type that stores global settings in the isolated storage for the + application. An implementation of the + type. + + + + + A provider of string dictionary values. + + + + + Initializes a new SettingsProvider object. + + The test service. + + + + Initializes a new SettingsProvider object. + + The test service. + The service name. + + + + Saves the settings. + + Classes that inherit from SettingsProvider: hide this + function. Do not call up through to this base method. + The service callback. + + + + Gets the settings dictionary. + + + + + Gets a value indicating whether the settings are read-only. + + + + + Gets the settings source for end-user display. + + + + + The unique key used for storing the test framework's settings + dictionary. + + + + + The underlying settings object. + + + + + Initializes a new isolated storage settings provider. + + The test service instance. + + + + Initializes the isolated storage settings provider. + + + + + Saves the current settings values. + + The service completion callback. + + + + Recalls the stored settings values from isolated storage. + + + + + Initialize the isolated storage application settings object. + + + + + Result object for asynchronous test service response. + + + + + Creates a new ServiceResult object for a failed result, the + sets the exception. + + The Exception object. + Returns a new ServiceResult with the Exception set. + + + + The result LINQ element. + + + + + Initializes a new instance of the ServiceResult class. + + + + + Process the response text. + + + + + Attempt to process and return the root element of a successful + request. Returns null if there was an Exception. + + The root XML element of the response. + + + + Sets the result. + + The LINQ element for the result. + + + + Gets or sets a value indicating whether the result has been + processed. + + + + + Gets or sets the exception intercepted or generated during the + request or + processing timeframe. + + + + + Gets the root XElement of the test service result. + + + + + Gets a value indicating whether the request was successful. + + + + + The type of test service in use. Used by the more advanced service + scenarios in SilverlightTestServiceProvider. + + + + + No service, or unknown service type. + + + + + A direct connection, be it the file system, isolated storage, or + similar. + + + + + A web service. + + + + + The Silverlight test service provider is built for compilation with + Silverlight builds of the test framework. Populates with the important + providers for web browser-hosted test runs. + + + The Silverlight test service provider is built for compilation with + Silverlight builds of the test framework. Populates with the important + providers for web browser-hosted test runs. + + + + + A system that provides test services. + + + + + The dictionary of services registered with this provider instance. + + + + + Initializes a new test service provider instance. + + + + + Initializes the provider and all of its test services. + + + + + Initialize all services and features synchronously. + + + + + Register a new service that the test service should expose. + + Known feature type. + Instance of the feature's + type. + + + + Register a new service that the test service should expose. + + String name of the feature if the known + enum value does not exist. + Instance of the feature's + type. + + + + Unregisters a feature. + + Known feature type. + + + + Unregisters a feature. + + Known feature type string. + + + + Check if a requested feature is supported by the test service + provider. + + Feature of interest. + A value indicating whether the feature exists. + + + + Check if a requested feature is supported by the test service + provider. + + Feature of interest. + A value indicating whether the feature exists. + + + + Retrieve a feature. An exception will be thrown if the service + does not exist. + + Type of a service, ProviderBase. + The feature of interest. + Returns the feature, cast properly. + + + + Retrieve a feature. + + Feature of interest. + The feature's provider. + + + + Retrieve a feature. + + Feature of interest. + The service or null if one was not present. + + + + Require a feature, or throw an exception if it isn't available. + + Feature of interest. + The required type. + The service or null if one was not present. + + + + Require a feature, or throw an exception if it isn't available. + + Feature of interest. + The required type. + The service or null if one was not present. + + + + Require a feature or interest. + + Feature of interest. + The service or null if one was not present. + + + + Requires a service. + + Feature of interest. + The service or null if one was not present. + + + + Check for and required the presence of a service. Throws an + InvalidOperationException message if the service is unavailable. + + Feature of interest. + The service or null if one was not present. + + + + Require a specific feature, and that it can be cast properly. + + Feature of interest. + The type to verify assignment for a cast. + The service or null if one was not present. + + + + Looks for a specific service. + + Feature of interest. + The service or null if one was not present. + + + + Gets or sets a unique test run identifier, if any is present. + + + + + Gets or sets an integer value that can be used to manage simple + reference counting services. + + + + + The service verifier and information. + + + + + Initializes a new instance of the SilverlightTestService class. + + + + + Initializes a new instance of the SilverlightTestService class. + + Unit test settings to read the service path + and other information from. + + + + Initializes the Silverlight test service. Performs a service check + if needed before initializing the other providers. + + + + + Sets the custom ID information for the test run, if passed into + the run. + + + + + Determine the service path to attempt to use, and prepares the + verification object using those parameters. + + Unit test settings object to try and read + settings from. + + + + Pauses the initialization process to attempt a service connection. + The result will alter the underlying ServiceType being used by + this provider to ensure a fallback experience can be used. + + This verification step will block the initialization and entire + test run until it continues. + + + + + Continues the initialization process for the test service provider. + + + + + Populates with the standard providers for Silverlight in-browser + testing. + + + + + Gets the service type that is in use. + + + + + Gets the web service proxy. + + + + + A special verification class used by SilverlightTestService. + + + + + The name of a simple 'ping' method exposed by the service. + + + + + Attempts to verify the service connection. Calls the proper + success/failure Action once a verification result is possible. + + The Action to call upon connection + verification. + An Action to call upon failure. + + + + Gets or sets the service hostname. + + + + + Gets or sets the service port. + + + + + Gets or sets path to the simple POX service. + + + + + Gets the URI to the service. + + + + + A test service that reports test run results. + + + + + Initializes a new reporting provider instance. + + The test service. + + + + Begins a call to the test service to write to the log. + + The callback, used to read or verify results + from the service call. + The name of the log to write. + The log file content. + + + + Begins a call to the test service to report a test run's results. + + The callback, used to read or verify results + from the service call. + A value indicating whether the test run was a + failure. + The failed scenario count. + The total scenario count. + Any message to report along with the failure. + + + + Set of known, well-defined test service features. + + + + + Code coverage reporting. + + + + + Provides run parameters and settings. + + + + + Provides test reporting services. + + + + + Provides environment information. + + + + + A provider of code coverage information to an external process. + + + + + The MethodName_SaveCodeCoverage method name. + + + + + Initializes a new code coverage provider. + + The test service. + + + + Save string-based code coverage data. + + The code coverage data, as a string. + The callback action. + + + + A provider of environment variables and environmental information that + uses the test service provider infrastructure. + + + + + The MethodName_GetEnvironmentVariable method name. + + + + + Initializes a new environment provider. + + The web test service. + + + + Retrieve an environment variable from the system. + + The variable name. + The callback action. + + + + Result object for asynchronous test service response that uses a simple + web service / POX call. + + + + + Initializes a new web service result. + + The request object. + The response object. + + + + Initializes a new web service result. + + The request object. + The response object. + The details to associate for debugging + purposes. + + + + Reads the web response, if successful, and parses out the string + content. + + + + + Process the response text. + + + + + Gets the web request associated with the service call. + + + + + Gets the web response associated with the service call. + + + + + Gets the details of the request, used for interactive debugging + sessions only. + + + + + Gets the string retrieved from the response. + + + + + A test service that reads command line settings. + + + + + Name of the method MethodName_GetRunParameters. + + + + + Initializes a new settings provider instance. + + The test service. + + + + Initialize the web settings provider. + + + + + Read the run parameters. + + The service result. + + + + A test service that reports test run results. + + + + + Name of the method MethodName_ReportTestResults. + + + + + Name of the method MethodName_WriteLog. + + + + + Initializes a new reporting provider instance. + + The test service. + + + + Begins a call to the test service to write to the log. + + The callback, used to read or verify results + from the service call. + The name of the log to write. + The log file content. + + + + Begins a call to the test service to report a test run's results. + + The callback, used to read or verify results + from the service call. + A value indicating whether the test run was a + failure. + The failed scenario count. + The total scenario count. + Any message to report along with the failure. + + + + Provides out-of-process access to operating system functions and other + services such as visual verification, if present. + + + Provides out-of-process access to operating system functions and other + services such as visual verification, if present. + + + Provides out-of-process access to operating system functions and other + services such as visual verification, if present. + + + + + The service address. + + + + + The synchronization context. + + + + + Initializes a new plain-old-XML test service. This assumes that + the caller has already verifier that a service is present and + responding at the service address. + + The base service URI, such as + "scheme://hostname:port/servicePath/". + + + + Creates a simple REST-style Uri given the method/service name and + a dictionary of key/value pairs to send as arguments. + + The method/service name. + A set of key/value pairs. + Returns a new Uri. + + + + Creates a simple REST-style Uri given the method/service name and + a dictionary of key/value pairs to send as arguments. + + The method/service name. + A set of key/value pairs. + Optional query string. + Returns a new Uri. + + + + Builds a simple dictionary from parameters. The value follows the + key parameter. {[key, value], } ... + + The ToString() method is called on every object. + + The parameters. + Returns a key/value dictionary from the parameters. + + + + Begin a POX method call. The callback is used with the result when + it becomes available. + + The method name. + The callback action. + + + + Begin a POX method call. The callback is used with the result when + it becomes available. + + The method name. + Dictionary of key/value pairs. + The callback action. + + + + Begin a POX method call. The callback is used with the result when + it becomes available. + + The method name. + Dictionary of key/value pairs. + Optional string that will transform the + request to a POST request. + The callback action. + + + + The intermediate step that writes the POST data and then continues + the web request. + + The async result object. + + + + Process the response callback from a POX method call. + + The async result object. + + + + On the UI thread, invoke the callback action with the result. + + The temporary state object. + + + + A simple type to store the state information for the cross-thread + callback. + + + + + Initializes a new TemporaryStateObject object. + + The callback action. + The result object. + + + + Gets the callback action. + + + + + Gets the result object. + + + + + The request data class, stores information used in a request for + associating this data with the response. + + + + + Initializes a new request data object. + + The request Uri. + The request object. + The callback action. + + + + Converts the request data object into a web service result + object. + + The response object. + Returns a new WebServiceResult instance. + + + + Gets or sets the optional post data for the request. + + + + + Gets the web request. + + + + + Gets the request Uri. + + + + + Gets the callback action. + + + + + A type which handles preparing the underlying dispatcher or timer from + which the test work items execute. + + + + + Handle calling into the test framework as needed to perform the test + run, process the internal test dispatcher queue, and keep execution + moving forward. + + + + + Delegate that returns whether more work remains and runs the next + set of work. + + + + + Backing field for a value indicaing whether the dispatcher should be + running. + + + + + Creates a new RunMethodManager, taking in a conditional delegate to + run for each step to see if more work remains. + + + The conditional delegate that performs work and indicates whether + additional work remains. + + + + + Create a new run method manager object. + + + Conditional indicating whether more work will remain after + performing the work. + + + Returns the run method manager. Typically depends on the execution + platform and environment. + + + + + Create a new run method manager object. + + + Conditional indicating whether more work will remain after + performing the work. + + A Dispatcher instance. + + Returns the run method manager. Typically depends on the execution + platform and environment. + + + + + A completely synchronous implementation, unless overridden, that + calls RunNextStep() until the harness is finished. + + The default implementation will not work with a presentation-rich + test environment. + + + + + Calls a conditional delegate, and returns whether there is more work + to be done. + + + Returns a value indicating whether there is additional work + remaining after executing the current work. + + + + + Calls the Complete event handler. + + + + + Event that is called when all work is complete. + + + + + Gets or sets a value indicating whether the dispatcher should be + running. + + + + + Stored Dispatcher instance. + + + + + Sets up a new run method manager. + + + Conditional delegate which returns true as long as there is + additional work. + + An instance of the dispatcher to use. + + + + Begin the execution process by hooking up the underlying + DispatcherTimer to call into the test framework regularly and + perform test work items. + + + + + A data object that generates property change notifications and can + be used for rich data binding to test results. Does keep a reference + to all results. + + + + + Parent object reference. + + + + + Initializes a new instance of the TestClassData type. + + The test class metadata. + The parent test assembly data object. + + + + Backing store for the set of test class. + + + + + Backing field for the expanded property. + + + + + Collapses the test class node unless there is at least one child + test method that failed. + + + + + Backing field for a passed value. + + + + + Retrieves the results report. + + Returns a string containing the report. + + + + Gets the parent data object. + + + + + Gets the name of the test class. + + + + + Gets the namespace for the test class. + + + + + Gets an observable collection of test class data objects. + + + + + Gets or sets a value indicating whether the item is expanded in + a hierarchical display. + + + + + Gets or sets the checked value. Don't think this is actually used. + + + + + Gets or sets a value indicating whether the test passed. If failed, + will propagate to the parent metadata object. + + + + + A data object that generates property change notifications and can + be used for rich data binding to test results. Does keep a reference + to all results. + + + + + The unit test harness instance. + + + + + Backing field for information about the test application in use. + + + + + Initializes a new instance of the test run results. + + The unit test harness. + + + + Backing store for the set of test assemblies. + + + + + Title backing field. + + + + + Stores the total number of expected scenarios. + + + + + Stores the current test information. + + + + + Stores the current test information. + + + + + Stores the number of run scenarios. + + + + + Count of failed scenarios. + + + + + Backing field for whether the app is running. + + + + + Gets the test application information instance. + + + + + Gets the unit test harness instance. + + + + + Gets an observable collection of test assembly data objects. + + + + + Gets or sets the informational run title. + + + + + Gets or sets the number of total scenarios. + + + + + Gets or sets the current test name. + + + + + Gets or sets the current test name. + + + + + Gets or sets the number of run scenarios. + + + + + Gets or sets the number of failed scenarios. + + + + + Gets a value indicating whether the run is complete and passed. + + + + + Gets a value indicating whether all passing results have been + processed. + + + + + Gets the number of passed scenarios, defined as the number of + run scenarios minus the number of failed scenarios tracked. + + + + + Gets a value indicating whether the dispatcher is currently running. + + + + + Gets a value indicating whether the test run is in action. + + + + + Assembly complete event arguments. + + + + + Generic unit test harness event arguments base class that contains a + reference to the harness. + + + + + Initializes a new instance of the UnitTestHarnessEventArgs class. + + The test harness. + + + + Gets the unit test harness reference. + + + + + Initializes a new instance of the TestAssemblyCompletedEventArgs + type. + + The assembly metadata. + The test harness instance. + + + + Gets the assembly metadata. + + + + + Test assembly starting event arguments. + + + + + Initializes a new instance of the TestAssemblyStartingEventArgs + type. + + The assembly metadata. + The unit test harness instance. + + + + Gets the assembly metadata information. + + + + + The test class completed event arguments. + + + + + Initializes a new instance of the TestClassCompletedEventArgs + class. + + Test class metadata. + The harness instance. + + + + Gets the test class metadata. + + + + + Information about the start of a test class event. + + + + + Initializes a new instance of the TestClassStartingEventArgs type. + + The test class metadata. + The unit test harness reference. + + + + Gets the test class instance. + + + + + Test method starting event arguments. + + + + + Initializes a new instance of the TestMethodStartingEventArgs type. + + The test method metadata. + The test class metadata. + The test harness instance. + + + + Gets the test method metadata. + + + + + Gets the test class metadata. + + + + + Test method completed event arguments, contains the result. + + + + + Initializes a new instance of the TestRunStartingEventArgs + type. + + The test run filter. + The test run settings object. + + + + Gets the unit test run settings. + + + + + Gets the test run filter. + + + + + Gets or sets the test harness name. + + + + + Gets or sets the number of valid, enqueued assemblies scheduled. + + + + + Tag attribute used to associate individual test cases with tags to + easily test related functionality. + + + The infrastructure associated with the TagAttribute is not yet in place. + + + + + List of reserved words that cannot be used as tags. + + + This list should be shared with the tag parser implementation when + available. + + + + + List of reserved characters that cannot be used in tags. + + + This list should be shared with the tag parser implementation when + available. + + + + + Initializes a new instance of the TagAttribute class. + + + Tag associated with the test method or class. + + + + + Gets the tag associated with the test method or class. + + + + + Set of extension methods used by the harness. + + + + + An AddRange implementation for the generic IList interface. + + The list type. + The list object. + The collection to copy into the list. + + + + Replace a list's contents with the items in the IEnumerable. + + The list type. + The list object. + The sequence to copy into the list. + + + + The IProvideDynamicTestMethods interface is used to provide additional + test methods dynamically at runtime. + + + + + Get the dynamic test methods. + + Sequence of dynamic test methods. + + + + A type filter for just a specific test. Allows the re-running of a + single result again in the same process. + + + + + A type to filter down complete sets of classes, tests and methods. + + + + + The default unit test run name. + + + + + Unit test settings. + + + + + Initializes a new test run filter using an existing settings file. + + A unit test settings instance. + The unit test harness. + + + + Retrieve a set of test classes from a test assembly. + + The test assembly metadata object. + Test class instance dictionary. + Returns a new list of test class metadata objects. + + + + Sort the test classes if the settings for alphabetical sorting are + present. + + List of test classes. + + + + Filter out tests based on the standard-supported methods. + + List of test classes. + Test class instance dictionary. + + + + Perform any custom filtering that the TestRunFilter needs. + + List of test classes. + Test class instance dictionary. + + + + If specific string-contains filters are present. + + List of test classes. + Test class instance dictionary. + + + + If any exclusive classes are found, filter them. + + List of test classes. + Test class instance dictionary. + + + + Retrieves the test methods from a test class metadata object. + + The test class metadata object. + The test class instance. + Returns a list of test method metadata objects. + + + + Filter the test methods. + + List of test methods. + + + + Perform any custom filtering that the TestRunFilter needs. + + List of test methods. + + + + If any exclusive classes are found, filter them. + + List of test methods. + + + + Sorts the test methods, if requested. + + List of test methods. + + + + Gets a friendly name for the test run. + + + + + Gets the unit test harness. + + + + + The test class. + + + + + The test method. + + + + + Initializes a new test run filter using an existing settings file. + + The test class metadata. + The test method metadata. + + + + Retrieve a set of test classes from a test assembly. + + The test assembly metadata object. + Test class instance dictionary. + Returns a new list of test class metadata objects. + + + + Retrieves the test methods from a test class metadata object. + + The test class metadata object. + The test class instance. + Returns a list of test method metadata objects. + + + + A helper class that manages tags and associated metadata. Tag + expressions are evaluated at the TestClass level. + + + A helper class that manages tags and associated metadata. Tag + expressions are evaluated at the TestClass level. + + + A helper class that manages tags and associated metadata. Tag + expressions are evaluated at the TestClass level. + + + + + The prefix for any tags generated from priority values. + + + + + A reference to the tag attribute type. + + + + + The test tags associated with the class. + + + + + The test tags associated with methods. + + + + + The ability to grab the set of methods, given a test class type, + and the tag of interest. + + + + + The test class type. + + + + + Initializes a new tag manager. + + The test class type. + The set of methods to run. + + + + Reflect, read and prepare the tags for the class metadata. Performs + the work if this is the first time the metadata has been seen. + + The reflection object for the test class. + + + + Reflect, read and prepare the tags for the method metadata. Performs + the work if this is the first time the metadata has been seen. + + The method metadata. + + + + Get the test methods that correspond to a tag expression. + + Tag expression. + Test methods for the tag expression. + + + + Gets or sets the universe of all test methods for expression + evaluation. + + + + + Evaluate tag expressions. + + + Tag expressions are derived from the following EBNF grammar: + {Expression} := + {Expression} + {Term} | + {Expression} - {Term} | + {Term} + {Term} := + {Term} * {Factor} | + {Factor} + {Factor} := + !{Factor} | + ({Expression}) | + {Tag} + {Tag} := + All | + [^InvalidCharacters]+ + + The non-terminals for {Expression} and {Term} will be left factored + in the recursive descent parser below. + + + + + Union character. + + + + + Intersection character. + + + + + Complement character. + + + + + Difference character. + + + + + The "All" string constant. + + + + + Invalid characters in a tag name. + + + + + Evaluate a tag expression. + + The owner object. + Tag expression. + Test methods associated with the tag expression. + + + + The owning TagManager instance. + + + + + Expression being evaluated. + + + + + Current position in the expression. + + + + + Create an expression evaluator. + + The owner object. + Expression object. + + + + Match a sequence of characters. + + String to match. + + + + Try to match a sequence of characters. + + String to match. + Returns a value indicating whether the match was + successful. + + + + Evaluate an expression. + + Test methods described by the expression. + + + + Evaluate an expression. + + Test methods described by the expression. + + We need to factor out left recursion, so: + {Expression} := + {Expression} + {Term} | + {Expression} - {Term} | + {Term} + becomes: + {Expression} := + {Term}{Expression'} + + {Expression'} := + #empty# + + {Term}{Expression'} + - {Term}{Expression'} + + + + + Evaluate an expression. + + + Left term already read as part of the expression. + + Test methods described by the expression. + + Non-terminal created for left-factoring: + {Expression'} := + #empty# + + {Term}{Expression'} + - {Term}{Expression'} + + + + + Evaluate a term. + + Test methods described by the expression. + + We need to factor out left recursion, so: + {Term} := + {Factor} * {Term} | + {Factor} + becomes: + {Term} := + {Factor}{Term'} + + {Term'} := + #empty# + ^ {Factor}{Term'} + + + + + Evaluate a term. + + + Left term already read as part of the expression. + + Test methods described by the expression. + + Non-terminal created for left-factoring: + {Term'} := + #empty# + ^ {Factor}{Term'} + + + + + Evaluate a factor. + + Test methods described by the expression. + + {Factor} := + !{Factor} | + ({Expression}) | + {Tag} + + + + + Creates a new empty collection. + + Returns an empty collection. + + + + Evaluate a tag. + + Test methods described by the expression. + + {Tag} := + All | + [^InvalidCharacters]+ + + + + + A string list for storing tags. Provides an Add method that takes + an attribute object and, if a TagAttribute, will append its tag + value to the list. + + + + + Initializes a new Tags instance. + + + + + Initializes a new Tags instance from an existing collection. + + The collection to copy. + + + + Adds a TagAttribute's tag value. + + The tag object. + + + + A method and class filter that uses expressions and the TagAttribute. + + + + + The name to use for the test run when the tag expression is null. + + + + + Initializes a new test run filter with the tag expression setting. + + Unit test settings. + Unit test harness. + + + + Initializes a new test run filter with the tag expression. + + Unit test settings. + Unit test harness. + The tag expression to use. + + + + Sets the tag expression property. + + The tag expression to use. + + + + A value indicating whether the warning has been logged yet. + + + + + Apply tag filtering. + + List of test classes. + Test class instance dictionary. + + + + Apply tag filtering. + + List of test methods. + + + + Apply the tag filtering. + + The tag manager instance. + Set of methods. + + + + Exclusive attributes are not supported when also using tagging. + + List of test classes. + Test class instance dictionary. + + + + Exclusive attributes are not supported when also using tagging. + + List of test methods. + + + + Gets the tag expression in use by the run filter. + + + + + Helper code for TestAssembly logic. + + + + + Check whether [Exclusive] attribute is present on any classes. + + Collection of class metadata objects. + Returns a value indicating whether any of the classes + include an [Exclusive] attribute. + + + + Sorts the test classes alphabetically by name. + + A list of test class metadata objects. + + + + Test class helper. + + + + + A value indicating whether the warning has been logged in this run. + + + + + Filter the set of test classes by removing unused classes. + + The input list of test class metadata objects. + The classes to run. + + + + Look through the classes for the [Exclusive] attribute. If found, + remove any classes where the attribute is not present. + + The input list of classes. + The log writer object. + + + + Look for the /p:FilterClass parameter in the test harness settings. + Try to do a substring match on all filtered test classes. + + The parameters. + List of test classes to be filtered. + + + + Test method completed event arguments, contains the result. + + + + + Initializes a new instance of the TestMethodCompletedEventArgs + type. + + The result instance. + + + + Initializes a new instance of the TestMethodCompletedEventArgs + type. + + The result instance. + The unit test harness. + + + + Gets the test method result. + + + + + Helper code for TestMethod logic. + + + + + A value indicating whether the warning has been logged in this run. + + + + + Check whether [Exclusive] is present on >= 1 of the methods. + + The methods to search through. + True if at least one of the methods has Exclusive. + + + + Look through the methods for the [Exclusive] attribute. If found, + remove any methods where the attribute is not present. + + The methods to filter. + The log writer object. + + + + A helper utility for firing events as the unit test harness from any + component, internal or not. Enables expansion. + + + + + Stored instance of the harness. + + + + + Initializes a new intance of the UnitTestHarnessEvents helper. + + The harness reference. + + + + Calls the test assembly starting event. + + The event data. + + + + Calls the test assembly completed event. + + The event data. + + + + Calls the test class starting event handlers. + + The event data. + + + + Calls the test class completed event. + + The event data. + + + + Calls the test method starting event. + + The event data. + + + + Calls the test method completed event. + + The event data. + + + + Calls the test run starting event. + + The event data. + + + + A factory for creating the unit test objects. + + + + + The unit test harness. + + + + + Initializes a new unit test logic factory. + + The unit test harness reference. + + + + Creates a new AssemblyManager. + + The unit test provider. + The run filter. + The unit test assembly metadata object. + Returns a new AssemblyManager. + + + + Creates a new TestClassManager. + + The unit test provider. + The run filter. + The test class metadata. + The test class instance. + Returns a new TestClassManager. + + + + Creates a new TestMethodManager. + + The unit test provider. + The test class metadata. + The test method metadata. + The test class instance. + Returns a new TestMethodManager. + + + + A log provider that outputs in a simple custom test format that Visual + Studio recognizes. + + + A log provider that outputs in a simple custom test format that Visual + Studio recognizes. + + + + + LogProvider interface with a single Process method that handles a + LogMessage object. + + + + + A dictionary of conditional action handlers. + + + + + A dictionary of types/actions for handling specific types of log + messages. + + + + + Perform any needed operations to log the message. + + Instance of LogMessage type. + + + + Method that processes any messages not handled any other way. + + The log message. + + + + Registers an action for a specific message type. + + The type of interest. + The handler for the type. Takes a LogMessage + parameter. + + + + Registers a conditional handler. During the log message processing + step, all conditional callbacks will be tried. The first positive + result will then call the associated processing Action for that + conditional method entry. + + A conditional callback that takes a + LogMessage input parameter. + A log message processing Action that is called + when the condition is true. + + + + Removes a conditional callback. + + The condition. + + + + Clear all existing conditional handlers. + + + + + Clear all existing message type handlers. + + + + + Interface for LogProviders that want access to external test settings. + + + + + Initializes the provider. + + The settings. + + + + The filename to use for saving test results. + + + + + The default test adapter type name. + + + + + The default test list name. + + + + + The default computer name. + + + + + The default user name. + + + + + The default configuration name. + + + + + The default configuration description. + + + + + The Visual Studio log format writer. + + + + + Initializes a new instance of the VisualStudioLogProvider class. + + + + + Register the handler conditions of interest to this log provider. + + + + + Assembly start code. + + The log message. + + + + Process an Exception that was not the expected Exception type. + + The log message. + + + + Process an Exception that is logged or stored. + + The log message object. + + + + Sets the test run configuration information when the test assembly + begins processing. + + The test assembly metadata object. + + + + Generate a name for the test run that will be used when + displaying the result in Visual Studio. + + The test assembly metadata object. + Returns the test run name. + + + + Generates a new Guid string value. + + Returns a new Guid string value. + + + + Process a UTF result message. + + The log message object. + + + + Process [Bug(...)]. + + A KnownBugLogMessage object. + + + + The run filter has been selected. + + The log message object. + + + + Saves the log file data. + + The unit test harness. + + + + Initializes the test harness. + + The test harness settings. + + + + Gets or sets the test results filename. + + + + + Gets or sets the test adapter type name reported in the Visual + Studio results log file. + + + + + Gets or sets the TestRunId. + + + + + Gets or sets the test list name. + + + + + Gets or sets the computer name that is reported in the results + log file. + + + + + Gets or sets the user name that is reported in the results file. + + + + + Gets or sets the TestRunConfigurationName. + + + + + Gets or sets the TestRunConfigurationDescription. + + + + + Gets or sets a prefix for use in the test run name. + + + + + Gets or sets the TestRunConfigurationId. + + + + + Gets the current assembly name. + + + + + A log provider that outputs in a simple custom test format that + Visual Studio recognizes. This is a simple, subset writer. + + + + + Date time format string representing round-trip date/time + pattern. + + + + + A unique ID representing the Visual Studio unit test type ID. + + + + + The namespace for Visual Studio team test results. + + Was of XNamespace type in XLinq implementation. + + + + A dictionary containing test list names and guids. + + + + + Stores temporary, pending elements for the next result. + + + + + Initializes a new Writer object. + + + + + Stores property values in the respective elements, clears any + lookup dictionaries. + + + + + Returns a string value of the DateTime object. + + The DateTime object. + Returns the formatted string. + + + + Returns the XML log file as a string. + + The XML value. + + + + Creates the initial results document and its XElements. + + + + + Creates a new XElement within the results XML namespace. + + The element name. + Returns a new named element. + + + + The total number of scenarios. + + + + + The set of outcomes and counts. + + + + + Increment the number of passing results. + + The test outcome. + + + + Adds the result of a test method into the log. + + The test metadata. + The storage value. + The code base value. + The adapter type name. + The class name. + The test list name. + The computer name. + The start time. + The end time. + The outcome. + + + + Adds a WriteLine to the next result to be processed. + + The text to output. + + + + Adds an error message to the next result to be processed. + + The message. + + + + Adds an Exception to the next result to be processed. + + The Exception object. + + + + Adds pending output for the next result. + + The element to wrap in an Output element. + + + + Returns the GUID for a test list name. The result is stored + in memory. + + The test list name. + Returns the test list name guid. + + + + Gets or sets the time that the test run started. + + + + + Gets or sets the time that the writer object and/or test run was created. + + + + + Gets or sets the time that the test run was finished. + + + + + Gets the root XML node for the test run and its results. + + + + + Gets or sets the test type ID used for new results. + + + + + Gets the TestRunConfiguration element. + + + + + Gets the Counters element. + + + + + Gets the TestDefinitions element. + + + + + Gets the TestLists element. + + + + + Gets the TestEntries element. + + + + + Gets the Times element. + + + + + Gets the ResultSummary element. + + + + + Gets the Results element. + + + + + Sets the TestRunId. + + + + + Sets the TestRunName. + + + + + Sets the TestRunUser. + + + + + Sets the TestRunConfigurationName. + + + + + Sets the TestRunConfigurationId. + + + + + Sets the overall run outcome value. + + + + + Sets the TestRunConfigurationDescription. + + + + + A user control that should be used as the root visual for a Silverlight + plugin if developers would like to use the advanced TestSurface + functionality within Microsoft.Silverlight.Testing. + + The TestSurface is automatically cleared after each test scenario + completes, eliminating the need for many additional cleanup methods. + + + + + Initializes the TestPage object. + + + + + InitializeComponent + + + + + Gets the test surface, a dynamic Panel that removes its children + elements after each test completes. + + + + + A log provider that outputs failures as a string. + + + + + A list of failing results. + + + + + Initializes a new TextFailuresLogProvider instance. + + + + + Retrieve the text log of all failures in the unit test run. + + Returns the log contents. + + + + Register the handler conditions of interest to this log provider. + + + + + Process a UTF result message. + + The log message object. + + + + A user control that should be used as the root visual for a Silverlight + plugin if developers would like to use the advanced TestSurface + functionality within Microsoft.Silverlight.Testing. The TestSurface is + automatically cleared after each test scenario completes, eliminating + the need for many additional cleanup methods. + + + + + Backing field for the unit test harness instance. + + + + + Backing field for the model manager. + + + + + Backing field for the startup timer. + + + + + Backing field for a value indicating whether the clipboard feature + is supported. + + + + + Initializes the TestPage object. + + + + + Initializes the TestPage object. + + The test harness instance. + + + + Waits for the Settings to become available, either by the service or + system setting the instance property. + + The source timer. + The event arguments. + + + + Starts the test run. + + + + + Handles the test assembly starting event to expand the test stage + height. + + The source object. + The event data. + + + + Handles the test harness complete event, to display results. + + The source object. + The event data. + + + + Handles the click on the test stage. + + The source object. + The event data. + + + + Expand and collapse the test stage. + + A value indicating whether to expand the stage. + + + + + Handles the completion of a test method. + + The source object. + The event arguments. + + + + Handles the completion event on the tag expression editor to begin + the test run using the user-provided settings. + + The source object. + The event arguments. + + + + Handles navigation back or forward. + + The source object. + The event arguments. + + + + Installs the application. + + The source object. + The event arguments. + + + + Offers clipboard interface support for copying test run results. + + The source object. + The event arguments. + + + + Handles the click on a play/pause button for the run dispatcher. + + The source object. + The event arguments. + + + + Copies text into the clipboard. If the Silverlight runtime on the + system does not support the clipboard API, then it reverts to a + large text box that allows the user to manually copy and paste. + + The text to set. + + + + InitializeComponent + + + + + Gets the test surface, a dynamic Panel that removes its children + elements after each test completes. + + + + + Gets the unit test harness instance. + + + + + Gets the tree view instance. + + + + + A strongly-typed resource class, for looking up localized strings, etc. + + + + + Returns the cached ResourceManager instance used by this class. + + + + + Overrides the current thread's CurrentUICulture property for all + resource lookups using this strongly typed resource class. + + + + + Looks up a localized string similar to There are no remaining test work items. + + + + + Looks up a localized string similar to Exception: Type "{0}" Message "{1}". + + + + + Looks up a localized string similar to Ignoring "{0}". + + + + + Looks up a localized string similar to Incorrect exception type "{0}" received. Was expecting a "{1}" type.. + + + + + Looks up a localized string similar to No Exception was observed. Was expecting a "{0}" type exception.. + + + + + Looks up a localized string similar to Tag cannot be empty!. + + + + + Looks up a localized string similar to The tag "{0}" contains the invalid character "{1}"!. + + + + + Looks up a localized string similar to Tag "{0}" is reserved!. + + + + + Looks up a localized string similar to tagExpression cannot be empty!. + + + + + Looks up a localized string similar to Expected end of tag expression "{0}" at position {1}!. + + + + + Looks up a localized string similar to Tag expected in expression "{0}" at position {1}!. + + + + + Looks up a localized string similar to Invalid tag expression "{0}" (expected "{1}" at position {2})!. + + + + + Looks up a localized string similar to Tag expression "{0}" is in use.. + + + + + Looks up a localized string similar to Exclusive classes are in use. + + + + + Looks up a localized string similar to Exclusive methods are in use. + + + + + Looks up a localized string similar to The known issue could not be verified. A failure will be recorded. If this bug has been fixed, please mark the Fixed attribute value to True.. + + + + + Looks up a localized string similar to No TestHarness is available.. + + + + + Looks up a localized string similar to The "{0}" functionality is not supported within this unit test system.. + + + + + Looks up a localized string similar to Initialization of UnitTestHarness. + + + + + Looks up a localized string similar to No composite work items exist to be cleared.. + + + + + Looks up a localized string similar to No test classes were selected to be in the test run.. + + + + + Looks up a localized string similar to Test harness was not specified on test harness settings object. If a test harness settings object was passed in, please verify that it contains a reference to a test harness.. + + + + + Looks up a localized string similar to Test bug: A test cannot use Test Task objects, such as callbacks and conditionals, or the PumpMessages feature, unless marked with the [Asynchronous] attribute.. + + + + + A central entry point for unit test projects and applications. + + + A central entry point for unit test projects and applications. + + + + + Friendly unit test system name. + + + + + A partial method for PrepareDefaultLogManager. + + The test harness settings. + + + + A partial method for setting the TestService. + + The test harness settings. + + + + Creates a new TestPage visual that in turn will setup and begin a + unit test run. + + A new RootVisual. + Assumes the calling assembly is a test assembly. + + + + Creates a new TestPage visual that in turn will setup and begin a + unit test run. + + Test harness settings to be applied. + A new RootVisual. + Assumes the calling assembly is a test assembly. + + + + Merge any settings provided by a test service with the parameters + that were passed inside the TestHarnessSettings. + + The test service. + The run settings. + + + + Initializes the test service and its contained providers. + + The run settings. + Action to call once the test service is + initialized and ready to continue the run's execution. + + + + Register another available unit test provider for the unit test system. + + A unit test provider. + + + + Test harness instance. + + + + + Start a new unit test run. + + Unit test settings object. + + + + Prepares the default log manager. + + The test harness settings. + + + + Tries to instantiate and initialize a VSTT provider. Requires that + XLinq is available and included in the application package. + + The test harness settings object. + + + + Creates the default settings that would be used by the UnitTestHarness + if none were specified. + + A new RootVisual. + Assumes the calling assembly is a test assembly. + + + + Call the TestHarnessCompleted event. + + The test harness completed event arguments. + + + + Create a default settings object for unit testing. + + The assembly reflection object. + A unit test settings instance. + + + + Gets the test system name built into the assembly. + + + + + Gets a string representing the file version attribute of the main + unit test framework assembly, if present. + + + + + A completed test harness handler. + + + + + A class contains extension methods and helpers for dealing with WorkItem + instances and improving framework performance. + + + + + Enqueues a work item into the task queue. The work item will run + immediately following the previous work item, and may not leave any + time before executing the next. This is a specialized method to be + used for performance improvements. + + The work item test. + The unit of work. + + + + Enqueues a method into the task queue. The method will run + immediately following the previous work item, and may not leave any + time before executing the next. This is a specialized method to be + used for performance improvements. + + The work item test. + The callback action or method. + + + + Enqueues a conditional statement into the task queue. The method will + run immediately following the previous work item, and may not leave + any time before executing the next. This is a specialized method to + be used for performance improvements. + + The work item test. + The conditional function or statement. + + + + Custom test class that provides the ability to perform semi-asynchronous + test tasks on the main thread. Requires the custom unit test harness + that manages and invokes test work items on the thread when needed. + + Tests using this functionality will not be compatible with the full + desktop framework's Visual Studio Team Test environment. + + + + + Signal that a test is complete when using Async testing. + + WARNING: If you use your own methods for completing, such as an + HtmlTimer or other threading method, it is possible that this call + will occur *AFTER* the test has timed out when using Timeouts. As + such, be very careful as you could complete the call to the *next* + test. + + + + + Add a task object to the test queue. For a test that is currently + executing, all tasks contained within the queue are executed to + completion (unless an Exception is thrown) -before- moving on to + the next test. + + The test task queue replaces the PumpMessages(...) system that + permitted a single callback. This enables specialized tasks, such + as DOM bridge tasks, sleep tasks, and conditional continue tasks. + + Asynchronous test task + instance. + + + + Delay a minimum amount of time before continuing. Similar to a sleep + call that is not a blocking call. + + The minimum time span to wait before continuing. + + + + Creates a delay work item instance. + + The minimum time span to wait before continuing. + Returns a new work item. + + + + Delay a minimum amount of time before continuing. Similar to a sleep + call that is not a blocking call. + + The minimum number of milliseconds to wait + until the delay is finished. + + + + Requires a bool returning delegate to be passed in. Instructs the + test task queue to wait until the conditional call returns True to + continue executing other test tasks and/or ending the test method. + + Conditional method or delegate. + Test will halt until this condition returns True. + + + + Creates a conditional work item instance. + + Conditional method or delegate. + Test will halt until this condition returns True. + Returns a new work item. + + + + Enqueue a test task which calls the TestComplete method of + SilverlightTest. + + + + + Add a Callback method into the test task queue. Similar to the + PumpMessages(...) call, with the difference being that there is no + longer a single requirement: you can enqueue several callback + methods and other test tasks, all of which will execute before the + test completes and/or the engine continues. + + Void-returning delegate, + anonymous delegates work fine too. + + + + Creates a callback work item instance. + + Void-returning delegate, + anonymous delegates work fine too. + Returns a new work item. + + + + Adds a number of callback methods into the test task queue. + + Set of Action instances. + + + + Sleep a minimum number of milliseconds before calling a test + callback delegate. + + Minimum number of + milliseconds to sleep. The only guarantee to the tester + is that the sleep will be >= this amount of ms, and NOT + that there is precision or an exact time. + Callback method to + execute after the minimum amount of time has + elapsed. + + + + Enqueue an action. A shortcut for the EnqueueCallback. + + The action to enqueue. + + + + Sleep a minimum number of milliseconds. This is the simplified + overload which requires no callback. + + Minimum number of + milliseconds to sleep. The only guarantee to the tester is that the + sleep will be >= this amount of ms, and NOT that there is precision + or an exact time. + + + + A special indicator attribute to enable better debugging using + Microsoft.Silverlight.Testing. + + As there is very little parameter information available for a test run, + this attribute singles out specific classes to execute when found. + + This attribute is unique to this environment and not compatible with any + desktop unit test framework without using a shim if it is left in code. + + + + + Implementation of useful properties and features for presentation + platform tests (Silverlight and WPF). + + Tests using this functionality will not be compatible with the full + desktop framework's Visual Studio Team Test environment. + + + + + Gets the test panel. + + + + + Provides access to Silverlight-specific test features and + functionality. + + Tests using this functionality will not be compatible with the full + desktop framework's Visual Studio Team Test environment. + + + + + A test work item is a task that is invoked until it is complete. It + maintains its own state to be able to notify the caller when it is + finally complete, with no further work to be run. + + It is possible that some implementations of a TestWorkItem may actually + contain a set of sub-tasks by implementing a composite pattern. + + + + + A value indicating whether the task can immediately execute. + + + + + Invoke the task. Return false only when the task is complete. + + True if there is additional work to be completed. False + when there is none. + + + + Called by the task after the work is complete. + + + + + Gets a value indicating whether the task's work is complete. + + + + + Gets or sets a value indicating whether the work item can be + executed immediately, and does not rely on special asynchronous + operation. Used for performance improvements. The setter is also + public. + + + + + The extended writer for the unit testing harness and consumers. + + + + + A utility type that writes new log messages to the test harness log + queue. + + + + + The factory used for creating new LogMessage types. + + + + + The test harness that contains the method to post new events into + the log message queue. + + + + + Initialize a new writer class, using the default LogMessageFactory + to create new messages. + + The test harness instance. + + + + Initialize a new writer class. + + The test harness instance. + + The factory to use when creating new messages. + + + + + Posts a log message to the test harness queue for processing. + + The log message object. + + + + Creates a new log message using the embedded factory. + + Returns a new LogMessage instance. + + + + Creates a new log message using the embedded factory. + + The message type. + Returns a new LogMessage instance. + + + + Creates a new log message using the embedded factory. + + The message type. + The text message. + Returns a new LogMessage instance. + + + + Decorate a log message with a value. + + The log message to decorate. + The key for this decoration. + The value of this decoration. + + + + Decorate the log message object with an Exception object. + + The log message object. + The Exception. + + + + Decorate the log message object with a name. + + The log message object. + Name property value. + + + + Decorate the log message object with a test stage value. + + The log message object. + Test stage value. + + + + Decorate the log message object with a test outcome object. + + The log message object. + Test outcome object. + + + + Decorate the log message object with a test granularity object. + + The log message object. + Test granularity object. + + + + Sets the type of the log message. + + The log message object. + The new value to set the message type to. + + + + This writes a new line of information similar to a Debug::WriteLine + call. + + The text to write. + + + + Writes information through a new log message. + + The information string. + + + + Writes a message relating to the test infrastructure. + + The text to write. + + + + Writes an environment message. + + The text to write. + + + + Writes a TestRun message. + + The text to write. + + + + Log an error message. + + The error message string. + The Exception object to decorate the message + with. + + + + Log an error message. + + The error message string. + + + + Log a warning message. + + The warning message string. + The Exception object to decorate the message + with. + + + + Log a warning message. + + The warning message string. + + + + Record a test outcome. + + The accompanying message. + The outcome value. + + + + Writes information about an encountered, known issue. + + Information about the known issue. + + + + Records a log message that indicates a named, granular test stage + has happened. + + Any message for the log. + A name for the object or event. + The test granularity value. + The test stage value. + + + + Initializes the unit test log message writer helper. + + The test harness reference. + + + + Marks a message as a unit test system-specific message. + + The log message object. + + + + An incorrect exception type has occurred. + + The expected type. + The actual exception's type. + The test metadata. + The method metadata. + + + + No Exception was intercepted, yet one was expected. + + The expected exception type. + The test class metadata. + The test method metadata. + + + + Logs and Exception that was intercepted or observed. + + The actual Exception instance. + The test class metadata. + The test method metadata. + + + + Enqueues a Ignore message. + + The granularity of the ignore operation. + The name of the test skipped. + + + + Enqueues a message containing a test run filter. + + The test run filter. + + + + Records a log message that indicates a named, granular test stage has + happened. + + The assembly metadata object. + The test granularity value. + The test stage value. + + + + Log a test class's stage. + + The test class metadata object. + The test stage. + + + + Log the result of a unit test scenario. + + The result of the test. + + + + Log a test method's stage. + + The test method metadata object. + The test stage. + + + + Records a harness state for the unit test harness. + + The unit test harness. + The harness name. + The test stage. + + + + A test harness for interacting with unit test providers such as Visual + Studio Team Test's metadata. + + + + + Display name for this harness. + + + + + Manages the attachment state of a global exception handler. + + + + + Container of all work items for the test harness. + + + + + Manager of the stack of dispatchers, so that the appropriate parent + container handles exceptions and completion events. + + + + + Number of valid test assemblies encountered. + + + + + The current run's known number of test methods. + + + + + Backing field for the event firing helper. + + + + + Initiate unit test harness. + + + + + Queue of log messages awaiting processing. + + + + + Adds a log provider to the listening log providers group. + + Log provider object. + + + + Enqueue a log message object for processing by the log providers. + + The log message object. + + + + Begin running the test harness. + + + Make sure to subscribe to the Complete event before calling this + method, in some harnesses this may be a synchronous Run followed + immediately by the Complete event being fired. + + + + + Complete event. + + The sender. + The event arguments. + + + + Stores a log file for the test run. Depending on the execution + environment, this call may not successful. + + The name of the log file. + The log file content as a string. + + + + If supported by any attached test service, this publishes the final + test results. Typical harness implementations may immediately close + the web browser channel upon receiving the message, so any other + reporting should be done first. + + + + + Process all queued log messages. + + + + + Fill member variables with any non-null settings of the same type. + + Settings container class. + + + + Initializes all log providers. + + + + + Call the TestHarnessCompleted event. + + + + + Call the Publishing event. + + The event arguments. + + + + Overrides the PublishResults method so that final reporting is only + done once all other logging is finished. + + + + + Publish final results. If not yet ready, will keep waiting around + as a work item until it is done. + + + + + Stored dispatcher instance. + + + + + Checks if a reporting provider is connected to the test service. + + Returns true if a reporting provider is connected to the + test service. + + + + Immediately sets the overall status using a log message and + processes the message queue. + + The message to set. + + + + Sets the unit test harness property for a test case that inherits + from the abstract base type 'CustomTest'. + + A CustomText instance. + + + + Initialize the harness with a set of test assemblies. + + + + + Restarts the run dispatcher. + + + + + Track the results for our execution and also track the fail state. + + Scenario result to process. + + + + Fires the test assembly starting event. + + The event data. + + + + Fires the play pause event. + + Event data. + + + + Fires the test assembly completed event. + + The event data. + + + + Fires the test class starting event. + + The event data. + + + + Fires the test class completed event. + + The event data. + + + + Fires the test method starting event. + + The event data. + + + + Notifies observers that a test method has been completed. Also + clears the test panel's visual tree. + + The event data. + + + + Notifies observers that a test run has been started. + + The event data. + + + + Reference to the test page object. + + + + + Attempts to report the code coverage information using the test + service provider. If there is no available coverage reporting + service, this is a silent failure. Only reports if >= 1 blocks + are hit. + + The test service. + + + + Enqueue a test assembly from a simple Assembly reference. + + The test assembly. + The run filter settings for the test assembly's run. + + + + Enqueues a test assembly. + + The test assembly metadata. + The run filter settings for the test assembly's run. + + + + Flush the current log manager and then perform the next invoke. + + Returns true if work remains. + + + + Creates the test run filter for the initial run. + + The unit test settings. + Returns a new TestRunFilter instance. + + + + Determine what test assemblies need to be executed. Enqueue tasks + for the unit test assembly providers to run the tests. + + + + + Calculates the number of methods for a run. + + The assembly manager. + The test assembly. + The test run filter. + Returns the number of known methods returned. + + + + Event fired at the completion of the harness' work. + + Sender object instance. + Event arguments. + + + + Listener event for any unhandled exceptions. + + Sender object instance. + Event arguments. + + + + Creates the set of harness tasks to run and hooks up to the Complete event. + + + + + Gets the list of results. + + + + + Gets the log message writer instance. This can be used to easily + post informative messages to the log message queue and providers. + + + + + Gets or sets the logic factory used for instantiating the + unit test logic and management objects. + + + + + Gets or sets the overall harness state - overloaded types can be + used to store additional information. + + + + + Gets the log providers list. + + + + + Gets or sets the wrapper that handles calling the next Run step + method until complete; allows for a virtual Run method. + + + + + Gets the dictionary of Parameters passed into the test harness. + + + + + Gets or sets the settings used to initialize the test harness. + + + + + Gets a set of events that can be fired for test results and other + important test runtime events. + + + + + The test harness is publishing results. + + + + + Gets the TestService referenced by the test harness settings. The + test service provides advanced, optional functionality that is + useful to harness and test case developers. A typical test service + operates outside the process or security boundary. + + + + + Complete event fired when the test harness has finished its test + run. + + + + + Gets a dispatcher instance. + + + + + Gets the root container for test work to be completed. + + + + + Gets the known number of test methods in the current test run. + + + + + Gets or sets a value indicating whether to intercept exceptions at + the app domain level and funnel into the current container or not. + + + + + Gets the internal DispatcherStack being used by the test harness. + + + + + The test assembly starting event. + + + + + On the play or pause change of the dispatcher. + + + + + Gets or sets a value indicating whether the dispatcher is currently + running. + + + + + Test assembly completed event. + + + + + Test class starting event. + + + + + The test class completed event. + + + + + The test method starting event. + + + + + An event that is fired whenever a test method completes. + + + + + An event that is fired when the test run is starting. + + + + + Gets or sets the test page. + + + + + Gets the test panel manager instance. + + + + + Well-known keys that can be used to mark decorator instances in log + message objects. + + + + + Indicates that the message is specific to the unit test system. + + + + + The unit test harness reference. + + + + + The metadata interfacing object for a test assembly. + + + + + The metadata interfacing object for a test class. + + + + + The metadata interfacing object for a test method. + + + + + Indicates that the incorrect exception was intercepted. + + + + + Indicates that the message indicates a skipped/ignored item. + + + + + The type of the expected exception. + + + + + The type of the actual exception. + + + + + The actual exception. + + + + + A TestRunFilter object. + + + + + A ScenarioResult object. + + + + + Helper conditional methods for unit test-specific log messages. + + + + + Determines whether a log message meets a specific condition or set + of conditions. + + The log message object. + Returns true if the condition is met. + + + + Determines whether a log message meets a specific condition or set + of conditions. + + The unit test decorator of interest. + Returns true if the condition is met. + + + + Returns a value indicating whether the message is marked as a unit + test system message. + + The message. + Returns true if the message is a unit test system-marked + message. + + + + Determines whether a log message meets a specific condition or set + of conditions. + + The log message object. + Returns true if the condition is met. + + + + Determines whether a log message meets a specific condition or set + of conditions. + + The log message object. + Returns true if the condition is met. + + + + Determines whether a log message has an attached TestRunFilter. + + The log message object. + Returns a value indicating whether the condition is met. + + + + Determines whether a log message meets a specific condition or set + of conditions. + + The log message object. + Returns true if the condition is met. + + + + Determines whether a log message meets a specific condition or set + of conditions. + + The log message object. + Returns true if the condition is met. + + + + Determines whether a log message meets a specific condition or set + of conditions. + + The log message object. + Returns true if the condition is met. + + + + A lazy method type. + + + + + A class that does a lazy lookup when needed using reflection. + + + + + Attribute Type instance. + + + + + The Type to search with. + + + + + Whether the search has happened. + + + + + The method reflection object. + + + + + Construct a new lazy method wrapper. + + The attribute type. + + + + Construct a new lazy method wrapper. + + Type to search. + Attribute type. + + + + Does a search and retrieves the method information. + + The method reflection object. + + + + Whether the type has a method info. + + A value indicating whether the method information has + been found. + + + + Perform a search on the type. + + + + + Gets the type of attribute the lazy method is searching for. + + + + + Gets the underlying type that is searched. + + + + + Gets or sets a value indicating whether a lookup has already been attempted. + + + + + Gets or sets the underlying MethodInfo from reflection. + + + + + Underlying Assembly reflection object. + + + + + Create a new lazy method from a MethodInfo instance. + + Assembly reflection object. + Attribute Type instance. + + + + Performs a search on the MethodInfo for the attributes needed. + + + + + Test assembly metadata interface. + + + + + Gets a collection of test class metadata objects. + + Returns a collection of metadata objects. + + + + Gets the initialization method. + + + + + Gets the cleanup method. + + + + + Gets a reference to the unit test provider. + + + + + Gets the name of the test assembly. + + + + + Gets the test harness used to initialize the assembly. + + + + + An expected exception marker for a test method. + + + + + Gets the expected exception type. + + + + + Gets any message associated with the expected exception object. + + + + + Represents the host type information for a test. + + + + + Gets the Host type. + + + + + Gets the host data. + + + + + A representation of a test's priority. + + + + + Metadata representing a test class. + + + + + Retrieve a collection of the test method metadata objects setup by + the unit test provider. + + A collection of test method interfaces. + + + + Gets the test class Type instance. + + + + + Gets a value indicating whether the test class should be ignored. + + + + + Gets the per-test initialization method. + + + + + Gets the per-test cleanup method. + + + + + Gets the one-time class initialization method. + + + + + Gets the one-time class cleanup method. + + + + + Gets the name of the test class. + + + + + Gets a reference to the parent test assembly metadata + instance. + + + + + Test method metadata. + + + + + Used for decorating with unit test provider-specific capabilities, + such as the TestContext concept. + + Instance to decorate. + + + + Get any attribute on the test method that are provided dynamically. + + + Dynamically provided attributes on the test method. + + + + + Invoke the test method. + + Instance of the test class. + + + + Gets the test method reflection object. + + + + + Hooks up to any unit test provider-enabled WriteLine capability + for unit tests. + + + + + Gets a value indicating whether the test is marked to be ignored. + + + + + Gets any description for the method. + + + + + Gets a name for the method. + + + + + Gets any category information for the method. + + + + + Gets any test owner information. + + + + + Gets any expected exception attribute . + + + + + Gets any timeout information. + + + + + Gets a collection of any test properties. + + + + + Gets a collection of any test work items. + + + + + Gets any priority information. + + + + + A property for a test method. + + + + + Gets the test property name. + + + + + Gets the test property value. + + + + + Provider model for a unit test system that uses reflection and metadata + to enable a unit test run. + + + + + Retrieve the metadata instance for a test assembly given a + reflection Assembly instance. + + The test harness using the provider. + Reflected test assembly. + Unit test provider-specific metadata instance for + the test assembly. + + + + Gets a value indicating whether a specific capability or set of + capabilities are supported by the unit test provider. + + Capability of interest. + Gets a value indicating whether the capability is + supported. + + + + Checks if an Exception actually represents an assertion that failed + to improve the logging experience. + + Exception object. + Returns true if the Exception is an assertion exception + type. + + + + Gets the name of the unit test provider. + + + + + Gets the capabilities that the unit test provider implements. + + + + + Work item for a test. + + + + + Gets the associated information from the work item. + + + + + Event arguments that pass along a string value. + + + + + Create a new event argument instance. + + + + + Create a new event argument instance that stores a string value. + + String value to pass along. + + + + String value stored in the event arguments. + + + + + Gets the stored string value. + + + + + A set of capabilities that a unit test provider may chose to implement + through the metadata interfaces. + + + + + No defined capabilities. + + + + + Support for attribute [AssemblyInitialize]. + + + + + Support for attribute [AssemblyCleanup]. + + + + + Support for attribute [Ignore] for classes. + + + + + Support for attribute [Ignore] for methods. + + + + + Support for attribute [Description] on methods. + + + + + Support for attribute [Category] on methods. + + + + + Support for attribute [Owner] on method. + + + + + Support for attribute [Priority] on method. + + + + + Support for attribute [TestProperty](...) on methods. + + + + + Support for attribute [Timeout] on methods. + + + + + Support for attribute [WorkItem(...)]('s) on methods. + + + + + Test work item type that does not complete until the sleep time has + elapsed. This is NOT a blocking Sleep. + + + + + The amount of time to delay for. + + + + + The DateTime that marks the point in time the task is complete. + + + + + Create a new Sleep work item, including the number of + milliseconds to wait until continuing. + + Amount of time to wait/delay. + + + + On the first time, will calculate the final DateTime. Otherwise, + null operation (returns) until that time. + + Returns a value indicating whether there is more work to be + done. + + + + Expected exception metadata. + + + + + Private constructor. + + + + + Creates a new expected exception metadata wrapper. + + Attribute value. + + + + The expected exception attribute. + + + + + Gets the type of the expected exception. + + + + + Gets any message to include in a failure. + + + + + A simple wrapper for a priority integer value that overrides the + ToString method. + + + + + Initializes a new instance of the Priority class. + + The priority. + + + + Gets the priority as string. + + Returns the priority. + + + + Gets the priority value. + + + + + The set of provider attributes. + + + + + Initializes the VSTT metadata provider. + + + + + Gets VSTT [TestClass] attribute. + + + + + Gets VSTT [Ignore] attribute. + + + + + Gets VSTT [ClassInitialize] attribute. + + + + + Gets VSTT [Priority] attribute. + + + + + Gets VSTT [ClassCleanup] attribute. + + + + + Gets VSTT [TestInitialize] attribute. + + + + + Gets VSTT [TestCleanup] attribute. + + + + + Gets VSTT [Description] attribute. + + + + + Gets VSTT [Timeout] attribute. + + + + + Gets VSTT [Owner] attribute. + + + + + Gets VSTT [ExpectedException] attribute. + + + + + Gets VSTT [AssemblyInitialize] attribute. + + + + + Gets VSTT [AssemblyCleanup] attribute. + + + + + Gets VSTT [TestMethod] attribute. + + + + + Gets VSTT [TestProperty] attribute. + + + + + Test class wrapper. + + + + + Construct a new test class metadata interface. + + Assembly metadata interface object. + + + + Creates a new test class wrapper. + + Assembly metadata object. + Type of the class. + + + + Test Type. + + + + + Collection of test method interface objects. + + + + + A value indicating whether tests are loaded. + + + + + A dictionary of method types and method interface objects. + + + + + Gets a collection of test method wrapper instances. + + A collection of test method interface objects. + + + + Exposes the name of the test class. + + Returns the name of the test class. + + + + Gets the test assembly metadata. + + + + + Gets the underlying Type of the test class. + + + + + Gets the name of the test class. + + + + + Gets a value indicating whether an Ignore attribute present + on the class. + + + + + Gets any test initialize method. + + + + + Gets any test cleanup method. + + + + + Gets any class initialize method. + + + + + Gets any class cleanup method. + + + + + Methods enum. + + + + + Initialize method. + + + + + Cleanup method. + + + + + Test init method. + + + + + Test cleanup method. + + + + + A provider wrapper for a test method. + + + + + Property name for the TestContext. + + + + + Default value for methods when no priority attribute is defined. + + + + + An empty object array. + + + + + Method reflection object. + + + + + Private constructor, the constructor requires the method reflection object. + + + + + Creates a new test method wrapper object. + + The reflected method. + + + + Call the WriteLine method. + + String to WriteLine. + + + + Decorates a test class instance with the unit test framework's + specific test context capability, if supported. + + Instance to decorate. + + + + Get any attribute on the test method that are provided dynamically. + + + Dynamically provided attributes on the test method. + + + + + Invoke the test method. + + Instance of the test class. + + + + Exposes the name of the test method as a string. + + Returns the name of the test method. + + + + Allows the test to perform a string WriteLine. + + + + + Gets the underlying reflected method. + + + + + Gets a value indicating whether there is an Ignore attribute. + + + + + Gets any description marked on the test method. + + + + + Gets the name of the method. + + + + + Gets the Category. + + + + + Gets the owner name of the test. + + + + + Gets any expected exception attribute information for the test method. + + + + + Gets any timeout. A Nullable property. + + + + + Gets a Collection of test properties. + + + + + Gets a collection of test work items. + + + + + Gets Priority information. + + + + + Represents a simple test property with a key/value string pair. + + + + + Initializes a new instance of the TestProperty class. + + + + + Initializes a new instance of the TestProperty class. + + The initial property name. + The initial property value. + + + + Gets or sets the property name. + + + + + Gets or sets the property value. + + + + + A wrapper for the unit test context capability of Visual Studio Team + Test's unit test framework. + + + + + Create a new unit test context wrapper for the test method. + + Test method. + + + + Constructor of a new unit test context. + + + + + Test method. + + + + + Used to write trace messages while the test is running. + + Format string. + The arguments. + + + + Throw a not supported exception. + + Functionality that is not supported (string). + A new NotSupportedException. + + + + Adds a file name to the list in TestResult.ResultFileNames. + + Filename to add as a result. + + + + Begins a timer with the specified name. + + The name of the timer to create. + + + + Ends a timer with the specified name. + + Name of the timer. + + + + Cache of properties. + + + + + Gets test properties. + + + + + Gets current data row when test is used for data driven testing. + + + + + Gets current data connection row when test is used for data driven testing. + + + + + Gets the name of the test method. + + + + + Gets the current enum outcome - passed, failed, or inconclusive. + + + + + Assembly metadata for the Visual Studio Team Test unit test framework. + + + + + Assembly reflection object. + + + + + Assembly initialization method information. + + + + + Assembly cleanup method information. + + + + + Unit test provider used for the assembly. + + + + + The unit test harness. + + + + + Creates a new unit test assembly wrapper. + + Unit test metadata provider. + A reference to the unit test harness. + Assembly reflection object. + + + + Reflect and retrieve the test class metadata wrappers for + the test assembly. + + Returns a collection of test class metadata + interface objects. + + + + Gets the name of the test assembly. + + + + + Gets the unit test provider instance. + + + + + Gets any assembly initialize method. + + + + + Gets any assembly cleanup method. + + + + + Gets the test harness used to initialize the assembly. + + + + + Gets the test harness as a unit test harness. + + + + + Provider for the Visual Studio Team Test unit test (UT) framework + metadata. + + + + + Name of this provider. + + + + + The capabilities of the VSTT UTF provider. + + + + + Whether the capability is supported by this provider. + + Capability type. + A value indicating whether the capability is available. + + + + Create a new Visual Studio Team Test unit test framework provider + instance. + + + + + Cache of assemblies and assembly unit test interface objects. + + + + + VSTT unit test provider constructor; takes an assembly reference to + perform reflection on to retrieve all test class types. In this + implementation of an engine for the VSTT metadata, only a single + test Assembly can be utilized at a time for simplicity. + + The unit test harness. + Assembly reflection object. + Returns the assembly metadata interface. + + + + Check if the Exception is actually a failed assertion. + + Exception object to check. + True if the exception is actually an assert failure. + + + + Gets the name of the provider. + + + + + Gets the specialized capability descriptor. + + + + + Settings for the unit test system. + + + + + The tag expression key name. + + + + + By default test methods are sorted. + + + + + By default test classes are sorted. + + + + + Settings for the unit test system. + + + + + Gets the parameters from the response file. + + The parameters. + + + + Gets the components initialized by the entry-point assembly. These + are the dynamically loaded objects that may be needed by the + TestHarness. + + The components. + + + + Gets the log providers. + + + + + Gets or sets a set of sample tags for use in a tag editor screen. + + + + + Gets the list of test assemblies. + + The test assembly. + + + + Gets or sets the test service provider. The test service lights up + advanced out-of-process communication, reporting, logging, and + other valuable services. + + + + + Gets or sets the test harness. + + The test harness. + + + + Gets or sets the test service hostname to try using. Defaults to + localhost. + + + + + Gets or sets the test service port to try using. Defaults to 8000. + + + + + Gets or sets the test service path to try using. Defaults to + /externalInterface/. + + + + + Gets or sets a value indicating whether to start the run + immediately when the test system is run. Defaults to false to enable + the test service to load and information to be provided in the + user interface. + + + + + Gets or sets the type of the TestPanel to create. The type must + derive from Microsoft.Silverlight.Testing.ITestPanel. + + + + + Gets or sets a value indicating whether test methods are sorted + alphabetically. By default this value is true. + + + It is worth understanding that the order of unit test + execution should not affect the results of a test run. Any expected + ordering and verification from multiple test methods should be + refactored into a single unit test. + + + + + Gets or sets a value indicating whether test classes are sorted + alphabetically. This setting is True by default. + + + + + Gets or sets a value indicating whether to show the tag expression + editor user interface before starting the test run. + + + + + Gets or sets the tag expression used for selecting tests to run. + + + + + Gets a list of test classes to run. Enables filtering. + + This property should be considered obsolete. + + + + A manager for the underlying TestSurface Panel. + + + + + Private constructor. + + + + + The test page object. + + + + + A value indicating whether the panel is dirty. + + + + + Remove the children from the test surface, if it has + been used. + + + + + Remove the children from the test surface. + + + + + Gets or sets the Reference to the TestPage user control. + + + + + Gets the TestSurface Panel, and tracks the use for the + current test method. When the test completes, the panel children + will be cleared automatically. + + + + + A result from a test scenario. + + + + + Creates a result record. + + Test method metadata object. + Test class metadata object. + Test result object. + Exception instance, if any. + + + + The string representation of the ScenarioResult. + + Returns a verbose string representation of the result. + + + + Gets or sets the scenario's started time. + + + + + Gets or sets the scenario's finishing time. + + + + + Gets the test method metadata. + + + + + Gets the test class metadata. + + + + + Gets or sets the Result object. + + + + + Gets the Exception instance, if any. + + + + + Container and manager type which handles an entire test assembly; contains sub work + items that represent all actions needed to execute its tests. + + + + + A container that stores instances of the unit test harness and provider. + + + + + TestWorkItem which can contain sub-tasks; the underlying work item is + not marked complete until the Children have completed or an Exception + is thrown. + + + + + Store the underlying tasks. + + + + + Whether the TestTaskContainer::IsComplete should be set to true + after all children have been de-queued. + + + + + Whether the first invoke has happened yet or not. + + + + + Constructor for the TestTaskContainer type. + + + + + Optional method to call on the first invoke. + + + + + Invoke the test container; in turn will execute child work items + as needed. Supports executing multiple items immediately for + performance reasons. + + True if additional work remains, False once IsComplete + is set to true. + + + + Invoke the test container; in turn will execute child work items + as needed. + + The work item used for the invoke. + True if additional work remains, False once IsComplete + is set to true. + + + + Clear the children. + + + + + Dequeue a work item. + + A work item. + + + + Add a new work item to the container to schedule it for invocation. + + New test work item to enqueue. + + + + Adds a new work item that will execute more quickly. + + The item of work. + + + + Enqueues a callback or action that will quickly execute. + + The action or method. + + + + Add a new callback action and schedule it for invocation. + + The action. + + + + Return the top work item, if any, from this container. + + Peek into any test work item. + + + + Work items must call this method to indicate completion of the work + item; in turn fires the Complete event delegates. + + + + + Internal-only version which can be called during a test completion + through the relation - not necessarily the best design; events + may make more sense long-term. + + + + + Call when an exception occurs inside a work item. + + Exception object. + + + + Fire the Complete event. + + Empty event arguments. + + + + Fire the unhandled exception event. + + Exception object. + + + + Gets a value indicating whether the container is marked Complete + when all children have executed or not. + + + + + Gets a value indicating whether sub tasks remain. + + + + + Complete event is fired when the underlying WorkItemComplete method + is called by the work item. + + + + + Event fired when an exception is thrown and unhandled within the + underlying Invoke sequence. + + + + + Gets or sets a value indicating whether the task can execute + immediately. + + + + + The unit test provider. + + + + + Initializes a new unit test work item container. + + The unit test harness. + The unit test metadata provider. + + + + Logs a new message. + + Message object. + + + + Logs a message about the harness. + + Information about the harness. + + + + Gets the log message writer for the unit test system. + + + + + Gets the test harness instance. + + + + + Gets the unit test provider instance. + + + + + The test run filter object. + + + + + Unit test provider-agnostic assembly metadata. + + + + + Container of work items for running test classes. + + + + + Create a new assembly manager, takes in the harness, provider + reference and actual IAssembly object. + + The test run filter object. + Harness object. + The unit test metadata provider. + The test assembly metadata object. + + + + When the test run is ready to test the underlying test assembly that + this class manages, perform reflection and enqueue work items to run + the tests. + + + + + The assembly initialize method. + + + + + The assembly cleanup method. + + + + + Reflect over all test classes in the assembly and add any which are not + filtered out into the test work item queue. + + + + + Helper to enqueue a new method dispatcher. + + The method reflection object. + + + + Gets the collection of all the instances of the assembly's test + classes, used to keep a single reference of the type. + + + + + A method container. + + + + + The timeout time. + + + + + The test method metadata. + + + + + Constructs a new method container. + + + + + Constructs a new method container. + + An instance of the method's type. + The method reflection object. + The test method. + + + + The task that involves the method, and contains its own internal + test queue, if needed for asynchronous tasks. + + + + + The reflection object for the method. + + + + + Invoke into the method. + + Returns the condition of any remaining work. + + + + On the first invoke, make sure there's a task to call the method. + + + + + Gets the method's reflection object. + + + + + A dictionary that manages single instances of types for use across the + unit test system. + + + + + Returns the instance for a Type; if there is not an instance yet, + this will use Activator.CreateInstance to create it. + + The Type instance to retrieve. + Returns an instance of the Type. Returns a new instance + if the Type has not yet been used. + + + + Remove any instance for the type. + + The Type of instance to remove. + + + + Test class manager. + + + + + Test run filter object. + + + + + Reference to the class and its metadata. + + + + + Queue of any tests to run. + + + + + Class instance. + + + + + A container type that handles an entire test class throughout the + test run. + + Test run filter object. + The unit test harness. + The test class metadata interface. + The object instance. + The unit test provider. + + + + Code run the first time this container is invoked. + + + + + Custom tests need to be prepared before use. + + + + + The test initialize method. + + + + + The test cleanup method. + + + + + Reflect through the class to find any test methods, and add them to + the list of queued methods. Also, sorts the methods if appropriate + based on the settings file. + + + + + Add a new method dispatcher to the test work item queue. This is a + work item container which is able to manage its own internal test + work item queue. + + The method reflection object. + + + + A special type dedicated to keeping a running stack of the dispatch + managers that are actually enabled for "work item" use. The current + dispatcher is used by the test work item queue. + + + + + Dispatcher stack; a stack of work item containers. + + + + + Creates a new empty stack for work item containers. + + + + + Push a new dispatcher onto the stack. + + The composite work item to push. + + + + Pop a dispatcher off the stack. + + Returns the top-most container. Throws an + InvalidOperationException if none is available. + + + + Gets the current test work item dispatcher, which is the dispatcher + on the top of the stack. Returns null if there is none. + + + + + Manager for planning, processing, and reporting the result of a single + test method for a unit test provider. + + + + + Underlying test class object. + + + + + Underlying test method object. + + + + + Reference to an instance of the test class. + + + + + Scenario result of the test method. + + + + + The started time of execution. + + + + + Stores a collection of written lines. + + + + + A value indicating whether the bug attribute was present on this + method. If it is, the result will be inverted at completion. + + + + + Contains the main test contents. + + + + + Constructor for a test method manager, which handles executing a single test method + for a unit test provider. + + The unit test harness object. + The test class metadata object. + The test method metadata object. + The test class instance. + The unit test provider. + + + + Log a start message. + + + + + Log an end message. + + + + + Handles the write line event for the test method. + + The string event arguments. + + + + First invoke, plan for the method's execution. + + + + + Sets the start and finish times on the ScenarioResult object. + + + + + Creates the ScenarioResult instance for this test method. + + The initial test outcome value. + + + + Process the result. + + Source object. + Event arguments. + + + + Process an unhandled exception for the method. + + Source object. + Unhandled exception event arguments. + + + + Create a new method container to enclose a reflected method for execution. + + The method reflection object. + + + + Gets or sets a value indicating whether the bug attribute's logic + has already been processed. + + + + + Gets the write line output list. + + + + + A container which is able to attach to the underlying test dispatcher + stack to enable advanced asynchronous functionality, when supported. + + + + + The unit test harness. + + + + + The granularity of the contained item. + + + + + The test method metadata object. + + + + + Initializes dispatcher-stack attaching method container work item. + + Test harness. + Test instance. + Method reflection object. + Test method metadata. + Granularity of test. + + + + Connect to dispatcher stack for advanced functions, if supported. + + + + + Check a MethodInfo for the advanced async attribute. + + True if the work item queue is supported. + + + + A work item for tests to use which will call the delegate when the work + item is executed. + + + + + Stored void delegate. + + + + + Create a new Callback work item. + + Action to execute on Invoke. + + + + Execute the callback. + + Whether the work item is complete. + + + + A test work item that is complete once the condition is asserted. + + + + + The conditional delegate. + + + + + Construct a new conditional work item. + + Conditional delegate. + + + + Invoke the condition, will continue invoking until + the condition is false. + + Completes the invocation once the condition is true. + + + + A simple work item that invokes a method through the reflection + MethodInfo instance. + + + + + An empty object array. + + + + + An object instance. + + + + + Method reflection object. + + + + + The test method to invoke. + + + + + Creates a new method invoke work item for a MethodInfo instance. + + The type instance. + The method on the type to invoke when the + work item is executed. + The test method metadata. + + + + Invokes the underlying method on the instance and marks the + test work item as complete. + + False, noting the completion of the work item. + + + + Unit test providers. + + + + + List of unit test providers. + + + + + Static constructor that initializes the built-in unit test metadata providers. + + + + + Gets the unit test provider for an assembly. The framework only + currently supports a single provider per test assembly, so if more + than one registered provider can handle the assembly, at runtime an + InvalidOperationException is thrown. + + The test harness making the request. + Assembly reflection object. + The unit test provider for the test assembly. Throws if + more than one can process the assembly. Returns null if there is + not a provider for the assembly. + + + + Returns the IAssembly provider for an assembly. + + Test harness object. + Assembly reflection object. + Returns null or an IAssembly instance. + + + + Gets the list of Unit Test providers. + + + + + A dictionary that can store just about any kind of object, keyed off any + object. As a Hashtable, it permits using keys of + - enums + - objects + - types + + This makes it ideal for use in decorating and adorning special types in + the system, such as log messages. + + A strongly-typed decorator key could come from an enum value, while a + prototype extension to the test system could simply use a string key for + organizing. + + In all instances, the resulting object needs to be cast appropriately. + + + + + Check if a decorator exists. + + The decorator key object. + + Returns a value indicating whether the decorator key exists. Even + if the key exists, the instance value for the key could be set to + null, yielding a null instance. + + + + + Check if a set of decorators exists. + + The set of decorator(s) of interest. + + Returns a value indicating whether the decorators of interest were + present. + + + + + Retrieves the decorator instance if it exists. If not, this method + returns null. + + The decorator key object. + + Returns the instance or null if it does not exist. No exceptions + are thrown in this method. + + + + + Helper functionality for dealing with embedded resources in an assembly. + + + + + Get a string containing the text of an embedded resource in an + assembly. + + + An instance whose assembly can be retrieved through reflection. + + + Complete embedded resource name. + + + A string containing the embedded resource's string contents. + + + + + A simple factory used for creating new log messages. + + + + + Create a new LogMessage instance. + + Returns a new LogMessage instance. + + + + Create a new LogMessage instance. + + The type of message to create. + Returns a new LogMessage instance. + + + + Gets or sets the default log message type used for the creation of + unspecific log message types. + + + + + Well-known keys that can be used to mark decorator instances in log + message objects. + + + + + Key for a decorator that is a simple Exception object. + + + + + Key for a decorator that is a simple Name string property. + + + + + An associated TestOutcome value. + + + + + The stage of a message or event. + + + + + The granularity of a message or event. + + + + + A number of possible test outcomes or results. For compatibility, this + information resembles that of the desktop test framework, although many + of the states may not apply or be valid for an in-browser test harness. + + + + + A test outcome of Error. + + + + + A test outcome of Failed. + + + + + A test outcome of Timeout. + + + + + A test outcome of Aborted. + + + + + A test outcome of Inconclusive. + + + + + A test outcome of a run that was aborted, but passed. + + + + + A test outcome of NotRunnable. + + + + + A test outcome of NotExecuted. + + + + + A test outcome of Disconnected. + + + + + A test outcome of Warning. + + + + + A test outcome of Passed. + + + + + A test outcome of Completed. + + + + + A test outcome of InProgress. + + + + + A test outcome of Pending. + + + + + The stage of a test scenario, case or system running. + + + + + In the process of starting. + + + + + Currently running. + + + + + Finishing up. + + + + + The test is canceling. + + + + + Provides a property that will attach and detach a known event handler + delegate when the bit is flipped. + + + + + The event to fire when attached. + + + + + Whether the event handler is attached as a global unhandled + exception handler. + + + + + Creates a new exception handler "manager" with the provided + EventHandler. + + The event handler to manage. + + + + Mark the Handled property in the event args as True to stop any + event bubbling. + + Event arguments. + + Value indicating whether the Exception should be marked as handled. + + + + + Return the Exception property from the EventArgs. + + Event arguments. + + Returns the Exception object that the event arguments stores. + + + This method is compatible with the full desktop framework as well as + Silverlight. + + + + + Internal event that is hooked up to the global exception handler. + + Source object of the event. + Event arguments. + + + + Called after a change to the attachment field value. + + + + + Attach the handler globally. + + + + + Detach the handler globally. + + + + + Gets or sets a value indicating whether the handler is currently + attached to the global exception handler. + + + + + A log message. + + + + + The default log message used during initialization. + + + + + Initializes a new log message of the default message type. + + + + + Initializes a new log message. + + The message type. + + + + Converts to string representation. + + A string version of the LogMessage. + + + + Check if a decorator is present on the LogMessage. + + The decorator of interest. + + Returns a value indicating whether the decorator is present in the + DecoratorDictionary. + + + + + Check if a set of decorators are present. + + The decorator(s) of interest. + + Returns a value indicating whether the decorator(s) of interest are + present. + + + + + Gets the set of decorator instances attached to the log message. + + + + + Gets or sets the type of message. + + + + + Gets or sets the log's message. + + + + + Gets or sets the decorator type for the message. + + + The type of decorator. Only one explicit Type is permitted, + although multiple types within the same type hierarchy are + legitimate. + + Returns the instance of the decorator, if any. + + + + The hierarchy of test execution represented in more generic terms, this + allows for more robust and useful actions by log providers. + + + + + Harness-level granularity. + + + + + Group of test-level granularity. + + + + + Test-level granularity. + + + + + Scenario-level granularity. + + + + + The most verbose log provider, this calls .ToString() on each and every + LogMessage that it processes. The output will appear in an attached + debugger's "Output" window. + + + + + Initializes a new instance of the DebugOutputProvider class. + + + + + Display a LogMessage in the debug output window. + + Message object. + + + + Gets or sets a value indicating whether any TestResult failures will + be reported, regardless of whether the TestResult type is being + monitored for debug output. + + + + + Gets or sets a value indicating whether all messages appear in the + debug output. + + + + + Set of defined types of log messages to allow for some level of + filtering and selective processing of log messages. + + + + + Pass, fail, etc. + + + + + Debug::WriteLine or tracing. + + + + + Non-fatal log message. + + + + + Fatal error message. + + + + + Information about a known defect. + + + + + General information similar to a Console::WriteLine. + + + + + Operating system setting or platform values. + + + + + New unit of test or test run note. + + + + + Related test systems or out-of-process communication information. + + + + + Event information marking the completion of a test run. + + + + + Creates a new TestHarnessCompletedEventArgs. + + The final test harness state. + + + + Gets the final test harness state. + + This contains the final pass versus fail result at a minimum. + Specific harnesses may extend the type to contain additional + information, logs, scenario counts, or anything else. + + + + + A type which handles preparing the underlying dispatcher or timer from + which the test work items execute. + + + + + Millisecond interval to use for the interval between DispatcherTimer + ticks. + + + + + Dispatcher timer. + + + + + Creates a new run method manager using the default value for the + timer's millisecond interval. + + + Conditional delegate which returns true as long as there is + additional work. + + + + + Sets up a new run method manager. + + + Conditional delegate which returns true as long as there is + additional work. + + Milliseconds between ticks, at a + minimum. + + + + Begin the execution process by hooking up the underlying + DispatcherTimer to call into the test framework regularly and + perform test work items. + + + + + Call into the underlying work item queue, if the method manager is + still set to run. + + Sending object. + Event arguments. + + + + Base class representing the overall state of a test run. + + + + + Increment the failures counter. + + + + + Increments the total scenarios counter. + + + + + Gets the count of failing scenarios. + + + + + Gets the total count of scenarios run. + + + + + Gets a value indicating whether the status recorded indicates a + failure. + + + + + A set of helper methods for interacting with methods and types that are + marked with attributes. + + + + + Retrieve all types in an assembly that are decorated with a specific + attribute. + + Assembly to search. + + Instance of the Type of attribute that marks interesting methods. + + + A collection of types from the assembly. An empty collection is + returned if no types were found matching the constraints. + + + + + Given a MethodInfo type, returns the attributes (if any) that are of + the decoratingAttribute parameter's type. + + MemberInfo instance. + Attribute of interest. + + A collection populated with the Attribute instances. + + + + + Given a MethodInfo type, returns the attributes (if any) that are of + the decoratingAttribute parameter's type. + + MemberInfo instance. + Attribute of interest. + A value indicating whether to look for + inheriting custom attributes. + + A collection populated with the Attribute instances. + + + + + Given a test method, returns the attributes (if any) that are of + the decoratingAttribute parameter's type. + + ITestMethod instance. + Attribute of interest. + Whether to inherit attributes. + + A collection populated with the Attribute instances. + + + + + Retrieve a list of Reflection.Assembly types from a set of + instances and/or types. + + Set of instances or types. + A set of Assembly instances from the instances or types. + + + + Returns a list of unique assemblies from a set of types. + + Set of types. + + A list of unique Assembly instances from the input types. + + + + + Given a list of attributes, retrieves a single Attribute instance. + Will throw an exception if multiple attributes exist on the method. + + List of attributes. + + The attribute instance, or null if it does not exist. + + + + + Given a method and a decorative attribute of interest, retrieves a + single Attribute instance. Will throw an exception if multiple + attributes exist on the method. + + MemberInfo instance. + + Attribute type of interest. + + + The attribute instance, or null if it does not exist. + + + + + Given a test method and a decorative attribute of interest, + retrieves a single Attribute instance. Will throw an exception if + multiple attributes exist on the method. + + ITestMethod instance. + + Attribute type of interest. + + + The attribute instance, or null if it does not exist. + + + + + Given a test method and a decorative attribute of interest, + retrieves a single Attribute instance. Will throw an exception if + multiple attributes exist on the method. + + ITestMethod instance. + + Attribute type of interest. + + A value indicating whether to look for custom + inherited attributes. + + The attribute instance, or null if it does not exist. + + + + + Returns a value indicating whether a method has the attribute. + + MemberInfo instance. + Attribute of interest. + + A value indicating whether the type has the decorating attribute or + not. + + + + + Returns a value indicating whether a method has the attribute. + + ITestMethod instance. + Attribute of interest. + + A value indicating whether the type has the decorating attribute or + not. + + + + + Return a collection of MethodInfo instances given a type to look + through and the attribute of interest. + + Type to look through for methods. + Attribute of interest. + + A collection of the method reflection objects, if any, with the + marked attribute present. + + + + + Retrieve a MethodInfo from a single decorated method inside a type, + if any. Throws an Exception if there are > 1 methods that are + decorated with the attribute. + + Type of interest. + Attribute of interest. + + MethodInfo reflection object. Null if none are found. + + + + + Exposes clipboard functionality within Silverlight 3 applications when a + Silverlight 4 runtime is in use. + + + + + An empty array of object type. + + + + + Backing field for set text. + + + + + Backing field for get text. + + + + + Backing field for the contains text method. + + + + + A value indicating whether the clipboard feature is present. This + assumes that all 3 methods are present, in their current form for a + more recent runtime. + + + + + Sets Unicode text data to store on the clipboard, for later access + with System.Windows.Clipboard.GetText(). + + A string that contains the Unicode text data to + store on the clipboard. + + + + Retrieves Unicode text data from the system clipboard, if Unicode + text data exists. + + If Unicode text data is present on the system clipboard, + returns a string that contains the Unicode text data. Otherwise, + returns an empty string. + + + + + Queries the clipboard for the presence of data in the Unicode text + format. + + True if the system clipboard contains Unicode text data; + otherwise, false. + + + + Prepares to use the System.Windows.Clipboard type and throws an + exception if the feature cannot be completely located. + + + + + Prepares the type and reflects for new Silverlight features. + + + + + Gets a value indicating whether the clipboard feature is available + and supported. + + + + + A framework element that permits a binding to be evaluated in a new data + context leaf node. + + The type of dynamic binding to return. + + + + Gets or sets the string value binding used by the control. + + + + + Identifies the Value dependency property. + + + + + Initializes a new instance of the BindingEvaluator class. + + + + + Initializes a new instance of the BindingEvaluator class, + setting the initial binding to the provided parameter. + + The initial string value binding. + + + + Clears the data context so that the control does not keep a + reference to the last-looked up item. + + + + + Updates the data context of the framework element and returns the + updated binding value. + + The object to use as the data context. + If set to true, this parameter will + clear the data context immediately after retrieving the value. + Returns the evaluated T value of the bound dependency + property. + + + + Updates the data context of the framework element and returns the + updated binding value. + + The object to use as the data context. + Returns the evaluated T value of the bound dependency + property. + + + + Gets or sets the data item string value. + + + + + Gets or sets the value binding. + + + + + Specifies values that control the behavior of a control positioned + inside another control. + + Stable + + + + Specifies that the control should be positioned on the left of the + control. + + + + + Specifies that the control should be positioned on top of the + control. + + + + + Specifies that the control should be positioned on the right of the + control. + + + + + Specifies that the control should be positioned at the bottom of + control. + + + + + The InteractionHelper provides controls with support for all of the + common interactions like mouse movement, mouse clicks, key presses, + etc., and also incorporates proper event semantics when the control is + disabled. + + + + + The threshold used to determine whether two clicks are temporally + local and considered a double click (or triple, quadruple, etc.). + 500 milliseconds is the default double click value on Windows. + This value would ideally be pulled form the system settings. + + + + + The threshold used to determine whether two clicks are spatially + local and considered a double click (or triple, quadruple, etc.) + in pixels squared. We use pixels squared so that we can compare to + the distance delta without taking a square root. + + + + + Reference used to call UpdateVisualState on the base class. + + + + + Initializes a new instance of the InteractionHelper class. + + Control receiving interaction. + + + + Update the visual state of the control. + + + A value indicating whether to automatically generate transitions to + the new state, or instantly transition to the new state. + + + UpdateVisualState works differently than the rest of the injected + functionality. Most of the other events are overridden by the + calling class which calls Allow, does what it wants, and then calls + Base. UpdateVisualState is the opposite because a number of the + methods in InteractionHelper need to trigger it in the calling + class. We do this using the IUpdateVisualState internal interface. + + + + + Update the visual state of the control. + + + A value indicating whether to automatically generate transitions to + the new state, or instantly transition to the new state. + + + + + Handle the control's Loaded event. + + The control. + Event arguments. + + + + Handle changes to the control's IsEnabled property. + + The control. + Event arguments. + + + + Handles changes to the control's IsReadOnly property. + + The value of the property. + + + + Update the visual state of the control when its template is changed. + + + + + Check if the control's GotFocus event should be handled. + + Event arguments. + + A value indicating whether the event should be handled. + + + + + Base implementation of the virtual GotFocus event handler. + + + + + Check if the control's LostFocus event should be handled. + + Event arguments. + + A value indicating whether the event should be handled. + + + + + Base implementation of the virtual LostFocus event handler. + + + + + Check if the control's MouseEnter event should be handled. + + Event arguments. + + A value indicating whether the event should be handled. + + + + + Base implementation of the virtual MouseEnter event handler. + + + + + Check if the control's MouseLeave event should be handled. + + Event arguments. + + A value indicating whether the event should be handled. + + + + + Base implementation of the virtual MouseLeave event handler. + + + + + Check if the control's MouseLeftButtonDown event should be handled. + + Event arguments. + + A value indicating whether the event should be handled. + + + + + Base implementation of the virtual MouseLeftButtonDown event + handler. + + + + + Check if the control's MouseLeftButtonUp event should be handled. + + Event arguments. + + A value indicating whether the event should be handled. + + + + + Base implementation of the virtual MouseLeftButtonUp event handler. + + + + + Check if the control's KeyDown event should be handled. + + Event arguments. + + A value indicating whether the event should be handled. + + + + + Check if the control's KeyUp event should be handled. + + Event arguments. + + A value indicating whether the event should be handled. + + + + + Gets the control the InteractionHelper is targeting. + + + + + Gets a value indicating whether the control has focus. + + + + + Gets a value indicating whether the mouse is over the control. + + + + + Gets a value indicating whether the read-only property is set. + + + + + Gets a value indicating whether the mouse button is pressed down + over the control. + + + + + Gets or sets the last time the control was clicked. + + + The value is stored as Utc time because it is slightly more + performant than converting to local time. + + + + + Gets or sets the mouse position of the last click. + + The value is relative to the control. + + + + Gets the number of times the control was clicked. + + + + + The ItemContainerGenerator provides useful utilities for ItemsControls. + + Preview + + + + A Panel that is used as the ItemsHost of the ItemsControl. This + property will only be valid when the ItemsControl is live in the + tree and has generated containers for some of its items. + + + + + A ScrollViewer that is used to scroll the items in the ItemsHost. + + + + + Initializes a new instance of the ItemContainerGenerator. + + + The ItemsControl being tracked by the ItemContainerGenerator. + + + + + Apply a control template to the ItemsControl. + + + + + Prepares the specified container to display the specified item. + + + Container element used to display the specified item. + + + The ItemContainerStyle for the parent ItemsControl. + + + + + Update the style of any generated items when the ItemContainerStyle + has been changed. + + The ItemContainerStyle. + + Silverlight does not support setting a Style multiple times, so we + only attempt to set styles on elements whose style hasn't already + been set. + + + + + Scroll the desired element into the ScrollHost's viewport. + + Element to scroll into view. + + + + Gets or sets the ItemsControl being tracked by the + ItemContainerGenerator. + + + + + Gets a Panel that is used as the ItemsHost of the ItemsControl. + This property will only be valid when the ItemsControl is live in + the tree and has generated containers for some of its items. + + + + + Gets a ScrollViewer that is used to scroll the items in the + ItemsHost. + + + + + Numeric utility methods used by controls. These methods are similar in + scope to the WPF DoubleUtil class. + + + + + Check if a number is zero. + + The number to check. + True if the number is zero, false otherwise. + + + + Check if a number isn't really a number. + + The number to check. + + True if the number is not a number, false if it is a number. + + + + + Determine if one number is greater than another. + + First number. + Second number. + + True if the first number is greater than the second, false + otherwise. + + + + + Determine if one number is less than or close to another. + + First number. + Second number. + + True if the first number is less than or close to the second, false + otherwise. + + + + + Determine if two numbers are close in value. + + First number. + Second number. + + True if the first number is close in value to the second, false + otherwise. + + + + + NanUnion is a C++ style type union used for efficiently converting + a double into an unsigned long, whose bits can be easily + manipulated. + + + + + Floating point representation of the union. + + + + + Integer representation of the union. + + + + + Provides event data for various routed events that track property values + changing. Typically the events denote a cancellable action. + + + The type of the value for the dependency property that is changing. + + Preview + + + + Private member variable for Cancel property. + + + + + Initializes a new instance of the + + class. + + + The identifier + for the property that is changing. + + The previous value of the property. + + The new value of the property, assuming that the property change is + not cancelled. + + + True if the property change is cancellable by setting + + to true in event handling. false if the property change is not + cancellable. + + + + + Gets the + identifier for the property that is changing. + + + The identifier + for the property that is changing. + + + + + Gets a value that reports the previous value of the changing + property. + + + The previous value of the changing property. + + + + + Gets or sets a value that reports the new value of the changing + property, assuming that the property change is not cancelled. + + + The new value of the changing property. + + + + + Gets a value indicating whether the property change that originated + the RoutedPropertyChanging event is cancellable. + + + True if the property change is cancellable. false if the property + change is not cancellable. + + + + + Gets or sets a value indicating whether the property change that + originated the RoutedPropertyChanging event should be cancelled. + + + True to cancel the property change; this resets the property to + . + false to not cancel the property change; the value changes to + . + + + Attempted to cancel in an instance where + + is false. + + + + + Gets or sets a value indicating whether internal value coercion is + acting on the property change that originated the + RoutedPropertyChanging event. + + + True if coercion is active. false if coercion is not active. + + + This is a total hack to work around the class hierarchy for Value + coercion in NumericUpDown. + + + + + Represents methods that handle various routed events that track property + values changing. Typically the events denote a cancellable action. + + + The type of the value for the dependency property that is changing. + + + The object where the initiating property is changing. + + Event data for the event. + Preview + + + + The ScrollExtensions class provides utility methods for scrolling items + ScrollViewers. + + + + + The amount to scroll a ScrollViewer for a line change. + + + + + Scroll a ScrollViewer vertically by a given offset. + + The ScrollViewer. + The vertical offset to scroll. + + + + Scroll a ScrollViewer horizontally by a given offset. + + The ScrollViewer. + The horizontal offset to scroll. + + + + Scroll the ScrollViewer up by a line. + + The ScrollViewer. + + + + Scroll the ScrollViewer down by a line. + + The ScrollViewer. + + + + Scroll the ScrollViewer left by a line. + + The ScrollViewer. + + + + Scroll the ScrollViewer right by a line. + + The ScrollViewer. + + + + Scroll the ScrollViewer up by a page. + + The ScrollViewer. + + + + Scroll the ScrollViewer down by a page. + + The ScrollViewer. + + + + Scroll the ScrollViewer left by a page. + + The ScrollViewer. + + + + Scroll the ScrollViewer right by a page. + + The ScrollViewer. + + + + Scroll the ScrollViewer to the top. + + The ScrollViewer. + + + + Scroll the ScrollViewer to the bottom. + + The ScrollViewer. + + + + Get the top and bottom of an element with respect to its parent. + + The element to get the position of. + The parent of the element. + Vertical offset to the top of the element. + + Vertical offset to the bottom of the element. + + + + + Common TypeConverter functionality. + + + + + Returns a value indicating whether this converter can convert an + object of the given type to an instance of the expected type. + + Expected type of the converter. + + The type of the source that is being evaluated for conversion. + + + A value indicating whether the converter can convert the provided + type. + + + + + Attempts to convert a specified object to an instance of the + expected type. + + Expected type of the converter. + TypeConverter instance. + The object being converted. + + The instance of the expected type created from the converted object. + + + + + Determines whether conversion is possible to a specified type. + + Expected type of the converter. + + Identifies the data type to evaluate for conversion. + + + A value indicating whether conversion is possible. + + + + + Attempts to convert a specified object to an instance of the + desired type. + + TypeConverter instance. + The object being converted. + + The type to convert the value to. + + + The value of the conversion to the specified type. + + + + + Names and helpers for visual states in the controls. + + + + + Common state group. + + + + + Normal state of the Common state group. + + + + + Normal state of the Common state group. + + + + + MouseOver state of the Common state group. + + + + + Pressed state of the Common state group. + + + + + Disabled state of the Common state group. + + + + + Focus state group. + + + + + Unfocused state of the Focus state group. + + + + + Focused state of the Focus state group. + + + + + Selection state group. + + + + + Selected state of the Selection state group. + + + + + Unselected state of the Selection state group. + + + + + Selected inactive state of the Selection state group. + + + + + Expansion state group. + + + + + Expanded state of the Expansion state group. + + + + + Collapsed state of the Expansion state group. + + + + + Popup state group. + + + + + Opened state of the Popup state group. + + + + + Closed state of the Popup state group. + + + + + ValidationStates state group. + + + + + The valid state for the ValidationStates group. + + + + + Invalid, focused state for the ValidationStates group. + + + + + Invalid, unfocused state for the ValidationStates group. + + + + + ExpandDirection state group. + + + + + Down expand direction state of ExpandDirection state group. + + + + + Up expand direction state of ExpandDirection state group. + + + + + Left expand direction state of ExpandDirection state group. + + + + + Right expand direction state of ExpandDirection state group. + + + + + HasItems state group. + + + + + HasItems state of the HasItems state group. + + + + + NoItems state of the HasItems state group. + + + + + Increment state group. + + + + + State enabled for increment group. + + + + + State disabled for increment group. + + + + + Decrement state group. + + + + + State enabled for decrement group. + + + + + State disabled for decrement group. + + + + + InteractionMode state group. + + + + + Edit of the DisplayMode state group. + + + + + Display of the DisplayMode state group. + + + + + DisplayMode state group. + + + + + Edit of the DisplayMode state group. + + + + + Display of the DisplayMode state group. + + + + + Active state. + + + + + Inactive state. + + + + + Active state group. + + + + + Non-watermarked state. + + + + + Watermarked state. + + + + + Watermark state group. + + + + + Unfocused state for Calendar Buttons. + + + + + Focused state for Calendar Buttons. + + + + + CalendarButtons Focus state group. + + + + + Use VisualStateManager to change the visual state of the control. + + + Control whose visual state is being changed. + + + A value indicating whether to use transitions when updating the + visual state, or to snap directly to the new visual state. + + + Ordered list of state names and fallback states to transition into. + Only the first state to be found will be used. + + + + + Gets the implementation root of the Control. + + The DependencyObject. + + Implements Silverlight's corresponding internal property on Control. + + Returns the implementation root or null. + + + + This method tries to get the named VisualStateGroup for the + dependency object. The provided object's ImplementationRoot will be + looked up in this call. + + The dependency object. + The visual state group's name. + Returns null or the VisualStateGroup object. + + + + Represents a that supports + objects, + such as . + + Stable + + + + The DataTemplate to apply to the ItemTemplate property on a + generated HeaderedItemsControl (such as a MenuItem or a + TreeViewItem), to indicate how to display items from the next level + in the data hierarchy. + + + + + The Style to apply to the ItemContainerStyle property on a generated + HeaderedItemsControl (such as a MenuItem or a TreeViewItem), to + indicate how to style items from the next level in the data + hierarchy. + + + + + Initializes a new instance of the + class. + + + + + Gets or sets the collection that is used to generate content for the + next sublevel in the data hierarchy. + + + The collection that is used to generate content for the next + sublevel in the data hierarchy. The default value is null. + + + + + Gets a value indicating whether the ItemTemplate property was set on + the template. + + + + + Gets or sets the to + apply to the + + property on a generated + , such + as a , to + indicate how to display items from the next sublevel in the data + hierarchy. + + + The to apply to the + + property on a generated + , such + as a , to + indicate how to display items from the next sublevel in the data + hierarchy. + + + + + Gets a value indicating whether the ItemContainerStyle property was + set on the template. + + + + + Gets or sets the that is + applied to the item container for each child item. + + + The style that is applied to the item container for each child item. + + + + + Class to encapsulate drag behavior for a UIElement. + + Mature + + + + Inherited code: Requires comment. + + + + + Inherited code: Requires comment. + + + + + Inherited code: Requires comment. + + + + + Create an instance of the DragValidator class. + + + UIElement that represents the source of the drag operation. + + + + + Handle the MouseMove event for the UIElement to update the drag + operation. + + Inherited code: Requires comment. + Inherited code: Requires comment 1. + + + + Handle the MouseLeftButtonUp event for the UIElement to complete the + drag operation. + + Inherited code: Requires comment. + Inherited code: Requires comment 1. + + + + Handle the MouseLeftButtonDown event for the UIElement to start a + drag operation. + + Inherited code: Requires comment. + Inherited code: Requires comment 1. + + + + Invoke the DragStartedEvent handlers. + + + + + Invoke the DragDeltaEvent handlers. + + Inherited code: Requires comment. + + + + Invoke the DragCompletedEvent handlers. + + Inherited code: Requires comment. + Inherited code: Requires comment 1. + + + + Occurs when a drag operation has started. + + + + + Occurs when a drag operation has completed. + + + + + Occurs when a drag operation has progressed. + + + + + Represents a control that redistributes space between the rows of + columns of a control. + + Mature + + Represents the control that redistributes space between columns or rows + of a Grid control. + + Mature + + Represents the control that redistributes space between columns or rows + of a Grid control. + + Mature + + Represents the control that redistributes space between columns or rows + of a Grid control. + + Mature + + Represents the control that redistributes space between columns or rows + of a Grid control. + + Mature + + Represents the control that redistributes space between columns or rows + of a Grid control. + + Mature + + Represents the control that redistributes space between columns or rows + of a Grid control. + + Mature + + Represents the control that redistributes space between columns or rows + of a Grid control. + + Mature + + + + Inherited code: Requires comment. + + + + + Inherited code: Requires comment. + + + + + Default increment parameter. + + + + + Default increment parameter. + + + + + Identifies the + + dependency property. + + + An identifier for the + + dependency property. + + + + + Identifies the + + dependency property. + + + An identifier for the + + dependency property. + + + + + Called when the IsEnabled property changes. + + Sender object. + Property changed args. + + + + Is Null until a resize operation is initiated with ShowsPreview == + True, then it persists for the life of the GridSplitter. + + + + + Is initialized in the constructor. + + + + + Inherited code: Requires comment. + + + + + Holds the state for whether the mouse is over the control or not. + + + + + Initializes a new instance of the + class. + + + + + Builds the visual tree for the + + control when a new template is applied. + + + + + Returns a + + for use by the Silverlight automation infrastructure. + + + A + + for the + object. + + + + + Method to change the visual state of the control. + + + + + Change to the correct visual state for the GridSplitter. + + + True to use transitions when updating the visual state, false to + snap directly to the new visual state. + + + + + Handle the drag completed event to commit or cancel the resize + operation in progress. + + Inherited code: Requires comment. + Inherited code: Requires comment 1. + + + + Handle the drag delta event to update the UI for the resize + operation in progress. + + Inherited code: Requires comment. + Inherited code: Requires comment 1. + + + + Handle the drag started event to start a resize operation if the + control is enabled. + + Inherited code: Requires comment. + Inherited code: Requires comment 1. + + + + Handle the key down event to allow keyboard resizing or canceling a + resize operation. + + Inherited code: Requires comment. + Inherited code: Requires comment 1. + + + + Initialize the resize data and move the splitter by the specified + amount. + + + Horizontal amount to move the splitter. + + + Vertical amount to move the splitter. + + Inherited code: Requires comment. + + + + Called by keyboard event handler to move the splitter if allowed. + + + Horizontal amount to move the splitter. + + + Vertical amount to move the splitter. + + Inherited code: Requires comment. + + + + Creates the preview layer and adds it to the parent grid. + + Grid to add the preview layer to. + + + + Add the preview layer to the Grid if it is not there already and + then show the preview control. + + + + + Remove the preview control from the preview layer if it exists. + + + + + Initialize the resizeData object to hold the information for the + resize operation in progress. + + + Whether or not the preview should be shown. + + + + + Move the splitter and resize the affected columns or rows. + + + Amount to resize horizontally. + + + Amount to resize vertically. + + + Only one of horizontalChange or verticalChange will be non-zero. + + + + + Determine which adjacent column or row definitions need to be + included in the resize operation and set up resizeData accordingly. + + True if it is a valid resize operation. + + + + Cancel the resize operation in progress. + + + + + Get the actual length of the given definition. + + + Row or column definition to get the actual length for. + + + Height of a row definition or width of a column definition. + + + + + Determine the max and min that the two definitions can be resized. + + Inherited code: Requires comment. + + + + Determine the resize behavior based on the given direction and + alignment. + + Inherited code: Requires comment. + Inherited code: Requires comment 1. + + + + Determine the resize direction based on the horizontal and vertical + alignments. + + Inherited code: Requires comment. + + + + Create a DefinitionAbstraction instance for the given row or column + index in the grid. + + Inherited code: Requires comment. + Inherited code: Requires comment 1. + Inherited code: Requires comment 2. + Inherited code: Requires comment 3. + + + + Set the lengths of the two definitions depending on the split + behavior. + + + Inherited code: Requires comment. + + + Inherited code: Requires comment 1. + + + + + Set the height/width of the given row/column. + + Inherited code: Requires comment. + Inherited code: Requires comment 1. + + + + Determine if the given definition has its size set to the "*" value. + + Inherited code: Requires comment. + Inherited code: Requires comment 1. + + + + This code will run whenever the effective resize direction changes, + to update the template being used to display this control. + + + + + Exposes test hooks to unit tests with internal access. + + + + + Gets or sets Inherited code: Requires comment. + + + + + Gets or sets Inherited code: Requires comment. + + + + + Gets or sets the resize data. This is null unless a resize + operation is in progress. + + + + + Gets or sets a value indicating whether the + displays a + preview. + + + True if a preview is displayed; otherwise, false. + + + + + Gets or sets the that is used + for previewing changes. + + + The style that is used to preview changes. + + + + + Gets a value indicating whether or not the control has keyboard + focus. + + + + + Gets a test hook for unit tests with internal access. + + + + + Pretends to be the base class for RowDefinition and ClassDefinition + types so that objects of either type can be treated as one. + + Mature + + + + Creates an instance of the DefinitionAbstraction class based on + the given row or column definition. + + + RowDefinition or ColumnDefinition instance. + + + + + Gets the stored definition cast as a row definition. + + Null if not a RowDefinition. + + + + Gets the stored definition cast as a column definition. + + Null if not a ColumnDefinition. + + + + Gets the MaxHeight/MaxWidth for the row/column. + + + + + Gets the MinHeight/MinWidth for the row/column. + + + + + Gets the Height/Width for the row/column. + + + + + A collection of helper methods for working with double data types. + + Mature + + + + Epsilon is the smallest value such that 1.0+epsilon != 1.0. It + can be used to determine the acceptable tolerance for rounding + errors. + + + Epsilon is normally 2.2204460492503131E-16, but Silverlight 2 + uses floats so the effective epsilon is really 1.192093E-07. + + + + + Inherited code: Requires comment. + + + + + Determine if the two doubles are effectively equal within + tolerances. + + Inherited code: Requires comment. + Inherited code: Requires comment 1. + Inherited code: Requires comment 2. + + + + Inherited code: Requires comment. + + Mature + + + + Inherited code: Requires comment. + + + + + Inherited code: Requires comment. + + + + + Inherited code: Requires comment. + + + + + Inherited code: Requires comment. + + + + + Inherited code: Requires comment. + + Mature + + + + Inherited code: Requires comment. + + + + + Inherited code: Requires comment. + + + + + Inherited code: Requires comment. + + + + + Type to hold the data for the resize operation in progress. + + Mature + + + + Gets or sets Inherited code: Requires comment. + + + + + Gets or sets Inherited code: Requires comment. + + + + + Gets or sets Inherited code: Requires comment. + + + + + Gets or sets Inherited code: Requires comment. + + + + + Gets or sets Inherited code: Requires comment. + + + + + Gets or sets Inherited code: Requires comment. + + + + + Gets or sets Inherited code: Requires comment. + + + + + Gets or sets Inherited code: Requires comment. + + + + + Gets or sets Inherited code: Requires comment. + + + + + Gets or sets Inherited code: Requires comment. + + + + + Gets or sets Inherited code: Requires comment. + + + + + Gets or sets Inherited code: Requires comment. + + + + + Gets or sets Inherited code: Requires comment. + + + + + Gets or sets Inherited code: Requires comment. + + + + + Gets or sets a value indicating whether Inherited code: Requires comment. + + + + + Gets or sets Inherited code: Requires comment. + + + + + Gets or sets Inherited code: Requires comment. + + + + + Gets or sets Inherited code: Requires comment. + + + + + Inherited code: Requires comment. + + Mature + + + + Inherited code: Requires comment. + + + + + Inherited code: Requires comment. + + + + + Inherited code: Requires comment. + + + + + Expose test hooks for internal and private members of the + GridSplitter. + + + + + Reference to the outer 'parent' GridSplitter. + + + + + Initializes a new instance of the InternalTestHook class. + + The grid splitter to hook. + + + + Simulate the DragValidator's DragCompleted event. + + The sender. + Event arguments. + + + + Simulate the DragValidator's DragDelta event. + + The sender. + Event arguments. + + + + Simulate the DragValidator's DragStarted event. + + The sender. + Event arguments. + + + + Simulate using the keyboard to move the splitter. + + Horizontal change. + Vertical change. + + A value indicating whether the splitter was moved. + + + + + Gets the GridSplitter's GridResizeDirection. + + + + + Gets the GridSplitter's PreviewLayer. + + + + + Gets the GridSplitter's ResizeData. + + + + + Exposes types to + UI automation. + + Mature + + + + Initializes a new instance of the + + class. + + + The to + associate with the + . + + + + + Gets the control type for the element that is associated with the UI + Automation peer. + + The control type. + + + + Called by GetClassName that gets a human readable name that, in + addition to AutomationControlType, differentiates the control + represented by this AutomationPeer. + + The string that contains the name. + + + + Gets the control pattern for the + that is + associated with this + . + + + One of the enumeration values. + + + The object that implements the pattern interface, or null if the + specified pattern interface is not implemented by this peer. + + + + + Moves the control. + + + Absolute screen coordinates of the left side of the control. + + + Absolute screen coordinates of the top of the control. + + + + + Resizes the control. + + The new width of the window, in pixels. + + The new height of the window, in pixels. + + + + + Rotates the control. + + + The number of degrees to rotate the control. A positive number + rotates clockwise; a negative number rotates counterclockwise. + + + + + Gets a value indicating whether the control can be moved. + + + True if the element can be moved; otherwise, false. + + + + + Gets a value indicating whether the UI automation element can be + resized. + + + True if the element can be resized; otherwise, false. + + + + + Gets a value indicating whether the control can be rotated. + + + True if the element can be rotated; otherwise, false. + + + + + Represents the control that shows a preview of the GridSplitter's + redistribution of space between columns or rows of a Grid control. + + Mature + + + + Inherited code: Requires comment. + + + + + Inherited code: Requires comment. + + + + + Is Null until the PreviewControl is bound to a GridSplitter. + + + + + Tracks the bound GridSplitter's location for calculating the + PreviewControl's offset. + + + + + Instantiate the PreviewControl. + + + + + Called when template should be applied to the control. + + + + + Bind the the dimensions of the preview control to the associated + grid splitter. + + GridSplitter instance to target. + + + + Gets or sets Inherited code: Requires comment. + + + + + Gets or sets Inherited code: Requires comment. + + + + + Gets or sets the x-axis offset for the underlying render transform. + + + + + Gets or sets the y-axis offset for the underlying render transform. + + + + + Exposes types to UI + automation. + + Stable + + + + Initializes a new instance of the + + class. + + + The to associate + with the + . + + + + + Gets the control type for the + that is associated + with this + . + This method is called by + . + + + The + + enumeration value. + + + + + Gets the name of the + that is associated + with + . + This method is called by + . + + A string that contains TreeView. + + + + Gets a control pattern for the + that is associated + with this + . + + + One of the enumeration values that indicates the control pattern. + + + The object that implements the pattern interface, or null if the + specified pattern interface is not implemented by this peer. + + + + + Gets the collection of child elements of the + that is associated + with this + . + + The collection of child elements. + + + + Retrieves a UI automation provider for each child element that is + selected. + + An array of UI automation providers. + + This API supports the .NET Framework infrastructure and is not + intended to be used directly from your code. + + + + + Gets the TreeView that owns this TreeViewAutomationPeer. + + + + + Gets a value indicating whether the UI automation provider + allows more than one child element to be selected at the same time. + + + True if multiple selection is allowed; otherwise, false. + + + This API supports the .NET Framework infrastructure and is not + intended to be used directly from your code. + + + + + Gets a value indicating whether the UI automation provider + requires at least one child element to be selected. + + + True if selection is required; otherwise, false. + + + This API supports the .NET Framework infrastructure and is not + intended to be used directly from your code. + + + + + Exposes the items in + types to UI + automation. + + Stable + + + + Initializes a new instance of the + + class. + + + The instance + to associate with this + . + + + + + Gets the control type for the + that is + associated with this + . + This method is called by + . + + + The + + enumeration value. + + + + + Gets the name of the + that is + associated with this + . + This method is called by + . + + A string that contains TreeViewItem. + + + + Gets the control pattern for the + that is + associated with this + . + + + One of the enumeration values. + + + The object that implements the pattern interface, or null if the + specified pattern interface is not implemented by this peer. + + + + + Raise the IsSelected property changed event. + + + A value indicating whether the TreeViewItem is selected. + + + + + Raise an automation event when a TreeViewItem is expanded or + collapsed. + + + A value indicating whether the TreeViewItem was expanded. + + + A value indicating whether the TreeViewItem is expanded. + + + + + Displays all child nodes, controls, or content of the control. + + + This API supports the .NET Framework infrastructure and is not + intended to be used directly from your code. + + + + + Hides all nodes, controls, or content that are descendants of the + control. + + + This API supports the .NET Framework infrastructure and is not + intended to be used directly from your code. + + + + + Adds the current element to the collection of selected items. + + + This API supports the .NET Framework infrastructure and is not + intended to be used directly from your code. + + + + + Clears any selection and then selects the current element. + + + This API supports the .NET Framework infrastructure and is not + intended to be used directly from your code. + + + + + Removes the current element from the collection of selected items. + + + This API supports the .NET Framework infrastructure and is not + intended to be used directly from your code. + + + + + Scrolls the content area of a container object in order to display + the control within the visible region (viewport) of the container. + + + This API supports the .NET Framework infrastructure and is not + intended to be used directly from your code. + + + + + Gets the TreeViewItem that owns this TreeViewItemAutomationPeer. + + + + + Gets the state (expanded or collapsed) of the control. + + + The state (expanded or collapsed) of the control. + + + This API supports the .NET Framework infrastructure and is not + intended to be used directly from your code. + + + + + Gets a value indicating whether an item is selected. + + True if an item is selected; otherwise, false. + + This API supports the .NET Framework infrastructure and is not + intended to be used directly from your code. + + + + + Gets the UI automation provider that implements + + and acts as the container for the calling object. + + The UI automation provider. + + This API supports the .NET Framework infrastructure and is not + intended to be used directly from your code. + + + + + A specialized data template selector. + + + + + Initializes a new instance of the DataTemplateSelector type. + + + + + Convert a value to a data template. + + The value. + The target parameter. + ConverterParameter value. + The culture parameter. + Returns the object. + + + + No 2-way databinding support. + + The value. + The target parameter. + ConverterParameter value. + The culture parameter. + Returns the object. + + + + Gets or sets the default data template. + + + + + Gets or sets the test method template. + + + + + Gets or sets the test class template. + + + + + A specialized bool inversion selector. + + + + + Initializes a new instance of the InvertValueConverter class. + + + + + Convert a value to its opposite. Defines that null value will also + return false. + + The value. + The target parameter. + ConverterParameter value. + The culture parameter. + Returns the object. + + + + No 2-way databinding support. + + The value. + The target parameter. + ConverterParameter value. + The culture parameter. + Returns the object. + + + + A notification type for use in the Notifications ItemsControl. + + + + + Name of the template part. + + + + + Identifies the Title dependency property. + + + + + Identifies the CloseButtonVisibility dependency property. + + + + + Backing field for the close button. + + + + + Initializes a new instance of the Notification class. + + + + + Fires the Closed event. + + The event data. + + + + Overrides the on apply template method. + + + + + Connects to the Click event of the Close button. + + The source object. + The event arguments. + + + + Gets or sets the title of the notification. + + + + + Gets or sets the visibility of the close button. + + + + + Closed event that connects to the close button of the notification. + + + + + A class that contains notification information. + + + + + Initialize a new intance of the Notifications type. + + + + + Overrides the on apply template method. + + + + + Adds a notification object to the set of notifications. Connects the + close button handler to automatically remove the notification from + the visual tree. + + A notification instance. + + + + Handles the Closed event from the notification and removes the + child. + + The source object. + The event data. + + + + This class contains information about the test application and its + deployment settings. + + + + + Initializes a new instance of the class. + + + + + Handles the install state changed event. + + The source object. + The event arguments. + + + + Backing field for an installed property. + + + + + Gets a value indicating whether the test application is currently + installed out of browser. + + + + + Gets the text to show the user the state of the out of browser test + application. + + + + + Gets a value indicating whether out of browser is both supported and + not currently installed. + + + + + Gets a value indicating whether out of browser is supported by this + test application. + + + + + A simple implementation similar to XElement. + + + + + Backing field for child elements. + + + + + Backing field for attributes. + + + + + Backing field for the element name. + + + + + Backing field for optional XML namespace. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the element. + + The name of the element. + + + + Initializes a new instance of the element. + + The name of the element. + The XML namespace of the element. + + + + Initializes a new instance of the class using the reader as the + current root of the element. + + The XmlReader instance. + + + + Sets the value of a new child element. + + The element name. + The value of the new element. + + + + Sets the value of a new child element with an XML namespace value. + + The element name. + The value of the new element. + The XML namespace. + + + + Sets the value of an attribute. + + The attribute name. + The attribute value. + + + + Sets the value of the element. + + The new string value. + + + + Gets an attribute value. + + The attribute name. + Returns an instance of the attribute value. + + + + Adds a child element to the simple element instance. + + The child element instance. + + + + Returns descendants. + + The element name to look for. + Returns an enumeration of elements. + + + + Creates a new SimpleXElement. + + XML content. + Returns a new instance of the element and children. + + + + Parses the current level with the XmlReader instance. + + The reader instance. + A value indicating whether this is the first + parse. Actually this will always be true for now. + + + + Generates the string representation of the element and its tree. + + Returns the string representation of the element. + + + + Writes to the XML writer without document start and ends. + + The writer instance. + + + + Gets the element name. + + + + + Gets or sets the element text, if any. + + + + diff --git a/lib/Microsoft.Silverlight.Testing/April2010/Microsoft.VisualStudio.QualityTools.UnitTesting.Silverlight.dll b/lib/Microsoft.Silverlight.Testing/April2010/Microsoft.VisualStudio.QualityTools.UnitTesting.Silverlight.dll new file mode 100644 index 0000000000..9313918b18 Binary files /dev/null and b/lib/Microsoft.Silverlight.Testing/April2010/Microsoft.VisualStudio.QualityTools.UnitTesting.Silverlight.dll differ diff --git a/lib/Microsoft.Silverlight.Testing/April2010/Microsoft.VisualStudio.QualityTools.UnitTesting.Silverlight.extmap.xml b/lib/Microsoft.Silverlight.Testing/April2010/Microsoft.VisualStudio.QualityTools.UnitTesting.Silverlight.extmap.xml new file mode 100644 index 0000000000..2410f71457 --- /dev/null +++ b/lib/Microsoft.Silverlight.Testing/April2010/Microsoft.VisualStudio.QualityTools.UnitTesting.Silverlight.extmap.xml @@ -0,0 +1,12 @@ + + + + Microsoft.VisualStudio.QualityTools.UnitTesting.Silverlight + 2.0.5.0 + 31bf3856ad364e35 + Microsoft.VisualStudio.QualityTools.UnitTesting.Silverlight.dll + + + + \ No newline at end of file diff --git a/lib/Microsoft.Silverlight.Testing/April2010/Microsoft.VisualStudio.QualityTools.UnitTesting.Silverlight.pdb b/lib/Microsoft.Silverlight.Testing/April2010/Microsoft.VisualStudio.QualityTools.UnitTesting.Silverlight.pdb new file mode 100644 index 0000000000..6096960ba5 Binary files /dev/null and b/lib/Microsoft.Silverlight.Testing/April2010/Microsoft.VisualStudio.QualityTools.UnitTesting.Silverlight.pdb differ diff --git a/lib/Microsoft.Silverlight.Testing/April2010/Microsoft.VisualStudio.QualityTools.UnitTesting.Silverlight.xml b/lib/Microsoft.Silverlight.Testing/April2010/Microsoft.VisualStudio.QualityTools.UnitTesting.Silverlight.xml new file mode 100644 index 0000000000..0b84c0ae7d --- /dev/null +++ b/lib/Microsoft.Silverlight.Testing/April2010/Microsoft.VisualStudio.QualityTools.UnitTesting.Silverlight.xml @@ -0,0 +1,3429 @@ + + + + Microsoft.VisualStudio.QualityTools.UnitTesting.Silverlight + + + + + UrlToTest specifies the url that should be requested to give context to the test. + + + + + An unused attribute. + + + + + + Gets the URL to test. + + + + + AspNetDevelopmentServer specifies the settings to be used for the + ASP.NET Development Server for the test. + + + + + Initializes the AspNetDevelopmentServerAttribute. + + The name. + The path to web app. + + + + Initializes the AspNetDevelopmentServerAttribute. + + The name. + The path to web app. + The web app root. + + + + Gets the name. + + + + + Gets the PathToWebApp. + + + + + Gets the web app root. + + + + + AspNetDevelopmentServerHost specifies the settings to be used when + ASP.NET Development Server is the host server for the test. + + + + + Initializes the AspNetDevelopmentServerHostAttribute. + + The path to the web app. + + + + Initializes the AspNetDevelopmentServerHostAttribute. + + The path to the web app. + The web app root. + + + + Gets the path to the web application. + + + + + Gets the WebAppRoot. + + + + + For ASP.NET sites that require basic authentication, specify the + user name and password using the Credential attribute. + WARNING: The password is stored in plain text in source code + and in the compiled assembly. Restrict access to the source code + and assembly to protect this sensitive information. + + + + + Specify the user name and password needed to access the web site under test. + + The user name. + + The password. WARNING: The password is stored in plain text in source code + and in the compiled assembly. Restrict access to the source code and assembly + to protect this sensitive information. + + + + + Specify the user name, password, and domain needed to access the web site under test. + + The user name. + + The password. WARNING: The password is stored in plain text in source code + and in the compiled assembly. Restrict access to the source code and assembly + to protect this sensitive information. + + The domain. + + + + Gets the user name. + + + + + Gets the password. + + + + + Gets the domain. + + + + + Base class for Framework Exceptions, provides localization trick so that messages are in HA locale. + + + + + Initializes a new UnitTestAssertException. + + + + + Initializes UnitTestAssertException. + + The message. + + + + Gets the Message string. + + + + + AssertFailedException class. Used to indicate failure for a test case + + + + + Initializes a new AssertFailedException. + + The message. + + + + AssertFailedException + + The message. + The inner exception. + + + + The AssertInconclusiveException class. + + + + + Initializes a new AssertInconclusiveException. + + The message. + + + + Initializes a new AssertInconclusiveException. + + The message. + The inner exception. + + + + Initializes a new AssertInconclusiveException. + + + + + InternalTestFailureException class. Used to indicate internal failure + for a test case. + + + + + Initializes a new InternalTestFailureException. + + The message. + + + + Initializes a new InternalTestFailureException. + + The message. + The inner exception. + + + + Initializes a new InternalTestFailureException. + + + + + A collection of helper classes to test various conditions within + unit tests. If the condition being tested is not met, an exception + is thrown. + + + + + + + + + + Tests whether the specified condition is true and throws an exception + if the condition is false. + + The condition the test expects to be true. + + Thrown if is false. + + + + + Tests whether the specified condition is true and throws an exception + if the condition is false. + + The condition the test expects to be true. + + The message to include in the exception when + is false. The message is shown in test results. + + + Thrown if is false. + + + + + Tests whether the specified condition is true and throws an exception + if the condition is false. + + The condition the test expects to be true. + + The message to include in the exception when + is false. The message is shown in test results. + + + An array of parameters to use when formatting . + + + Thrown if is false. + + + + + Tests whether the specified condition is false and throws an exception + if the condition is true. + + The condition the test expects to be false. + + Thrown if is true. + + + + + Tests whether the specified condition is false and throws an exception + if the condition is true. + + The condition the test expects to be false. + + The message to include in the exception when + is true. The message is shown in test results. + + + Thrown if is true. + + + + + Tests whether the specified condition is false and throws an exception + if the condition is true. + + The condition the test expects to be false. + + The message to include in the exception when + is true. The message is shown in test results. + + + An array of parameters to use when formatting . + + + Thrown if is true. + + + + + Tests whether the specified object is null and throws an exception + if it is not. + + The object the test expects to be null. + + Thrown if is not null. + + + + + Tests whether the specified object is null and throws an exception + if it is not. + + The object the test expects to be null. + + The message to include in the exception when + is not null. The message is shown in test results. + + + Thrown if is not null. + + + + + Tests whether the specified object is null and throws an exception + if it is not. + + The object the test expects to be null. + + The message to include in the exception when + is not null. The message is shown in test results. + + + An array of parameters to use when formatting . + + + Thrown if is not null. + + + + + Tests whether the specified object is non-null and throws an exception + if it is null. + + The object the test expects not to be null. + + Thrown if is null. + + + + + Tests whether the specified object is non-null and throws an exception + if it is null. + + The object the test expects not to be null. + + The message to include in the exception when + is null. The message is shown in test results. + + + Thrown if is null. + + + + + Tests whether the specified object is non-null and throws an exception + if it is null. + + The object the test expects not to be null. + + The message to include in the exception when + is null. The message is shown in test results. + + + An array of parameters to use when formatting . + + + Thrown if is null. + + + + + Tests whether the specified objects both refer to the same object and + throws an exception if the two inputs do not refer to the same object. + + + The first object to compare. This is the value the test expects. + + + The second object to compare. This is the value produced by the code under test. + + + Thrown if does not refer to the same object + as . + + + + + Tests whether the specified objects both refer to the same object and + throws an exception if the two inputs do not refer to the same object. + + + The first object to compare. This is the value the test expects. + + + The second object to compare. This is the value produced by the code under test. + + + The message to include in the exception when + is not the same as . The message is shown + in test results. + + + Thrown if does not refer to the same object + as . + + + + + Tests whether the specified objects both refer to the same object and + throws an exception if the two inputs do not refer to the same object. + + + The first object to compare. This is the value the test expects. + + + The second object to compare. This is the value produced by the code under test. + + + The message to include in the exception when + is not the same as . The message is shown + in test results. + + + An array of parameters to use when formatting . + + + Thrown if does not refer to the same object + as . + + + + + Tests whether the specified objects refer to different objects and + throws an exception if the two inputs refer to the same object. + + + The first object to compare. This is the value the test expects not + to match . + + + The second object to compare. This is the value produced by the code under test. + + + Thrown if refers to the same object + as . + + + + + Tests whether the specified objects refer to different objects and + throws an exception if the two inputs refer to the same object. + + + The first object to compare. This is the value the test expects not + to match . + + + The second object to compare. This is the value produced by the code under test. + + + The message to include in the exception when + is the same as . The message is shown in + test results. + + + Thrown if refers to the same object + as . + + + + + Tests whether the specified objects refer to different objects and + throws an exception if the two inputs refer to the same object. + + + The first object to compare. This is the value the test expects not + to match . + + + The second object to compare. This is the value produced by the code under test. + + + The message to include in the exception when + is the same as . The message is shown in + test results. + + + An array of parameters to use when formatting . + + + Thrown if refers to the same object + as . + + + + + Tests whether the specified values are equal and throws an exception + if the two values are not equal. Different numeric types are treated + as unequal even if the logical values are equal. 42L is not equal to 42. + + The type of values to compare. + + The first value to compare. This is the value the tests expects. + + + The second value to compare. This is the value produced by the code under test. + + + Thrown if is not equal to + . + + + + + Tests whether the specified values are equal and throws an exception + if the two values are not equal. Different numeric types are treated + as unequal even if the logical values are equal. 42L is not equal to 42. + + The type of values to compare. + + The first value to compare. This is the value the tests expects. + + + The second value to compare. This is the value produced by the code under test. + + + The message to include in the exception when + is not equal to . The message is shown in + test results. + + + Thrown if is not equal to + . + + + + + Tests whether the specified values are equal and throws an exception + if the two values are not equal. Different numeric types are treated + as unequal even if the logical values are equal. 42L is not equal to 42. + + The type of values to compare. + + The first value to compare. This is the value the tests expects. + + + The second value to compare. This is the value produced by the code under test. + + + The message to include in the exception when + is not equal to . The message is shown in + test results. + + + An array of parameters to use when formatting . + + + Thrown if is not equal to + . + + + + + Tests whether the specified values are unequal and throws an exception + if the two values are equal. Different numeric types are treated + as unequal even if the logical values are equal. 42L is not equal to 42. + + The type of values to compare. + + The first value to compare. This is the value the test expects not + to match . + + + The second value to compare. This is the value produced by the code under test. + + + Thrown if is equal to . + + + + + Tests whether the specified values are unequal and throws an exception + if the two values are equal. Different numeric types are treated + as unequal even if the logical values are equal. 42L is not equal to 42. + + The type of values to compare. + + The first value to compare. This is the value the test expects not + to match . + + + The second value to compare. This is the value produced by the code under test. + + + The message to include in the exception when + is equal to . The message is shown in + test results. + + + Thrown if is equal to . + + + + + Tests whether the specified values are unequal and throws an exception + if the two values are equal. Different numeric types are treated + as unequal even if the logical values are equal. 42L is not equal to 42. + + The type of values to compare. + + The first value to compare. This is the value the test expects not + to match . + + + The second value to compare. This is the value produced by the code under test. + + + The message to include in the exception when + is equal to . The message is shown in + test results. + + + An array of parameters to use when formatting . + + + Thrown if is equal to . + + + + + Tests whether the specified objects are equal and throws an exception + if the two objects are not equal. Different numeric types are treated + as unequal even if the logical values are equal. 42L is not equal to 42. + + + The first object to compare. This is the object the tests expects. + + + The second object to compare. This is the object produced by the code under test. + + + Thrown if is not equal to + . + + + + + Tests whether the specified objects are equal and throws an exception + if the two objects are not equal. Different numeric types are treated + as unequal even if the logical values are equal. 42L is not equal to 42. + + + The first object to compare. This is the object the tests expects. + + + The second object to compare. This is the object produced by the code under test. + + + The message to include in the exception when + is not equal to . The message is shown in + test results. + + + Thrown if is not equal to + . + + + + + Tests whether the specified objects are equal and throws an exception + if the two objects are not equal. Different numeric types are treated + as unequal even if the logical values are equal. 42L is not equal to 42. + + + The first object to compare. This is the object the tests expects. + + + The second object to compare. This is the object produced by the code under test. + + + The message to include in the exception when + is not equal to . The message is shown in + test results. + + + An array of parameters to use when formatting . + + + Thrown if is not equal to + . + + + + + Tests whether the specified objects are unequal and throws an exception + if the two objects are equal. Different numeric types are treated + as unequal even if the logical values are equal. 42L is not equal to 42. + + + The first object to compare. This is the value the test expects not + to match . + + + The second object to compare. This is the object produced by the code under test. + + + Thrown if is equal to . + + + + + Tests whether the specified objects are unequal and throws an exception + if the two objects are equal. Different numeric types are treated + as unequal even if the logical values are equal. 42L is not equal to 42. + + + The first object to compare. This is the value the test expects not + to match . + + + The second object to compare. This is the object produced by the code under test. + + + The message to include in the exception when + is equal to . The message is shown in + test results. + + + Thrown if is equal to . + + + + + Tests whether the specified objects are unequal and throws an exception + if the two objects are equal. Different numeric types are treated + as unequal even if the logical values are equal. 42L is not equal to 42. + + + The first object to compare. This is the value the test expects not + to match . + + + The second object to compare. This is the object produced by the code under test. + + + The message to include in the exception when + is equal to . The message is shown in + test results. + + + An array of parameters to use when formatting . + + + Thrown if is equal to . + + + + + Tests whether the specified floats are equal and throws an exception + if they are not equal. + + + The first float to compare. This is the float the tests expects. + + + The second float to compare. This is the float produced by the code under test. + + + The required accuracy. An exception will be thrown only if + is different than + by more than . + + + Thrown if is not equal to + . + + + + + Tests whether the specified floats are equal and throws an exception + if they are not equal. + + + The first float to compare. This is the float the tests expects. + + + The second float to compare. This is the float produced by the code under test. + + + The required accuracy. An exception will be thrown only if + is different than + by more than . + + + The message to include in the exception when + is different than by more than + . The message is shown in test results. + + + Thrown if is not equal to + . + + + + + Tests whether the specified floats are equal and throws an exception + if they are not equal. + + + The first float to compare. This is the float the tests expects. + + + The second float to compare. This is the float produced by the code under test. + + + The required accuracy. An exception will be thrown only if + is different than + by more than . + + + The message to include in the exception when + is different than by more than + . The message is shown in test results. + + + An array of parameters to use when formatting . + + + Thrown if is not equal to + . + + + + + Tests whether the specified floats are unequal and throws an exception + if they are equal. + + + The first float to compare. This is the float the test expects not to + match . + + + The second float to compare. This is the float produced by the code under test. + + + The required accuracy. An exception will be thrown only if + is different than + by at most . + + + Thrown if is equal to . + + + + + Tests whether the specified floats are unequal and throws an exception + if they are equal. + + + The first float to compare. This is the float the test expects not to + match . + + + The second float to compare. This is the float produced by the code under test. + + + The required accuracy. An exception will be thrown only if + is different than + by at most . + + + The message to include in the exception when + is equal to or different by less than + . The message is shown in test results. + + + Thrown if is equal to . + + + + + Tests whether the specified floats are unequal and throws an exception + if they are equal. + + + The first float to compare. This is the float the test expects not to + match . + + + The second float to compare. This is the float produced by the code under test. + + + The required accuracy. An exception will be thrown only if + is different than + by at most . + + + The message to include in the exception when + is equal to or different by less than + . The message is shown in test results. + + + An array of parameters to use when formatting . + + + Thrown if is equal to . + + + + + Tests whether the specified doubles are equal and throws an exception + if they are not equal. + + + The first double to compare. This is the double the tests expects. + + + The second double to compare. This is the double produced by the code under test. + + + The required accuracy. An exception will be thrown only if + is different than + by more than . + + + Thrown if is not equal to + . + + + + + Tests whether the specified doubles are equal and throws an exception + if they are not equal. + + + The first double to compare. This is the double the tests expects. + + + The second double to compare. This is the double produced by the code under test. + + + The required accuracy. An exception will be thrown only if + is different than + by more than . + + + The message to include in the exception when + is different than by more than + . The message is shown in test results. + + + Thrown if is not equal to + . + + + + + Tests whether the specified doubles are equal and throws an exception + if they are not equal. + + + The first double to compare. This is the double the tests expects. + + + The second double to compare. This is the double produced by the code under test. + + + The required accuracy. An exception will be thrown only if + is different than + by more than . + + + The message to include in the exception when + is different than by more than + . The message is shown in test results. + + + An array of parameters to use when formatting . + + + Thrown if is not equal to + . + + + + + Tests whether the specified doubles are unequal and throws an exception + if they are equal. + + + The first double to compare. This is the double the test expects not to + match . + + + The second double to compare. This is the double produced by the code under test. + + + The required accuracy. An exception will be thrown only if + is different than + by at most . + + + Thrown if is equal to . + + + + + Tests whether the specified doubles are unequal and throws an exception + if they are equal. + + + The first double to compare. This is the double the test expects not to + match . + + + The second double to compare. This is the double produced by the code under test. + + + The required accuracy. An exception will be thrown only if + is different than + by at most . + + + The message to include in the exception when + is equal to or different by less than + . The message is shown in test results. + + + Thrown if is equal to . + + + + + Tests whether the specified doubles are unequal and throws an exception + if they are equal. + + + The first double to compare. This is the double the test expects not to + match . + + + The second double to compare. This is the double produced by the code under test. + + + The required accuracy. An exception will be thrown only if + is different than + by at most . + + + The message to include in the exception when + is equal to or different by less than + . The message is shown in test results. + + + An array of parameters to use when formatting . + + + Thrown if is equal to . + + + + + Tests whether the specified strings are equal and throws an exception + if they are not equal. The invariant culture is used for the comparison. + + + The first string to compare. This is the string the tests expects. + + + The second string to compare. This is the string produced by the code under test. + + + A Boolean indicating a case-sensitive or insensitive comparison. (true + indicates a case-insensitive comparison.) + + + Thrown if is not equal to + . + + + + + Tests whether the specified strings are equal and throws an exception + if they are not equal. The invariant culture is used for the comparison. + + + The first string to compare. This is the string the tests expects. + + + The second string to compare. This is the string produced by the code under test. + + + A Boolean indicating a case-sensitive or insensitive comparison. (true + indicates a case-insensitive comparison.) + + + The message to include in the exception when + is not equal to . The message is shown in + test results. + + + Thrown if is not equal to + . + + + + + Tests whether the specified strings are equal and throws an exception + if they are not equal. The invariant culture is used for the comparison. + + + The first string to compare. This is the string the tests expects. + + + The second string to compare. This is the string produced by the code under test. + + + A Boolean indicating a case-sensitive or insensitive comparison. (true + indicates a case-insensitive comparison.) + + + The message to include in the exception when + is not equal to . The message is shown in + test results. + + + An array of parameters to use when formatting . + + + Thrown if is not equal to + . + + + + + Tests whether the specified strings are equal and throws an exception + if they are not equal. + + + The first string to compare. This is the string the tests expects. + + + The second string to compare. This is the string produced by the code under test. + + + A Boolean indicating a case-sensitive or insensitive comparison. (true + indicates a case-insensitive comparison.) + + + A CultureInfo object that supplies culture-specific comparison information. + + + Thrown if is not equal to + . + + + + + Tests whether the specified strings are equal and throws an exception + if they are not equal. + + + The first string to compare. This is the string the tests expects. + + + The second string to compare. This is the string produced by the code under test. + + + A Boolean indicating a case-sensitive or insensitive comparison. (true + indicates a case-insensitive comparison.) + + + A CultureInfo object that supplies culture-specific comparison information. + + + The message to include in the exception when + is not equal to . The message is shown in + test results. + + + Thrown if is not equal to + . + + + + + Tests whether the specified strings are equal and throws an exception + if they are not equal. + + + The first string to compare. This is the string the tests expects. + + + The second string to compare. This is the string produced by the code under test. + + + A Boolean indicating a case-sensitive or insensitive comparison. (true + indicates a case-insensitive comparison.) + + + A CultureInfo object that supplies culture-specific comparison information. + + + The message to include in the exception when + is not equal to . The message is shown in + test results. + + + An array of parameters to use when formatting . + + + Thrown if is not equal to + . + + + + + Tests whether the specified strings are unequal and throws an exception + if they are equal. The invariant culture is used for the comparison. + + + The first string to compare. This is the string the test expects not to + match . + + + The second string to compare. This is the string produced by the code under test. + + + A Boolean indicating a case-sensitive or insensitive comparison. (true + indicates a case-insensitive comparison.) + + + Thrown if is equal to . + + + + + Tests whether the specified strings are unequal and throws an exception + if they are equal. The invariant culture is used for the comparison. + + + The first string to compare. This is the string the test expects not to + match . + + + The second string to compare. This is the string produced by the code under test. + + + A Boolean indicating a case-sensitive or insensitive comparison. (true + indicates a case-insensitive comparison.) + + + The message to include in the exception when + is equal to . The message is shown in + test results. + + + Thrown if is equal to . + + + + + Tests whether the specified strings are unequal and throws an exception + if they are equal. The invariant culture is used for the comparison. + + + The first string to compare. This is the string the test expects not to + match . + + + The second string to compare. This is the string produced by the code under test. + + + A Boolean indicating a case-sensitive or insensitive comparison. (true + indicates a case-insensitive comparison.) + + + The message to include in the exception when + is equal to . The message is shown in + test results. + + + An array of parameters to use when formatting . + + + Thrown if is equal to . + + + + + Tests whether the specified strings are unequal and throws an exception + if they are equal. + + + The first string to compare. This is the string the test expects not to + match . + + + The second string to compare. This is the string produced by the code under test. + + + A Boolean indicating a case-sensitive or insensitive comparison. (true + indicates a case-insensitive comparison.) + + + A CultureInfo object that supplies culture-specific comparison information. + + + Thrown if is equal to . + + + + + Tests whether the specified strings are unequal and throws an exception + if they are equal. + + + The first string to compare. This is the string the test expects not to + match . + + + The second string to compare. This is the string produced by the code under test. + + + A Boolean indicating a case-sensitive or insensitive comparison. (true + indicates a case-insensitive comparison.) + + + A CultureInfo object that supplies culture-specific comparison information. + + + The message to include in the exception when + is equal to . The message is shown in + test results. + + + Thrown if is equal to . + + + + + Tests whether the specified strings are unequal and throws an exception + if they are equal. + + + The first string to compare. This is the string the test expects not to + match . + + + The second string to compare. This is the string produced by the code under test. + + + A Boolean indicating a case-sensitive or insensitive comparison. (true + indicates a case-insensitive comparison.) + + + A CultureInfo object that supplies culture-specific comparison information. + + + The message to include in the exception when + is equal to . The message is shown in + test results. + + + An array of parameters to use when formatting . + + + Thrown if is equal to . + + + + + Tests whether the specified object is an instance of the expected + type and throws an exception if the expected type is not in the + inheritance hierarchy of the object. + + + The object the test expects to be of the specified type. + + + The expected type of . + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + Tests whether the specified object is an instance of the expected + type and throws an exception if the expected type is not in the + inheritance hierarchy of the object. + + + The object the test expects to be of the specified type. + + + The expected type of . + + + The message to include in the exception when + is not an instance of . The message is + shown in test results. + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + Tests whether the specified object is an instance of the expected + type and throws an exception if the expected type is not in the + inheritance hierarchy of the object. + + + The object the test expects to be of the specified type. + + + The expected type of . + + + The message to include in the exception when + is not an instance of . The message is + shown in test results. + + + An array of parameters to use when formatting . + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + Tests whether the specified object is not an instance of the wrong + type and throws an exception if the specified type is in the + inheritance hierarchy of the object. + + + The object the test expects not to be of the specified type. + + + The type that should not be. + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + Tests whether the specified object is not an instance of the wrong + type and throws an exception if the specified type is in the + inheritance hierarchy of the object. + + + The object the test expects not to be of the specified type. + + + The type that should not be. + + + The message to include in the exception when + is an instance of . The message is shown + in test results. + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + Tests whether the specified object is not an instance of the wrong + type and throws an exception if the specified type is in the + inheritance hierarchy of the object. + + + The object the test expects not to be of the specified type. + + + The type that should not be. + + + The message to include in the exception when + is an instance of . The message is shown + in test results. + + + An array of parameters to use when formatting . + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + Throws an AssertFailedException. + + + Always thrown. + + + + + Throws an AssertFailedException. + + + The message to include in the exception. The message is shown in + test results. + + + Always thrown. + + + + + Throws an AssertFailedException. + + + The message to include in the exception. The message is shown in + test results. + + + An array of parameters to use when formatting . + + + Always thrown. + + + + + Throws an AssertInconclusiveException. + + + Always thrown. + + + + + Throws an AssertInconclusiveException. + + + The message to include in the exception. The message is shown in + test results. + + + Always thrown. + + + + + Throws an AssertInconclusiveException. + + + The message to include in the exception. The message is shown in + test results. + + + An array of parameters to use when formatting . + + + Always thrown. + + + + + Helper function that creates and throws an AssertionFailedException. + + name of the assertion throwing an exception. + message describing conditions for assertion failure. + The parameters. + + + + Checks the parameter for valid conditions + + The parameter. + The assertion name. + The parameter name. + The message. + The parameters. + + + + Safely converts an object to a string, handling null values and null characters. + Null values are converted to "(null)". Null characters are converted to "\\0". + + The object to convert to a string. + The converted string. + + + + Replaces null characters ('\0') with "\\0". + + The string to search. + The converted string with null characters replaced by "\\0". + + + + An exception from reflection will always be a TargetInvocationException - however + the goal of Private Accessors is to be seamless to the original code. + The only problem with throwing the inner exception is that the stack trace will + be overwritten. From here we register the stack trace of the inner exception + and then throw it. The Unit Test Adapter will then later rebuild the stack + from the cached shadow information plus the remaining stack from this throw. + + + + + + A collection of helper classes to test various conditions associated + with collections within unit tests. If the condition being tested is not + met, an exception is thrown. + + + + + Tests whether the specified collection contains the specified element + and throws an exception if the element is not in the collection. + + + The collection in which to search for the element. + + + The element that is expected to be in the collection. + + + Thrown if is not found in + . + + + + + Tests whether the specified collection contains the specified element + and throws an exception if the element is not in the collection. + + + The collection in which to search for the element. + + + The element that is expected to be in the collection. + + + The message to include in the exception when + is not in . The message is shown in + test results. + + + Thrown if is not found in + . + + + + + Tests whether the specified collection contains the specified element + and throws an exception if the element is not in the collection. + + + The collection in which to search for the element. + + + The element that is expected to be in the collection. + + + The message to include in the exception when + is not in . The message is shown in + test results. + + + An array of parameters to use when formatting . + + + Thrown if is not found in + . + + + + + Tests whether the specified collection does not contain the specified + element and throws an exception if the element is in the collection. + + + The collection in which to search for the element. + + + The element that is expected not to be in the collection. + + + Thrown if is found in + . + + + + + Tests whether the specified collection does not contain the specified + element and throws an exception if the element is in the collection. + + + The collection in which to search for the element. + + + The element that is expected not to be in the collection. + + + The message to include in the exception when + is in . The message is shown in test + results. + + + Thrown if is found in + . + + + + + Tests whether the specified collection does not contain the specified + element and throws an exception if the element is in the collection. + + + The collection in which to search for the element. + + + The element that is expected not to be in the collection. + + + The message to include in the exception when + is in . The message is shown in test + results. + + + An array of parameters to use when formatting . + + + Thrown if is found in + . + + + + + Tests whether all items in the specified collection are non-null and throws + an exception if any element is null. + + + The collection in which to search for null elements. + + + Thrown if a null element is found in . + + + + + Tests whether all items in the specified collection are non-null and throws + an exception if any element is null. + + + The collection in which to search for null elements. + + + The message to include in the exception when + contains a null element. The message is shown in test results. + + + Thrown if a null element is found in . + + + + + Tests whether all items in the specified collection are non-null and throws + an exception if any element is null. + + + The collection in which to search for null elements. + + + The message to include in the exception when + contains a null element. The message is shown in test results. + + + An array of parameters to use when formatting . + + + Thrown if a null element is found in . + + + + + Tests whether all items in the specified collection are unique or not and + throws if any two elements in the collection are equal. + + + The collection in which to search for duplicate elements. + + + Thrown if a two or more equal elements are found in + . + + + + + Tests whether all items in the specified collection are unique or not and + throws if any two elements in the collection are equal. + + + The collection in which to search for duplicate elements. + + + The message to include in the exception when + contains at least one duplicate element. The message is shown in + test results. + + + Thrown if a two or more equal elements are found in + . + + + + + Tests whether all items in the specified collection are unique or not and + throws if any two elements in the collection are equal. + + + The collection in which to search for duplicate elements. + + + The message to include in the exception when + contains at least one duplicate element. The message is shown in + test results. + + + An array of parameters to use when formatting . + + + Thrown if a two or more equal elements are found in + . + + + + + Tests whether one collection is a subset of another collection and + throws an exception if any element in the subset is not also in the + superset. + + + The collection expected to be a subset of . + + + The collection expected to be a superset of + + + Thrown if an element in is not found in + . + + + + + Tests whether one collection is a subset of another collection and + throws an exception if any element in the subset is not also in the + superset. + + + The collection expected to be a subset of . + + + The collection expected to be a superset of + + + The message to include in the exception when an element in + is not found in . + The message is shown in test results. + + + Thrown if an element in is not found in + . + + + + + Tests whether one collection is a subset of another collection and + throws an exception if any element in the subset is not also in the + superset. + + + The collection expected to be a subset of . + + + The collection expected to be a superset of + + + The message to include in the exception when an element in + is not found in . + The message is shown in test results. + + + An array of parameters to use when formatting . + + + Thrown if an element in is not found in + . + + + + + Tests whether one collection is not a subset of another collection and + throws an exception if all elements in the subset are also in the + superset. + + + The collection expected not to be a subset of . + + + The collection expected not to be a superset of + + + Thrown if every element in is also found in + . + + + + + Tests whether one collection is not a subset of another collection and + throws an exception if all elements in the subset are also in the + superset. + + + The collection expected not to be a subset of . + + + The collection expected not to be a superset of + + + The message to include in the exception when every element in + is also found in . + The message is shown in test results. + + + Thrown if every element in is also found in + . + + + + + Tests whether one collection is not a subset of another collection and + throws an exception if all elements in the subset are also in the + superset. + + + The collection expected not to be a subset of . + + + The collection expected not to be a superset of + + + The message to include in the exception when every element in + is also found in . + The message is shown in test results. + + + An array of parameters to use when formatting . + + + Thrown if every element in is also found in + . + + + + + Tests whether two collections contain the same elements and throws an + exception if either collection contains an element not in the other + collection. + + + The first collection to compare. This contains the elements the test + expects. + + + The second collection to compare. This is the collection produced by + the code under test. + + + Thrown if an element was found in one of the collections but not + the other. + + + + + Tests whether two collections contain the same elements and throws an + exception if either collection contains an element not in the other + collection. + + + The first collection to compare. This contains the elements the test + expects. + + + The second collection to compare. This is the collection produced by + the code under test. + + + The message to include in the exception when an element was found + in one of the collections but not the other. The message is shown + in test results. + + + Thrown if an element was found in one of the collections but not + the other. + + + + + Tests whether two collections contain the same elements and throws an + exception if either collection contains an element not in the other + collection. + + + The first collection to compare. This contains the elements the test + expects. + + + The second collection to compare. This is the collection produced by + the code under test. + + + The message to include in the exception when an element was found + in one of the collections but not the other. The message is shown + in test results. + + + An array of parameters to use when formatting . + + + Thrown if an element was found in one of the collections but not + the other. + + + + + Tests whether two collections contain the different elements and throws an + exception if the two collections contain identical elements without regard + to order. + + + The first collection to compare. This contains the elements the test + expects to be different than the actual collection. + + + The second collection to compare. This is the collection produced by + the code under test. + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + Tests whether two collections contain the different elements and throws an + exception if the two collections contain identical elements without regard + to order. + + + The first collection to compare. This contains the elements the test + expects to be different than the actual collection. + + + The second collection to compare. This is the collection produced by + the code under test. + + + The message to include in the exception when + contains the same elements as . The message + is shown in test results. + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + Tests whether two collections contain the different elements and throws an + exception if the two collections contain identical elements without regard + to order. + + + The first collection to compare. This contains the elements the test + expects to be different than the actual collection. + + + The second collection to compare. This is the collection produced by + the code under test. + + + The message to include in the exception when + contains the same elements as . The message + is shown in test results. + + + An array of parameters to use when formatting . + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + Tests whether all elements in the specified collection are instances + of the expected type and throws an exception if the expected type is + not in the inheritance hierarchy of one or more of the elements. + + + The collection containing elements the test expects to be of the + specified type. + + + The expected type of each element of . + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + Tests whether all elements in the specified collection are instances + of the expected type and throws an exception if the expected type is + not in the inheritance hierarchy of one or more of the elements. + + + The collection containing elements the test expects to be of the + specified type. + + + The expected type of each element of . + + + The message to include in the exception when an element in + is not an instance of + . The message is shown in test results. + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + Tests whether all elements in the specified collection are instances + of the expected type and throws an exception if the expected type is + not in the inheritance hierarchy of one or more of the elements. + + + The collection containing elements the test expects to be of the + specified type. + + + The expected type of each element of . + + + The message to include in the exception when an element in + is not an instance of + . The message is shown in test results. + + + An array of parameters to use when formatting . + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + Tests whether the specified collections are equal and throws an exception + if the two collections are not equal. Equality is defined as having the same + elements in the same order and quantity. Different references to the same + value are considered equal. + + + The first collection to compare. This is the collection the tests expects. + + + The second collection to compare. This is the collection produced by the + code under test. + + + Thrown if is not equal to + . + + + + + Tests whether the specified collections are equal and throws an exception + if the two collections are not equal. Equality is defined as having the same + elements in the same order and quantity. Different references to the same + value are considered equal. + + + The first collection to compare. This is the collection the tests expects. + + + The second collection to compare. This is the collection produced by the + code under test. + + + The message to include in the exception when + is not equal to . The message is shown in + test results. + + + Thrown if is not equal to + . + + + + + Tests whether the specified collections are equal and throws an exception + if the two collections are not equal. Equality is defined as having the same + elements in the same order and quantity. Different references to the same + value are considered equal. + + + The first collection to compare. This is the collection the tests expects. + + + The second collection to compare. This is the collection produced by the + code under test. + + + The message to include in the exception when + is not equal to . The message is shown in + test results. + + + An array of parameters to use when formatting . + + + Thrown if is not equal to + . + + + + + Tests whether the specified collections are unequal and throws an exception + if the two collections are equal. Equality is defined as having the same + elements in the same order and quantity. Different references to the same + value are considered equal. + + + The first collection to compare. This is the collection the tests expects + not to match . + + + The second collection to compare. This is the collection produced by the + code under test. + + + Thrown if is equal to . + + + + + Tests whether the specified collections are unequal and throws an exception + if the two collections are equal. Equality is defined as having the same + elements in the same order and quantity. Different references to the same + value are considered equal. + + + The first collection to compare. This is the collection the tests expects + not to match . + + + The second collection to compare. This is the collection produced by the + code under test. + + + The message to include in the exception when + is equal to . The message is shown in + test results. + + + Thrown if is equal to . + + + + + Tests whether the specified collections are unequal and throws an exception + if the two collections are equal. Equality is defined as having the same + elements in the same order and quantity. Different references to the same + value are considered equal. + + + The first collection to compare. This is the collection the tests expects + not to match . + + + The second collection to compare. This is the collection produced by the + code under test. + + + The message to include in the exception when + is equal to . The message is shown in + test results. + + + An array of parameters to use when formatting . + + + Thrown if is equal to . + + + + + Tests whether the specified collections are equal and throws an exception + if the two collections are not equal. Equality is defined as having the same + elements in the same order and quantity. Different references to the same + value are considered equal. + + + The first collection to compare. This is the collection the tests expects. + + + The second collection to compare. This is the collection produced by the + code under test. + + + The compare implementation to use when comparing elements of the collection. + + + Thrown if is not equal to + . + + + + + Tests whether the specified collections are equal and throws an exception + if the two collections are not equal. Equality is defined as having the same + elements in the same order and quantity. Different references to the same + value are considered equal. + + + The first collection to compare. This is the collection the tests expects. + + + The second collection to compare. This is the collection produced by the + code under test. + + + The compare implementation to use when comparing elements of the collection. + + + The message to include in the exception when + is not equal to . The message is shown in + test results. + + + Thrown if is not equal to + . + + + + + Tests whether the specified collections are equal and throws an exception + if the two collections are not equal. Equality is defined as having the same + elements in the same order and quantity. Different references to the same + value are considered equal. + + + The first collection to compare. This is the collection the tests expects. + + + The second collection to compare. This is the collection produced by the + code under test. + + + The compare implementation to use when comparing elements of the collection. + + + The message to include in the exception when + is not equal to . The message is shown in + test results. + + + An array of parameters to use when formatting . + + + Thrown if is not equal to + . + + + + + Tests whether the specified collections are unequal and throws an exception + if the two collections are equal. Equality is defined as having the same + elements in the same order and quantity. Different references to the same + value are considered equal. + + + The first collection to compare. This is the collection the tests expects + not to match . + + + The second collection to compare. This is the collection produced by the + code under test. + + + The compare implementation to use when comparing elements of the collection. + + + Thrown if is equal to . + + + + + Tests whether the specified collections are unequal and throws an exception + if the two collections are equal. Equality is defined as having the same + elements in the same order and quantity. Different references to the same + value are considered equal. + + + The first collection to compare. This is the collection the tests expects + not to match . + + + The second collection to compare. This is the collection produced by the + code under test. + + + The compare implementation to use when comparing elements of the collection. + + + The message to include in the exception when + is equal to . The message is shown in + test results. + + + Thrown if is equal to . + + + + + Tests whether the specified collections are unequal and throws an exception + if the two collections are equal. Equality is defined as having the same + elements in the same order and quantity. Different references to the same + value are considered equal. + + + The first collection to compare. This is the collection the tests expects + not to match . + + + The second collection to compare. This is the collection produced by the + code under test. + + + The compare implementation to use when comparing elements of the collection. + + + The message to include in the exception when + is equal to . The message is shown in + test results. + + + An array of parameters to use when formatting . + + + Thrown if is equal to . + + + + + Constructs a dictionary containing the number of occurrences of each + element in the specified collection. + + + The collection to process. + + + The number of null elements in the collection. + + + A dictionary containing the number of occurrences of each element + in the specified collection. + + + + + Determines whether the first collection is a subset of the second + collection. If either set contains duplicate elements, the number + of occurrences of the element in the subset must be less than or + equal to the number of occurrences in the superset. + + + The collection the test expects to be contained in . + + + The collection the test expects to contain . + + + True if is a subset of + , false otherwise. + + + + + Finds a mismatched element between the two collections. A mismatched + element is one that appears a different number of times in the + expected collection than it does in the actual collection. The + collections are assumed to be different non-null references with the + same number of elements. The caller is responsible for this level of + verification. If there is no mismatched element, the function returns + false and the out parameters should not be used. + + The first collection to compare. + The second collection to compare. + + The expected number of occurrences of + or 0 if there is no mismatched + element. + + + The actual number of occurrences of + or 0 if there is no mismatched + element. + + + The mismatched element (may be null) or null if there is no + mismatched element. + + + true if a mismatched element was found; false otherwise. + + + + + compares the objects using object.Equals + + + + + This class is designed to help user doing unit testing. + GenericParameterHelper satisfies some comment generic type constraints + such as: + 1. public default constructor + 2. implements common interface: IComparable, IEnumerable, ICloneable + + + + + + public default constructor, satisfies the constraint in C# generics. + This constructor initializes the Data property to a random value. + + + + + This constructor initializes the Data property to a user-supplied value + + + + + + Do the value comparison for two GenericParameterHelper object + + object to do comparison with + true if obj has the same value as 'this' GenericParameterHelper object. + false otherwise. + + + + Returns a hash code for this object. + + + + + + Compares to the object. + + + + + + + Returns an IEnumerator object whose length is derived from + the Data property. + + + + + + Returns a GenericParameterHelper object that is equal to + 'this' one. + + + + + + Gets or sets the Data property. + + + + + Provides method signature discovery for generic methods. + + + + + Given a set of methods that match the base criteria, select a method based + upon an array of types. This method should return null if no method matches + the criteria. + + + + + Set of string assertions. + + + + + Tests whether the specified string contains the specified substring + and throws an exception if the substring does not occur within the + test string. + + + The string that is expected to contain . + + + The string expected to occur within . + + + Thrown if is not found in + . + + + + + Tests whether the specified string contains the specified substring + and throws an exception if the substring does not occur within the + test string. + + + The string that is expected to contain . + + + The string expected to occur within . + + + The message to include in the exception when + is not in . The message is shown in + test results. + + + Thrown if is not found in + . + + + + + Tests whether the specified string contains the specified substring + and throws an exception if the substring does not occur within the + test string. + + + The string that is expected to contain . + + + The string expected to occur within . + + + The message to include in the exception when + is not in . The message is shown in + test results. + + + An array of parameters to use when formatting . + + + Thrown if is not found in + . + + + + + Tests whether the specified string begins with the specified substring + and throws an exception if the test string does not start with the + substring. + + + The string that is expected to begin with . + + + The string expected to be a prefix of . + + + Thrown if does not begin with + . + + + + + Tests whether the specified string begins with the specified substring + and throws an exception if the test string does not start with the + substring. + + + The string that is expected to begin with . + + + The string expected to be a prefix of . + + + The message to include in the exception when + does not begin with . The message is + shown in test results. + + + Thrown if does not begin with + . + + + + + Tests whether the specified string begins with the specified substring + and throws an exception if the test string does not start with the + substring. + + + The string that is expected to begin with . + + + The string expected to be a prefix of . + + + The message to include in the exception when + does not begin with . The message is + shown in test results. + + + An array of parameters to use when formatting . + + + Thrown if does not begin with + . + + + + + Tests whether the specified string ends with the specified substring + and throws an exception if the test string does not end with the + substring. + + + The string that is expected to end with . + + + The string expected to be a suffix of . + + + Thrown if does not end with + . + + + + + Tests whether the specified string ends with the specified substring + and throws an exception if the test string does not end with the + substring. + + + The string that is expected to end with . + + + The string expected to be a suffix of . + + + The message to include in the exception when + does not end with . The message is + shown in test results. + + + Thrown if does not end with + . + + + + + Tests whether the specified string ends with the specified substring + and throws an exception if the test string does not end with the + substring. + + + The string that is expected to end with . + + + The string expected to be a suffix of . + + + The message to include in the exception when + does not end with . The message is + shown in test results. + + + An array of parameters to use when formatting . + + + Thrown if does not end with + . + + + + + Tests whether the specified string matches a regular expression and + throws an exception if the string does not match the expression. + + + The string that is expected to match . + + + The regular expression that is + expected to match. + + + Thrown if does not match + . + + + + + Tests whether the specified string matches a regular expression and + throws an exception if the string does not match the expression. + + + The string that is expected to match . + + + The regular expression that is + expected to match. + + + The message to include in the exception when + does not match . The message is shown in + test results. + + + Thrown if does not match + . + + + + + Tests whether the specified string matches a regular expression and + throws an exception if the string does not match the expression. + + + The string that is expected to match . + + + The regular expression that is + expected to match. + + + The message to include in the exception when + does not match . The message is shown in + test results. + + + An array of parameters to use when formatting . + + + Thrown if does not match + . + + + + + Tests whether the specified string does not match a regular expression + and throws an exception if the string matches the expression. + + + The string that is expected not to match . + + + The regular expression that is + expected to not match. + + + Thrown if matches . + + + + + Tests whether the specified string does not match a regular expression + and throws an exception if the string matches the expression. + + + The string that is expected not to match . + + + The regular expression that is + expected to not match. + + + The message to include in the exception when + matches . The message is shown in test + results. + + + Thrown if matches . + + + + + Tests whether the specified string does not match a regular expression + and throws an exception if the string matches the expression. + + + The string that is expected not to match . + + + The regular expression that is + expected to not match. + + + The message to include in the exception when + matches . The message is shown in test + results. + + + An array of parameters to use when formatting . + + + Thrown if matches . + + + + + TestContext class. This class should be fully abstract and not contain any + members. The adapter will implement the members. Users in the framework should + only access this via a well-defined interface. + + + + + Used to write trace messages while the test is running + + format string + the arguments + + + + Adds a file name to the list in TestResult.ResultFileNames + + + + + Begins a timer with the specified name + + + + + Ends a timer with the specified name + + + + + Per test properties + + + + + + Current data row when test is used for data driven testing. + + + + + Current data connection row when test is used for data driven testing. + + + + + Gets the test logs directory. + + + + + Gets the test directory. + + + + + Gets the test deployment directory. + + + + + Gets the test name. + + + + + Gets the CurrentTestOutcome. + + + + + Outcome of a test or a run. + If a new successful state needs to be added you will need to modify + RunResultAndStatistics in TestRun and TestOutcomeHelper below. + + NOTE: the order is important and is used for computing outcome for aggregations. + More important outcomes come first. See TestOutcomeHelper.GetAggregationOutcome. + + + + + Test was executed, but there were issues. + Issues may involve exceptions or failed assertions. + + + + + Test has completed, but we can't say if it passed or failed. + May be used for aborted tests... + + + + + Test was executed w/o any issues. + + + + + Test is currently executing. + + + + + There was a system error while we were trying to execute a test. + + + + + The test timed out. + + + + + Test was aborted by the user. + + + + + Test is in an unknown state + + + + + The data row. + + + + + The database connection. + + + + + Marks a test class. + + + + + Initializes a new test class attribute. + + + + + Marks a test method. + + + + + Initializes a new TestMethodAttribute. + + + + + A method marker called before a test method runs. + + + + + Initializes a new TestInitializeAttribute. + + + + + A method marker called after a test method runs. + + + + + Initializes a new TestCleanupAttribute. + + + + + Ignores a unit test. + + + + + Initializes a new IgnoreAttribute. + + + + + The ExpectedExceptionAttribute. + + + + + Initializes the ExpectedExceptionAttribute. + + The exception type. + + + + Initializes the ExpectedExceptionAttribute. + + The exception type. + The message. + + + + Gets the exception type. + + + + + Gets the message. + + + + + The test property attribute. + + + + + Initializes the TestPropertyAttribute. + + + + + + + Gets the name. + + + + + Gets the value. + + + + + The ClassInitializeAttribute. + + + + + Initializes the ClassInitializeAttribute. + + + + + The ClassCleanupAttribute. + + + + + Initializes the ClassCleanupAttribute. + + + + + The AssemblyInitializeAttribute. + + + + + Initializes the AssemblyInitializeAttribute. + + + + + The AssemblyCleanupAttribute. + + + + + Initializes the AssemblyCleanupAttribute. + + + + + Description of the test. + + + + + Initializes the DescriptionAttribute. + + The description. + + + + Gets the description. + + + + + The OwnerAttribute. + + + + + Initializes the OwnerAttribute. + + The owner. + + + + Gets the owner. + + + + + CSS Project Structure URI. + + + + + Initializes the CSS Project Structure URI. + + The structure. + + + + Gets the property structure. + + + + + CSS Iteration URI + + + + + Initializes the CssIterationAttribute. + + The parameter. + + + + Gets the CssIteration. + + + + + Priority attribute; used to specify the priority of a unit test. + + + + + Initializes the PriorityAttribute. + + The priority. + + + + Gets the Priority. + + + + + Timeout attribute; used to specify the timeout of a unit test. + + + + + Initializes the TimeoutAttribute. + + + + + + Gets the Timeout. + + + + + WorkItem attribute; used to specify a work item associated with this test. + + + + + Initializes the WorkItemAttribute. + + + + + + Gets the ID. + + + + + HostType specifies the type of host that this unit test will + run in. + + + + + Initializes the host type attribute. + + + + + + Constructor of HostTypeAttribute. + + The type of the host. + Custom data for the host adapter. + + + The reason this is string (and not object) is that currently CMI cannot parse arbitrary instances of object and we deprioritized changing CMI. + + + + Gets the host type. + + + + + Gets the host data. + + + + + Used to specify deployment item (file or directory) for per-test deployment. + Can be specified on test class or test method. + Can have multiple instances of the attribute to specify more than one item. + The item path can be absolute or relative, if relative, it is relative to RunConfig.RelativePathRoot. + + + [DeploymentItem("file1.xml")] + [DeploymentItem("file2.xml", "DataFiles")] + [DeploymentItem("bin\Debug")] + + + + + Initializes DeploymentItemAttribute. + + The path. + + + + Initializes DeploymentItemAttribute. + + The path. + The output directory. + + + + Verifiable interface. + + + + + The IsValid method. + + Returns a value. + + + diff --git a/lib/NUnit 2.2.8.0/NUnitTests.nunit b/lib/NUnit 2.2.8.0/NUnitTests.nunit deleted file mode 100644 index cde7d0005c..0000000000 --- a/lib/NUnit 2.2.8.0/NUnitTests.nunit +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - diff --git a/lib/NUnit 2.2.8.0/TestResult.xml b/lib/NUnit 2.2.8.0/TestResult.xml deleted file mode 100644 index fbce2d972c..0000000000 --- a/lib/NUnit 2.2.8.0/TestResult.xml +++ /dev/null @@ -1,1301 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/lib/NUnit 2.2.8.0/clr.bat b/lib/NUnit 2.2.8.0/clr.bat deleted file mode 100644 index 0a838482ca..0000000000 --- a/lib/NUnit 2.2.8.0/clr.bat +++ /dev/null @@ -1,96 +0,0 @@ -@echo off -rem Run a program under a particular version of the .Net framework -rem by setting the COMPLUS_Version environment variable. -rem -rem This command was written by Charlie Poole for the NUnit project. -rem You may use it separately from NUnit at your own risk. - -if "%1"=="/?" goto help -if "%1"=="?" goto help -if "%1"=="" goto GetVersion -if /I "%1"=="off" goto RemoveVersion -if "%2"=="" goto SetVersion -goto main - -:help -echo Control the version of the .Net framework that is used. The -echo command has several forms: -echo. -echo CLR -echo Reports the version of the CLR that has been set -echo. -echo CLR version -echo Sets the local shell environment to use a specific -echo version of the CLR for subsequent commands. -echo. -echo CLR version command [arguments] -echo Executes a single command using the specified CLR version. -echo. -echo CLR off -echo Turns off specific version selection for commands -echo. -echo The CLR version may be specified as vn.n.n or n.n.n. In addition, -echo the following shortcuts are recognized: -echo net-1.0, 1.0 For version 1.0.3705 -echo net-1.1, 1.1 For version 1.1.4322 -echo beta2 For version 2.0.50215 -echo net-2.0, 2.0 For version 2.0.50727 -echo. -echo NOTE: -echo Any specific settings for required or supported runtime in -echo the ^ section of a program's config file will -echo override the version specified by this command, and the -echo command will have no effect. -echo. -goto done - -:main - -setlocal -set CMD= -call :SetVersion %1 -shift /1 - -:loop 'Copy remaining arguments to form the command -if "%1"=="" goto run -set CMD=%CMD% %1 -shift /1 -goto :loop - -:run 'Execute the command -%CMD% -endlocal -goto done - -:SetVersion -set COMPLUS_Version=%1 - -rem Substitute proper format for certain names -if /I "%COMPLUS_Version:~0,1%"=="v" goto useit -if /I "%COMPLUS_Version%"=="net-1.0" set COMPLUS_Version=v1.0.3705&goto report -if /I "%COMPLUS_Version%"=="1.0" set COMPLUS_Version=v1.0.3705&goto report -if /I "%COMPLUS_Version%"=="net-1.1" set COMPLUS_Version=v1.1.4322&goto report -if /I "%COMPLUS_Version%"=="1.1" set COMPLUS_Version=v1.1.4322&goto report -if /I "%COMPLUS_Version%"=="beta2" set COMPLUS_Version=v2.0.50215&goto report -if /I "%COMPLUS_Version%"=="net-2.0" set COMPLUS_Version=v2.0.50727&goto report -if /I "%COMPLUS_Version%"=="2.0" set COMPLUS_Version=v2.0.50727&goto report - -rem Add additional substitutions here, branching to report - -rem assume it's a version number without 'v' -set COMPLUS_Version=v%COMPLUS_Version% - -:report -echo Setting CLR version to %COMPLUS_Version% -goto done - -:GetVersion -if "%COMPLUS_Version%"=="" echo CLR version is not set -if NOT "%COMPLUS_Version%"=="" echo CLR version is set to %COMPLUS_Version% -goto done - -:RemoveVersion -set COMPLUS_Version= -echo CLR version is no longer set - -:done \ No newline at end of file diff --git a/lib/NUnit 2.2.8.0/mock-assembly.dll b/lib/NUnit 2.2.8.0/mock-assembly.dll deleted file mode 100644 index 574010aeef..0000000000 Binary files a/lib/NUnit 2.2.8.0/mock-assembly.dll and /dev/null differ diff --git a/lib/NUnit 2.2.8.0/nonamespace-assembly.dll b/lib/NUnit 2.2.8.0/nonamespace-assembly.dll deleted file mode 100644 index 19a45ea347..0000000000 Binary files a/lib/NUnit 2.2.8.0/nonamespace-assembly.dll and /dev/null differ diff --git a/lib/NUnit 2.2.8.0/notestfixtures-assembly.dll b/lib/NUnit 2.2.8.0/notestfixtures-assembly.dll deleted file mode 100644 index e1b467e9ea..0000000000 Binary files a/lib/NUnit 2.2.8.0/notestfixtures-assembly.dll and /dev/null differ diff --git a/lib/NUnit 2.2.8.0/nunit-console-runner.dll b/lib/NUnit 2.2.8.0/nunit-console-runner.dll deleted file mode 100644 index 6a6b5e2eb8..0000000000 Binary files a/lib/NUnit 2.2.8.0/nunit-console-runner.dll and /dev/null differ diff --git a/lib/NUnit 2.2.8.0/nunit-console.exe b/lib/NUnit 2.2.8.0/nunit-console.exe deleted file mode 100644 index 24fda7e4b5..0000000000 Binary files a/lib/NUnit 2.2.8.0/nunit-console.exe and /dev/null differ diff --git a/lib/NUnit 2.2.8.0/nunit-console.tests.dll b/lib/NUnit 2.2.8.0/nunit-console.tests.dll deleted file mode 100644 index 361ddb0fb2..0000000000 Binary files a/lib/NUnit 2.2.8.0/nunit-console.tests.dll and /dev/null differ diff --git a/lib/NUnit 2.2.8.0/nunit-gui-runner.dll b/lib/NUnit 2.2.8.0/nunit-gui-runner.dll deleted file mode 100644 index a6e1692d96..0000000000 Binary files a/lib/NUnit 2.2.8.0/nunit-gui-runner.dll and /dev/null differ diff --git a/lib/NUnit 2.2.8.0/nunit-gui.exe b/lib/NUnit 2.2.8.0/nunit-gui.exe deleted file mode 100644 index 258f093c4c..0000000000 Binary files a/lib/NUnit 2.2.8.0/nunit-gui.exe and /dev/null differ diff --git a/lib/NUnit 2.2.8.0/nunit-gui.exe.config b/lib/NUnit 2.2.8.0/nunit-gui.exe.config deleted file mode 100644 index 3035c12e2c..0000000000 --- a/lib/NUnit 2.2.8.0/nunit-gui.exe.config +++ /dev/null @@ -1,109 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/lib/NUnit 2.2.8.0/nunit-gui.tests.dll b/lib/NUnit 2.2.8.0/nunit-gui.tests.dll deleted file mode 100644 index 039bcf964a..0000000000 Binary files a/lib/NUnit 2.2.8.0/nunit-gui.tests.dll and /dev/null differ diff --git a/lib/NUnit 2.2.8.0/nunit-server.exe b/lib/NUnit 2.2.8.0/nunit-server.exe deleted file mode 100644 index e3d2c8ee55..0000000000 Binary files a/lib/NUnit 2.2.8.0/nunit-server.exe and /dev/null differ diff --git a/lib/NUnit 2.2.8.0/nunit-server.tests.dll b/lib/NUnit 2.2.8.0/nunit-server.tests.dll deleted file mode 100644 index 346563256b..0000000000 Binary files a/lib/NUnit 2.2.8.0/nunit-server.tests.dll and /dev/null differ diff --git a/lib/NUnit 2.2.8.0/nunit-test-server.dll b/lib/NUnit 2.2.8.0/nunit-test-server.dll deleted file mode 100644 index 40c265a240..0000000000 Binary files a/lib/NUnit 2.2.8.0/nunit-test-server.dll and /dev/null differ diff --git a/lib/NUnit 2.2.8.0/nunit.core.dll b/lib/NUnit 2.2.8.0/nunit.core.dll deleted file mode 100644 index a11e62341e..0000000000 Binary files a/lib/NUnit 2.2.8.0/nunit.core.dll and /dev/null differ diff --git a/lib/NUnit 2.2.8.0/nunit.core.extensions.dll b/lib/NUnit 2.2.8.0/nunit.core.extensions.dll deleted file mode 100644 index d37d58eec3..0000000000 Binary files a/lib/NUnit 2.2.8.0/nunit.core.extensions.dll and /dev/null differ diff --git a/lib/NUnit 2.2.8.0/nunit.extensions.tests.dll b/lib/NUnit 2.2.8.0/nunit.extensions.tests.dll deleted file mode 100644 index 9dedfabb86..0000000000 Binary files a/lib/NUnit 2.2.8.0/nunit.extensions.tests.dll and /dev/null differ diff --git a/lib/NUnit 2.2.8.0/nunit.framework.dll b/lib/NUnit 2.2.8.0/nunit.framework.dll deleted file mode 100644 index 44704bd5ea..0000000000 Binary files a/lib/NUnit 2.2.8.0/nunit.framework.dll and /dev/null differ diff --git a/lib/NUnit 2.2.8.0/nunit.framework.tests.dll b/lib/NUnit 2.2.8.0/nunit.framework.tests.dll deleted file mode 100644 index 28b168ad44..0000000000 Binary files a/lib/NUnit 2.2.8.0/nunit.framework.tests.dll and /dev/null differ diff --git a/lib/NUnit 2.2.8.0/nunit.mocks.dll b/lib/NUnit 2.2.8.0/nunit.mocks.dll deleted file mode 100644 index 99c4282a09..0000000000 Binary files a/lib/NUnit 2.2.8.0/nunit.mocks.dll and /dev/null differ diff --git a/lib/NUnit 2.2.8.0/nunit.mocks.tests.dll b/lib/NUnit 2.2.8.0/nunit.mocks.tests.dll deleted file mode 100644 index 84bd3ed444..0000000000 Binary files a/lib/NUnit 2.2.8.0/nunit.mocks.tests.dll and /dev/null differ diff --git a/lib/NUnit 2.2.8.0/nunit.uikit.dll b/lib/NUnit 2.2.8.0/nunit.uikit.dll deleted file mode 100644 index 32673ccc74..0000000000 Binary files a/lib/NUnit 2.2.8.0/nunit.uikit.dll and /dev/null differ diff --git a/lib/NUnit 2.2.8.0/nunit.uikit.tests.dll b/lib/NUnit 2.2.8.0/nunit.uikit.tests.dll deleted file mode 100644 index 40e6ddfc47..0000000000 Binary files a/lib/NUnit 2.2.8.0/nunit.uikit.tests.dll and /dev/null differ diff --git a/lib/NUnit 2.2.8.0/nunit.util.dll b/lib/NUnit 2.2.8.0/nunit.util.dll deleted file mode 100644 index 8fff811dfd..0000000000 Binary files a/lib/NUnit 2.2.8.0/nunit.util.dll and /dev/null differ diff --git a/lib/NUnit 2.2.8.0/nunit.util.tests.dll b/lib/NUnit 2.2.8.0/nunit.util.tests.dll deleted file mode 100644 index 57efc06e22..0000000000 Binary files a/lib/NUnit 2.2.8.0/nunit.util.tests.dll and /dev/null differ diff --git a/lib/NUnit 2.2.8.0/test-utilities.dll b/lib/NUnit 2.2.8.0/test-utilities.dll deleted file mode 100644 index 24a0f5d1c6..0000000000 Binary files a/lib/NUnit 2.2.8.0/test-utilities.dll and /dev/null differ diff --git a/lib/NUnit 2.2.8.0/timing-tests.dll b/lib/NUnit 2.2.8.0/timing-tests.dll deleted file mode 100644 index 45930da35e..0000000000 Binary files a/lib/NUnit 2.2.8.0/timing-tests.dll and /dev/null differ diff --git a/lib/NUnit-config/Microsoft.VisualStudio.TestTools.cs b/lib/NUnit-config/Microsoft.VisualStudio.TestTools.cs new file mode 100644 index 0000000000..d526c48930 --- /dev/null +++ b/lib/NUnit-config/Microsoft.VisualStudio.TestTools.cs @@ -0,0 +1,53 @@ + +using System; + +namespace Microsoft.VisualStudio.TestTools.UnitTesting +{ + [AttributeUsage(AttributeTargets.Class, Inherited = true, AllowMultiple = false)] + public sealed class TestClassAttribute : NUnit.Framework.TestFixtureAttribute + { + } + + [AttributeUsage(AttributeTargets.Method, Inherited = true, AllowMultiple = false)] + public sealed class TestMethodAttribute : NUnit.Framework.TestAttribute + { + } + + [AttributeUsage(AttributeTargets.Method, Inherited = true, AllowMultiple = false)] + public sealed class TestInitializeAttribute : NUnit.Framework.SetUpAttribute + { + } + + [AttributeUsage(AttributeTargets.Method, Inherited = true, AllowMultiple = false)] + public sealed class IgnoreAttribute : NUnit.Framework.IgnoreAttribute + { + } + + [AttributeUsage(AttributeTargets.Method, Inherited = true, AllowMultiple = false)] + public sealed class ExpectedExceptionAttribute : NUnit.Framework.ExpectedExceptionAttribute + { + public ExpectedExceptionAttribute(Type type) : base(type) + { } + } + + public class Assert : NUnit.Framework.Assert + { + [Obsolete("Do not use AreEqual on Byte[], use TestUtil.AssertBytesEqual(,)")] + public static void AreEqual(byte[] b1, byte[] b2) + { + NUnit.Framework.Assert.AreEqual(b1, b2); + } + + [Obsolete("No not use assert with miss-matched types.")] + public static new void AreEqual(object b1, object b2) + { + NUnit.Framework.Assert.AreEqual(b1, b2); + } + + //Allowed if the types match + public static void AreEqual(T b1, T b2) + { + NUnit.Framework.Assert.AreEqual(b1, b2); + } + } +} \ No newline at end of file diff --git a/lib/NUnit-config/nunit-console.v2.0.config b/lib/NUnit-config/nunit-console.v2.0.config new file mode 100644 index 0000000000..30453c9b85 --- /dev/null +++ b/lib/NUnit-config/nunit-console.v2.0.config @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/lib/NUnit-config/nunit-console.v3.5.config b/lib/NUnit-config/nunit-console.v3.5.config new file mode 100644 index 0000000000..30453c9b85 --- /dev/null +++ b/lib/NUnit-config/nunit-console.v3.5.config @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/lib/NUnit-config/nunit-console.v4.0.config b/lib/NUnit-config/nunit-console.v4.0.config new file mode 100644 index 0000000000..08ee954714 --- /dev/null +++ b/lib/NUnit-config/nunit-console.v4.0.config @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/lib/NUnit/Logo.ico b/lib/NUnit/Logo.ico new file mode 100644 index 0000000000..13c4ff9d5b Binary files /dev/null and b/lib/NUnit/Logo.ico differ diff --git a/lib/NUnit/NUnit.nupkg b/lib/NUnit/NUnit.nupkg new file mode 100644 index 0000000000..7e9a7773f5 Binary files /dev/null and b/lib/NUnit/NUnit.nupkg differ diff --git a/lib/NUnit/NUnitFitTests.html b/lib/NUnit/NUnitFitTests.html new file mode 100644 index 0000000000..b7eb5c9117 --- /dev/null +++ b/lib/NUnit/NUnitFitTests.html @@ -0,0 +1,277 @@ + + + +

NUnit Acceptance Tests

+

+ Developers love self-referential programs! Hence, NUnit has always run all it's + own tests, even those that are not really unit tests. +

Now, beginning with NUnit 2.4, NUnit has top-level tests using Ward Cunningham's + FIT framework. At this time, the tests are pretty rudimentary, but it's a start + and it's a framework for doing more. +

Running the Tests

+

Open a console or shell window and navigate to the NUnit bin directory, which + contains this file. To run the test under Microsoft .Net, enter the command +

    runFile NUnitFitTests.html TestResults.html .
+ To run it under Mono, enter +
    mono runFile.exe NUnitFitTests.html TestResults.html .
+ Note the space and dot at the end of each command. The results of your test + will be in TestResults.html in the same directory. +

Platform and CLR Version

+ + + + +
NUnit.Fixtures.PlatformInfo
+

Verify Unit Tests

+

+ Load and run the NUnit unit tests, verifying that the results are as expected. + When these tests are run on different platforms, different numbers of tests may + be skipped, so the values for Skipped and Run tests are informational only. +

+ The number of tests in each assembly should be constant across all platforms - + any discrepancy usually means that one of the test source files was not + compiled on the platform. There should be no failures and no tests ignored. +

Note: + At the moment, the nunit.extensions.tests assembly is failing because the + fixture doesn't initialize addins in the test domain. +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NUnit.Fixtures.AssemblyRunner
AssemblyTests()Run()Skipped()Ignored()Failures()
nunit.framework.tests.dll397  00
nunit.core.tests.dll355  00
nunit.util.tests.dll238  00
nunit.mocks.tests.dll43  00
nunit.extensions.tests.dll5  00
nunit-console.tests.dll40  00
nunit.uikit.tests.dll34  00
nunit-gui.tests.dll15  00
nunit.fixtures.tests.dll6  00
+

Code Snippet Tests

+

+ These tests create a test assembly from a snippet of code and then load and run + the tests that it contains, verifying that the structure of the loaded tests is + as expected and that the number of tests run, skipped, ignored or failed is + correct. +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NUnit.Fixtures.SnippetRunner
CodeTree()Run()Skipped()Ignored()Failures()
public class TestClass
+{
+}
+
EMPTY0000
using NUnit.Framework;
+
+[TestFixture]
+public class TestClass
+{
+}
+
TestClass0000
using NUnit.Framework;
+
+[TestFixture]
+public class TestClass
+{
+    [Test]
+    public void T1() { }
+    [Test]
+    public void T2() { }
+    [Test]
+    public void T3() { }
+}
+
TestClass
+>T1
+>T2
+>T3
+
3000
using NUnit.Framework;
+
+[TestFixture]
+public class TestClass1
+{
+    [Test]
+    public void T1() { }
+}
+
+[TestFixture]
+public class TestClass2
+{
+    [Test]
+    public void T2() { }
+    [Test]
+    public void T3() { }
+}
+
TestClass1
+>T1
+TestClass2
+>T2
+>T3
+
3000
using NUnit.Framework;
+
+[TestFixture]
+public class TestClass
+{
+    [Test]
+    public void T1() { }
+    [Test, Ignore]
+    public void T2() { }
+    [Test]
+    public void T3() { }
+}
+
TestClass
+>T1
+>T2
+>T3
+
2010
using NUnit.Framework;
+
+[TestFixture]
+public class TestClass
+{
+    [Test]
+    public void T1() { }
+    [Test, Explicit]
+    public void T2() { }
+    [Test]
+    public void T3() { }
+}
+
TestClass
+>T1
+>T2
+>T3
+
2100
+

Summary Information

+ + + + +
fit.Summary
+ + diff --git a/lib/NUnit/fit-license.txt b/lib/NUnit/fit-license.txt new file mode 100644 index 0000000000..af375329e9 --- /dev/null +++ b/lib/NUnit/fit-license.txt @@ -0,0 +1,342 @@ + + + GNU GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc. + 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +License is intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. This +General Public License applies to most of the Free Software +Foundation's software and to any other program whose authors commit to +using it. (Some other Free Software Foundation software is covered by +the GNU Library General Public License instead.) You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. You must make sure that they, too, receive or can get the +source code. And you must show them these terms so they know their +rights. + + We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + + Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, we +want its recipients to know that what they have is not the original, so +that any problems introduced by others will not reflect on the original +authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that redistributors of a free +program will individually obtain patent licenses, in effect making the +program proprietary. To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at all. + + The precise terms and conditions for copying, distribution and +modification follow. + + GNU GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License applies to any program or other work which contains +a notice placed by the copyright holder saying it may be distributed +under the terms of this General Public License. The "Program", below, +refers to any such program or work, and a "work based on the Program" +means either the Program or any derivative work under copyright law: +that is to say, a work containing the Program or a portion of it, +either verbatim or with modifications and/or translated into another +language. (Hereinafter, translation is included without limitation in +the term "modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running the Program is not restricted, and the output from the Program +is covered only if its contents constitute a work based on the +Program (independent of having been made by running the Program). +Whether that is true depends on what the Program does. + + 1. You may copy and distribute verbatim copies of the Program's +source code as you receive it, in any medium, provided that you +conspicuously and appropriately publish on each copy an appropriate +copyright notice and disclaimer of warranty; keep intact all the +notices that refer to this License and to the absence of any warranty; +and give any other recipients of the Program a copy of this License +along with the Program. + +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a fee. + + 2. You may modify your copy or copies of the Program or any portion +of it, thus forming a work based on the Program, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) You must cause the modified files to carry prominent notices + stating that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in + whole or in part contains or is derived from the Program or any + part thereof, to be licensed as a whole at no charge to all third + parties under the terms of this License. + + c) If the modified program normally reads commands interactively + when run, you must cause it, when started running for such + interactive use in the most ordinary way, to print or display an + announcement including an appropriate copyright notice and a + notice that there is no warranty (or else, saying that you provide + a warranty) and that users may redistribute the program under + these conditions, and telling the user how to view a copy of this + License. (Exception: if the Program itself is interactive but + does not normally print such an announcement, your work based on + the Program is not required to print an announcement.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Program, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Program, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program +with the Program (or with a work based on the Program) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may copy and distribute the Program (or a work based on it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of Sections + 1 and 2 above on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three + years, to give any third party, for a charge no more than your + cost of physically performing source distribution, a complete + machine-readable copy of the corresponding source code, to be + distributed under the terms of Sections 1 and 2 above on a medium + customarily used for software interchange; or, + + c) Accompany it with the information you received as to the offer + to distribute corresponding source code. (This alternative is + allowed only for noncommercial distribution and only if you + received the program in object code or executable form with such + an offer, in accord with Subsection b above.) + +The source code for a work means the preferred form of the work for +making modifications to it. For an executable work, complete source +code means all the source code for all modules it contains, plus any +associated interface definition files, plus the scripts used to +control compilation and installation of the executable. However, as a +special exception, the source code distributed need not include +anything that is normally distributed (in either source or binary +form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering +access to copy from a designated place, then offering equivalent +access to copy the source code from the same place counts as +distribution of the source code, even though third parties are not +compelled to copy the source along with the object code. + + 4. You may not copy, modify, sublicense, or distribute the Program +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense or distribute the Program is +void, and will automatically terminate your rights under this License. +However, parties who have received copies, or rights, from you under +this License will not have their licenses terminated so long as such +parties remain in full compliance. + + 5. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Program or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + + 6. Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the +original licensor to copy, distribute or modify the Program subject to +these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Program at all. For example, if a patent +license would not permit royalty-free redistribution of the Program by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system, which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 8. If the distribution and/or use of the Program is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Program under this License +may add an explicit geographical distribution limitation excluding +those countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + + 9. The Free Software Foundation may publish revised and/or new versions +of the General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and "any +later version", you have the option of following the terms and conditions +either of that version or of any later version published by the Free +Software Foundation. If the Program does not specify a version number of +this License, you may choose any version ever published by the Free Software +Foundation. + + 10. If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the author +to ask for permission. For software which is copyrighted by the Free +Software Foundation, write to the Free Software Foundation; we sometimes +make exceptions for this. Our decision will be guided by the two goals +of preserving the free status of all derivatives of our free software and +of promoting the sharing and reuse of software generally. + + NO WARRANTY + + 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY +FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN +OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES +PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED +OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS +TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE +PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, +REPAIR OR CORRECTION. + + 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR +REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING +OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED +TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY +YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER +PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + + +Also add information on how to contact you by electronic and paper mail. + +If the program is interactive, make it output a short notice like this +when it starts in an interactive mode: + + Gnomovision version 69, Copyright (C) year name of author + Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, the commands you use may +be called something other than `show w' and `show c'; they could even be +mouse-clicks or menu items--whatever suits your program. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the program, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the program + `Gnomovision' (which makes passes at compilers) written by James Hacker. + + , 1 April 1989 + Ty Coon, President of Vice + +This General Public License does not permit incorporating your program into +proprietary programs. If your program is a subroutine library, you may +consider it more useful to permit linking proprietary applications with the +library. If this is what you want to do, use the GNU Library General +Public License instead of this License. \ No newline at end of file diff --git a/lib/NUnit/lib/nunit.framework.dll b/lib/NUnit/lib/nunit.framework.dll new file mode 100644 index 0000000000..6856e51ef0 Binary files /dev/null and b/lib/NUnit/lib/nunit.framework.dll differ diff --git a/lib/NUnit/lib/nunit.framework.xml b/lib/NUnit/lib/nunit.framework.xml new file mode 100644 index 0000000000..c98e5adcc5 --- /dev/null +++ b/lib/NUnit/lib/nunit.framework.xml @@ -0,0 +1,10407 @@ + + + + nunit.framework + + + + + Attribute used to apply a category to a test + + + + + The name of the category + + + + + Construct attribute for a given category based on + a name. The name may not contain the characters ',', + '+', '-' or '!'. However, this is not checked in the + constructor since it would cause an error to arise at + as the test was loaded without giving a clear indication + of where the problem is located. The error is handled + in NUnitFramework.cs by marking the test as not + runnable. + + The name of the category + + + + Protected constructor uses the Type name as the name + of the category. + + + + + The name of the category + + + + + Used to mark a field for use as a datapoint when executing a theory + within the same fixture that requires an argument of the field's Type. + + + + + Used to mark an array as containing a set of datapoints to be used + executing a theory within the same fixture that requires an argument + of the Type of the array elements. + + + + + Attribute used to provide descriptive text about a + test case or fixture. + + + + + Construct the attribute + + Text describing the test + + + + Gets the test description + + + + + Enumeration indicating how the expected message parameter is to be used + + + + Expect an exact match + + + Expect a message containing the parameter string + + + Match the regular expression provided as a parameter + + + Expect a message that starts with the parameter string + + + + ExpectedExceptionAttribute + + + + + + Constructor for a non-specific exception + + + + + Constructor for a given type of exception + + The type of the expected exception + + + + Constructor for a given exception name + + The full name of the expected exception + + + + Gets or sets the expected exception type + + + + + Gets or sets the full Type name of the expected exception + + + + + Gets or sets the expected message text + + + + + Gets or sets the user message displayed in case of failure + + + + + Gets or sets the type of match to be performed on the expected message + + + + + Gets the name of a method to be used as an exception handler + + + + + ExplicitAttribute marks a test or test fixture so that it will + only be run if explicitly executed from the gui or command line + or if it is included by use of a filter. The test will not be + run simply because an enclosing suite is run. + + + + + Default constructor + + + + + Constructor with a reason + + The reason test is marked explicit + + + + The reason test is marked explicit + + + + + Attribute used to mark a test that is to be ignored. + Ignored tests result in a warning message when the + tests are run. + + + + + Constructs the attribute without giving a reason + for ignoring the test. + + + + + Constructs the attribute giving a reason for ignoring the test + + The reason for ignoring the test + + + + The reason for ignoring a test + + + + + Abstract base for Attributes that are used to include tests + in the test run based on environmental settings. + + + + + Constructor with no included items specified, for use + with named property syntax. + + + + + Constructor taking one or more included items + + Comma-delimited list of included items + + + + Name of the item that is needed in order for + a test to run. Multiple itemss may be given, + separated by a comma. + + + + + Name of the item to be excluded. Multiple items + may be given, separated by a comma. + + + + + The reason for including or excluding the test + + + + + PlatformAttribute is used to mark a test fixture or an + individual method as applying to a particular platform only. + + + + + Constructor with no platforms specified, for use + with named property syntax. + + + + + Constructor taking one or more platforms + + Comma-deliminted list of platforms + + + + CultureAttribute is used to mark a test fixture or an + individual method as applying to a particular Culture only. + + + + + Constructor with no cultures specified, for use + with named property syntax. + + + + + Constructor taking one or more cultures + + Comma-deliminted list of cultures + + + + Marks a test to use a combinatorial join of any argument data + provided. NUnit will create a test case for every combination of + the arguments provided. This can result in a large number of test + cases and so should be used judiciously. This is the default join + type, so the attribute need not be used except as documentation. + + + + + PropertyAttribute is used to attach information to a test as a name/value pair.. + + + + + Construct a PropertyAttribute with a name and string value + + The name of the property + The property value + + + + Construct a PropertyAttribute with a name and int value + + The name of the property + The property value + + + + Construct a PropertyAttribute with a name and double value + + The name of the property + The property value + + + + Constructor for derived classes that set the + property dictionary directly. + + + + + Constructor for use by derived classes that use the + name of the type as the property name. Derived classes + must ensure that the Type of the property value is + a standard type supported by the BCL. Any custom + types will cause a serialization Exception when + in the client. + + + + + Gets the property dictionary for this attribute + + + + + Default constructor + + + + + Marks a test to use pairwise join of any argument data provided. + NUnit will attempt too excercise every pair of argument values at + least once, using as small a number of test cases as it can. With + only two arguments, this is the same as a combinatorial join. + + + + + Default constructor + + + + + Marks a test to use a sequential join of any argument data + provided. NUnit will use arguements for each parameter in + sequence, generating test cases up to the largest number + of argument values provided and using null for any arguments + for which it runs out of values. Normally, this should be + used with the same number of arguments for each parameter. + + + + + Default constructor + + + + + Summary description for MaxTimeAttribute. + + + + + Construct a MaxTimeAttribute, given a time in milliseconds. + + The maximum elapsed time in milliseconds + + + + RandomAttribute is used to supply a set of random values + to a single parameter of a parameterized test. + + + + + ValuesAttribute is used to provide literal arguments for + an individual parameter of a test. + + + + + Abstract base class for attributes that apply to parameters + and supply data for the parameter. + + + + + Gets the data to be provided to the specified parameter + + + + + The collection of data to be returned. Must + be set by any derived attribute classes. + We use an object[] so that the individual + elements may have their type changed in GetData + if necessary. + + + + + Construct with one argument + + + + + + Construct with two arguments + + + + + + + Construct with three arguments + + + + + + + + Construct with an array of arguments + + + + + + Get the collection of values to be used as arguments + + + + + Construct a set of doubles from 0.0 to 1.0, + specifying only the count. + + + + + + Construct a set of doubles from min to max + + + + + + + + Construct a set of ints from min to max + + + + + + + + Get the collection of values to be used as arguments + + + + + RangeAttribute is used to supply a range of values to an + individual parameter of a parameterized test. + + + + + Construct a range of ints using default step of 1 + + + + + + + Construct a range of ints specifying the step size + + + + + + + + Construct a range of longs + + + + + + + + Construct a range of doubles + + + + + + + + Construct a range of floats + + + + + + + + RepeatAttribute may be applied to test case in order + to run it multiple times. + + + + + Construct a RepeatAttribute + + The number of times to run the test + + + + RequiredAddinAttribute may be used to indicate the names of any addins + that must be present in order to run some or all of the tests in an + assembly. If the addin is not loaded, the entire assembly is marked + as NotRunnable. + + + + + Initializes a new instance of the class. + + The required addin. + + + + Gets the name of required addin. + + The required addin name. + + + + Summary description for SetCultureAttribute. + + + + + Construct given the name of a culture + + + + + + Summary description for SetUICultureAttribute. + + + + + Construct given the name of a culture + + + + + + Attribute used to mark a class that contains one-time SetUp + and/or TearDown methods that apply to all the tests in a + namespace or an assembly. + + + + + SetUpFixtureAttribute is used to identify a SetUpFixture + + + + + Attribute used to mark a static (shared in VB) property + that returns a list of tests. + + + + + Attribute used to identify a method that is called + immediately after each test is run. The method is + guaranteed to be called, even if an exception is thrown. + + + + + Adding this attribute to a method within a + class makes the method callable from the NUnit test runner. There is a property + called Description which is optional which you can provide a more detailed test + description. This class cannot be inherited. + + + + [TestFixture] + public class Fixture + { + [Test] + public void MethodToTest() + {} + + [Test(Description = "more detailed description")] + publc void TestDescriptionMethod() + {} + } + + + + + + Descriptive text for this test + + + + + TestCaseAttribute is used to mark parameterized test cases + and provide them with their arguments. + + + + + The ITestCaseData interface is implemented by a class + that is able to return complete testcases for use by + a parameterized test method. + + NOTE: This interface is used in both the framework + and the core, even though that results in two different + types. However, sharing the source code guarantees that + the various implementations will be compatible and that + the core is able to reflect successfully over the + framework implementations of ITestCaseData. + + + + + Gets the argument list to be provided to the test + + + + + Gets the expected result + + + + + Gets the expected exception Type + + + + + Gets the FullName of the expected exception + + + + + Gets the name to be used for the test + + + + + Gets the description of the test + + + + + Gets a value indicating whether this is ignored. + + true if ignored; otherwise, false. + + + + Gets the ignore reason. + + The ignore reason. + + + + Construct a TestCaseAttribute with a list of arguments. + This constructor is not CLS-Compliant + + + + + + Construct a TestCaseAttribute with a single argument + + + + + + Construct a TestCaseAttribute with a two arguments + + + + + + + Construct a TestCaseAttribute with a three arguments + + + + + + + + Gets the list of arguments to a test case + + + + + Gets or sets the expected result. + + The result. + + + + Gets a list of categories associated with this test; + + + + + Gets or sets the category associated with this test. + May be a single category or a comma-separated list. + + + + + Gets or sets the expected exception. + + The expected exception. + + + + Gets or sets the name the expected exception. + + The expected name of the exception. + + + + Gets or sets the expected message of the expected exception + + The expected message of the exception. + + + + Gets or sets the type of match to be performed on the expected message + + + + + Gets or sets the description. + + The description. + + + + Gets or sets the name of the test. + + The name of the test. + + + + Gets or sets the ignored status of the test + + + + + Gets or sets the ignored status of the test + + + + + Gets the ignore reason. + + The ignore reason. + + + + FactoryAttribute indicates the source to be used to + provide test cases for a test method. + + + + + Construct with the name of the factory - for use with languages + that don't support params arrays. + + An array of the names of the factories that will provide data + + + + Construct with a Type and name - for use with languages + that don't support params arrays. + + The Type that will provide data + The name of the method, property or field that will provide data + + + + The name of a the method, property or fiend to be used as a source + + + + + A Type to be used as a source + + + + + [TestFixture] + public class ExampleClass + {} + + + + + Default constructor + + + + + Construct with a object[] representing a set of arguments. + In .NET 2.0, the arguments may later be separated into + type arguments and constructor arguments. + + + + + + Descriptive text for this fixture + + + + + Gets and sets the category for this fixture. + May be a comma-separated list of categories. + + + + + Gets a list of categories for this fixture + + + + + The arguments originally provided to the attribute + + + + + Gets or sets a value indicating whether this should be ignored. + + true if ignore; otherwise, false. + + + + Gets or sets the ignore reason. May set Ignored as a side effect. + + The ignore reason. + + + + Get or set the type arguments. If not set + explicitly, any leading arguments that are + Types are taken as type arguments. + + + + + Attribute used to identify a method that is + called before any tests in a fixture are run. + + + + + Attribute used to identify a method that is called after + all the tests in a fixture have run. The method is + guaranteed to be called, even if an exception is thrown. + + + + + Adding this attribute to a method within a + class makes the method callable from the NUnit test runner. There is a property + called Description which is optional which you can provide a more detailed test + description. This class cannot be inherited. + + + + [TestFixture] + public class Fixture + { + [Test] + public void MethodToTest() + {} + + [Test(Description = "more detailed description")] + publc void TestDescriptionMethod() + {} + } + + + + + + WUsed on a method, marks the test with a timeout value in milliseconds. + The test will be run in a separate thread and is cancelled if the timeout + is exceeded. Used on a method or assembly, sets the default timeout + for all contained test methods. + + + + + Construct a TimeoutAttribute given a time in milliseconds + + The timeout value in milliseconds + + + + Marks a test that must run in the STA, causing it + to run in a separate thread if necessary. + + On methods, you may also use STAThreadAttribute + to serve the same purpose. + + + + + Construct a RequiresSTAAttribute + + + + + Marks a test that must run in the MTA, causing it + to run in a separate thread if necessary. + + On methods, you may also use MTAThreadAttribute + to serve the same purpose. + + + + + Construct a RequiresMTAAttribute + + + + + Marks a test that must run on a separate thread. + + + + + Construct a RequiresThreadAttribute + + + + + Construct a RequiresThreadAttribute, specifying the apartment + + + + + ValueSourceAttribute indicates the source to be used to + provide data for one parameter of a test method. + + + + + Construct with the name of the factory - for use with languages + that don't support params arrays. + + The name of the data source to be used + + + + Construct with a Type and name - for use with languages + that don't support params arrays. + + The Type that will provide data + The name of the method, property or field that will provide data + + + + The name of a the method, property or fiend to be used as a source + + + + + A Type to be used as a source + + + + + AttributeExistsConstraint tests for the presence of a + specified attribute on a Type. + + + + + The Constraint class is the base of all built-in constraints + within NUnit. It provides the operator overloads used to combine + constraints. + + + + + The IConstraintExpression interface is implemented by all + complete and resolvable constraints and expressions. + + + + + Return the top-level constraint for this expression + + + + + + Static UnsetObject used to detect derived constraints + failing to set the actual value. + + + + + The actual value being tested against a constraint + + + + + The display name of this Constraint for use by ToString() + + + + + Argument fields used by ToString(); + + + + + The builder holding this constraint + + + + + Construct a constraint with no arguments + + + + + Construct a constraint with one argument + + + + + Construct a constraint with two arguments + + + + + Sets the ConstraintBuilder holding this constraint + + + + + Write the failure message to the MessageWriter provided + as an argument. The default implementation simply passes + the constraint and the actual value to the writer, which + then displays the constraint description and the value. + + Constraints that need to provide additional details, + such as where the error occured can override this. + + The MessageWriter on which to display the message + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + Test whether the constraint is satisfied by an + ActualValueDelegate that returns the value to be tested. + The default implementation simply evaluates the delegate + but derived classes may override it to provide for delayed + processing. + + An ActualValueDelegate + True for success, false for failure + + + + Test whether the constraint is satisfied by a given reference. + The default implementation simply dereferences the value but + derived classes may override it to provide for delayed processing. + + A reference to the value to be tested + True for success, false for failure + + + + Write the constraint description to a MessageWriter + + The writer on which the description is displayed + + + + Write the actual value for a failing constraint test to a + MessageWriter. The default implementation simply writes + the raw value of actual, leaving it to the writer to + perform any formatting. + + The writer on which the actual value is displayed + + + + Default override of ToString returns the constraint DisplayName + followed by any arguments within angle brackets. + + + + + + Returns the string representation of this constraint + + + + + This operator creates a constraint that is satisfied only if both + argument constraints are satisfied. + + + + + This operator creates a constraint that is satisfied if either + of the argument constraints is satisfied. + + + + + This operator creates a constraint that is satisfied if the + argument constraint is not satisfied. + + + + + Returns a DelayedConstraint with the specified delay time. + + The delay in milliseconds. + + + + + Returns a DelayedConstraint with the specified delay time + and polling interval. + + The delay in milliseconds. + The interval at which to test the constraint. + + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + Returns a ConstraintExpression by appending And + to the current constraint. + + + + + Returns a ConstraintExpression by appending And + to the current constraint. + + + + + Returns a ConstraintExpression by appending Or + to the current constraint. + + + + + Class used to detect any derived constraints + that fail to set the actual value in their + Matches override. + + + + + Constructs an AttributeExistsConstraint for a specific attribute Type + + + + + + Tests whether the object provides the expected attribute. + + A Type, MethodInfo, or other ICustomAttributeProvider + True if the expected attribute is present, otherwise false + + + + Writes the description of the constraint to the specified writer + + + + + AttributeConstraint tests that a specified attribute is present + on a Type or other provider and that the value of the attribute + satisfies some other constraint. + + + + + Abstract base class used for prefixes + + + + + The base constraint + + + + + Construct given a base constraint + + + + + + Constructs an AttributeConstraint for a specified attriute + Type and base constraint. + + + + + + + Determines whether the Type or other provider has the + expected attribute and if its value matches the + additional constraint specified. + + + + + Writes a description of the attribute to the specified writer. + + + + + Writes the actual value supplied to the specified writer. + + + + + Returns a string representation of the constraint. + + + + + BasicConstraint is the abstract base for constraints that + perform a simple comparison to a constant value. + + + + + Initializes a new instance of the class. + + The expected. + The description. + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + Write the constraint description to a MessageWriter + + The writer on which the description is displayed + + + + NullConstraint tests that the actual value is null + + + + + Initializes a new instance of the class. + + + + + TrueConstraint tests that the actual value is true + + + + + Initializes a new instance of the class. + + + + + FalseConstraint tests that the actual value is false + + + + + Initializes a new instance of the class. + + + + + NaNConstraint tests that the actual value is a double or float NaN + + + + + Test that the actual value is an NaN + + + + + + + Write the constraint description to a specified writer + + + + + + BinaryConstraint is the abstract base of all constraints + that combine two other constraints in some fashion. + + + + + The first constraint being combined + + + + + The second constraint being combined + + + + + Construct a BinaryConstraint from two other constraints + + The first constraint + The second constraint + + + + AndConstraint succeeds only if both members succeed. + + + + + Create an AndConstraint from two other constraints + + The first constraint + The second constraint + + + + Apply both member constraints to an actual value, succeeding + succeeding only if both of them succeed. + + The actual value + True if the constraints both succeeded + + + + Write a description for this contraint to a MessageWriter + + The MessageWriter to receive the description + + + + Write the actual value for a failing constraint test to a + MessageWriter. The default implementation simply writes + the raw value of actual, leaving it to the writer to + perform any formatting. + + The writer on which the actual value is displayed + + + + OrConstraint succeeds if either member succeeds + + + + + Create an OrConstraint from two other constraints + + The first constraint + The second constraint + + + + Apply the member constraints to an actual value, succeeding + succeeding as soon as one of them succeeds. + + The actual value + True if either constraint succeeded + + + + Write a description for this contraint to a MessageWriter + + The MessageWriter to receive the description + + + + CollectionConstraint is the abstract base class for + constraints that operate on collections. + + + + + Construct an empty CollectionConstraint + + + + + Construct a CollectionConstraint + + + + + + Determines whether the specified enumerable is empty. + + The enumerable. + + true if the specified enumerable is empty; otherwise, false. + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + Protected method to be implemented by derived classes + + + + + + + CollectionItemsEqualConstraint is the abstract base class for all + collection constraints that apply some notion of item equality + as a part of their operation. + + + + + Construct an empty CollectionConstraint + + + + + Construct a CollectionConstraint + + + + + + Flag the constraint to use the supplied IComparer object. + + The IComparer object to use. + Self. + + + + Flag the constraint to use the supplied IComparer object. + + The IComparer object to use. + Self. + + + + Flag the constraint to use the supplied Comparison object. + + The IComparer object to use. + Self. + + + + Flag the constraint to use the supplied IEqualityComparer object. + + The IComparer object to use. + Self. + + + + Flag the constraint to use the supplied IEqualityComparer object. + + The IComparer object to use. + Self. + + + + Compares two collection members for equality + + + + + Return a new CollectionTally for use in making tests + + The collection to be included in the tally + + + + Flag the constraint to ignore case and return self. + + + + + EmptyCollectionConstraint tests whether a collection is empty. + + + + + Check that the collection is empty + + + + + + + Write the constraint description to a MessageWriter + + + + + + UniqueItemsConstraint tests whether all the items in a + collection are unique. + + + + + Check that all items are unique. + + + + + + + Write a description of this constraint to a MessageWriter + + + + + + CollectionContainsConstraint is used to test whether a collection + contains an expected object as a member. + + + + + Construct a CollectionContainsConstraint + + + + + + Test whether the expected item is contained in the collection + + + + + + + Write a descripton of the constraint to a MessageWriter + + + + + + CollectionEquivalentCOnstraint is used to determine whether two + collections are equivalent. + + + + + Construct a CollectionEquivalentConstraint + + + + + + Test whether two collections are equivalent + + + + + + + Write a description of this constraint to a MessageWriter + + + + + + CollectionSubsetConstraint is used to determine whether + one collection is a subset of another + + + + + Construct a CollectionSubsetConstraint + + The collection that the actual value is expected to be a subset of + + + + Test whether the actual collection is a subset of + the expected collection provided. + + + + + + + Write a description of this constraint to a MessageWriter + + + + + + CollectionOrderedConstraint is used to test whether a collection is ordered. + + + + + Construct a CollectionOrderedConstraint + + + + + Modifies the constraint to use an IComparer and returns self. + + + + + Modifies the constraint to use an IComparer<T> and returns self. + + + + + Modifies the constraint to use a Comparison<T> and returns self. + + + + + Modifies the constraint to test ordering by the value of + a specified property and returns self. + + + + + Test whether the collection is ordered + + + + + + + Write a description of the constraint to a MessageWriter + + + + + + Returns the string representation of the constraint. + + + + + + If used performs a reverse comparison + + + + + CollectionTally counts (tallies) the number of + occurences of each object in one or more enumerations. + + + + + Construct a CollectionTally object from a comparer and a collection + + + + + Try to remove an object from the tally + + The object to remove + True if successful, false if the object was not found + + + + Try to remove a set of objects from the tally + + The objects to remove + True if successful, false if any object was not found + + + + The number of objects remaining in the tally + + + + + ComparisonAdapter class centralizes all comparisons of + values in NUnit, adapting to the use of any provided + IComparer, IComparer<T> or Comparison<T> + + + + + Returns a ComparisonAdapter that wraps an IComparer + + + + + Returns a ComparisonAdapter that wraps an IComparer<T> + + + + + Returns a ComparisonAdapter that wraps a Comparison<T> + + + + + Compares two objects + + + + + Gets the default ComparisonAdapter, which wraps an + NUnitComparer object. + + + + + Construct a ComparisonAdapter for an IComparer + + + + + Compares two objects + + + + + + + + Construct a default ComparisonAdapter + + + + + ComparisonAdapter<T> extends ComparisonAdapter and + allows use of an IComparer<T> or Comparison<T> + to actually perform the comparison. + + + + + Construct a ComparisonAdapter for an IComparer<T> + + + + + Compare a Type T to an object + + + + + Construct a ComparisonAdapter for a Comparison<T> + + + + + Compare a Type T to an object + + + + + Abstract base class for constraints that compare values to + determine if one is greater than, equal to or less than + the other. + + + + + The value against which a comparison is to be made + + + + + If true, less than returns success + + + + + if true, equal returns success + + + + + if true, greater than returns success + + + + + The predicate used as a part of the description + + + + + ComparisonAdapter to be used in making the comparison + + + + + Initializes a new instance of the class. + + The value against which to make a comparison. + if set to true less succeeds. + if set to true equal succeeds. + if set to true greater succeeds. + String used in describing the constraint. + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + Write the constraint description to a MessageWriter + + The writer on which the description is displayed + + + + Modifies the constraint to use an IComparer and returns self + + + + + Modifies the constraint to use an IComparer<T> and returns self + + + + + Modifies the constraint to use a Comparison<T> and returns self + + + + + Tests whether a value is greater than the value supplied to its constructor + + + + + Initializes a new instance of the class. + + The expected value. + + + + Tests whether a value is greater than or equal to the value supplied to its constructor + + + + + Initializes a new instance of the class. + + The expected value. + + + + Tests whether a value is less than the value supplied to its constructor + + + + + Initializes a new instance of the class. + + The expected value. + + + + Tests whether a value is less than or equal to the value supplied to its constructor + + + + + Initializes a new instance of the class. + + The expected value. + + + + Delegate used to delay evaluation of the actual value + to be used in evaluating a constraint + + + + + ConstraintBuilder maintains the stacks that are used in + processing a ConstraintExpression. An OperatorStack + is used to hold operators that are waiting for their + operands to be reognized. a ConstraintStack holds + input constraints as well as the results of each + operator applied. + + + + + Initializes a new instance of the class. + + + + + Appends the specified operator to the expression by first + reducing the operator stack and then pushing the new + operator on the stack. + + The operator to push. + + + + Appends the specified constraint to the expresson by pushing + it on the constraint stack. + + The constraint to push. + + + + Sets the top operator right context. + + The right context. + + + + Reduces the operator stack until the topmost item + precedence is greater than or equal to the target precedence. + + The target precedence. + + + + Resolves this instance, returning a Constraint. If the builder + is not currently in a resolvable state, an exception is thrown. + + The resolved constraint + + + + Gets a value indicating whether this instance is resolvable. + + + true if this instance is resolvable; otherwise, false. + + + + + OperatorStack is a type-safe stack for holding ConstraintOperators + + + + + Initializes a new instance of the class. + + The builder. + + + + Pushes the specified operator onto the stack. + + The op. + + + + Pops the topmost operator from the stack. + + + + + + Gets a value indicating whether this is empty. + + true if empty; otherwise, false. + + + + Gets the topmost operator without modifying the stack. + + The top. + + + + ConstraintStack is a type-safe stack for holding Constraints + + + + + Initializes a new instance of the class. + + The builder. + + + + Pushes the specified constraint. As a side effect, + the constraint's builder field is set to the + ConstraintBuilder owning this stack. + + The constraint. + + + + Pops this topmost constrait from the stack. + As a side effect, the constraint's builder + field is set to null. + + + + + + Gets a value indicating whether this is empty. + + true if empty; otherwise, false. + + + + Gets the topmost constraint without modifying the stack. + + The topmost constraint + + + + ConstraintExpression represents a compound constraint in the + process of being constructed from a series of syntactic elements. + + Individual elements are appended to the expression as they are + reognized. Once an actual Constraint is appended, the expression + returns a resolvable Constraint. + + + + + ConstraintExpressionBase is the abstract base class for the + generated ConstraintExpression class, which represents a + compound constraint in the process of being constructed + from a series of syntactic elements. + + NOTE: ConstraintExpressionBase is aware of some of its + derived classes, which is an apparent violation of + encapsulation. Ideally, these classes would be a + single class, but they must be separated in order to + allow parts to be generated under .NET 1.x and to + provide proper user feedback in syntactically + aware IDEs. + + + + + The ConstraintBuilder holding the elements recognized so far + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the + class passing in a ConstraintBuilder, which may be pre-populated. + + The builder. + + + + Returns a string representation of the expression as it + currently stands. This should only be used for testing, + since it has the side-effect of resolving the expression. + + + + + + Appends an operator to the expression and returns the + resulting expression itself. + + + + + Appends a self-resolving operator to the expression and + returns a new ResolvableConstraintExpression. + + + + + Appends a constraint to the expression and returns that + constraint, which is associated with the current state + of the expression being built. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the + class passing in a ConstraintBuilder, which may be pre-populated. + + The builder. + + + + Returns a new PropertyConstraintExpression, which will either + test for the existence of the named property on the object + being tested or apply any following constraint to that property. + + + + + Returns a new AttributeConstraint checking for the + presence of a particular attribute on an object. + + + + + Returns a new AttributeConstraint checking for the + presence of a particular attribute on an object. + + + + + Returns the constraint provided as an argument - used to allow custom + custom constraints to easily participate in the syntax. + + + + + Returns the constraint provided as an argument - used to allow custom + custom constraints to easily participate in the syntax. + + + + + Returns a constraint that tests two items for equality + + + + + Returns a constraint that tests that two references are the same object + + + + + Returns a constraint that tests whether the + actual value is greater than the suppled argument + + + + + Returns a constraint that tests whether the + actual value is greater than or equal to the suppled argument + + + + + Returns a constraint that tests whether the + actual value is greater than or equal to the suppled argument + + + + + Returns a constraint that tests whether the + actual value is less than the suppled argument + + + + + Returns a constraint that tests whether the + actual value is less than or equal to the suppled argument + + + + + Returns a constraint that tests whether the + actual value is less than or equal to the suppled argument + + + + + Returns a constraint that tests whether the actual + value is of the exact type supplied as an argument. + + + + + Returns a constraint that tests whether the actual + value is of the exact type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is of the type supplied as an argument or a derived type. + + + + + Returns a constraint that tests whether the actual value + is of the type supplied as an argument or a derived type. + + + + + Returns a constraint that tests whether the actual value + is of the type supplied as an argument or a derived type. + + + + + Returns a constraint that tests whether the actual value + is of the type supplied as an argument or a derived type. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is a collection containing the same elements as the + collection supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is a subset of the collection supplied as an argument. + + + + + Returns a new CollectionContainsConstraint checking for the + presence of a particular object in the collection. + + + + + Returns a new CollectionContainsConstraint checking for the + presence of a particular object in the collection. + + + + + Returns a new ContainsConstraint. This constraint + will, in turn, make use of the appropriate second-level + constraint, depending on the type of the actual argument. + This overload is only used if the item sought is a string, + since any other type implies that we are looking for a + collection member. + + + + + Returns a constraint that succeeds if the actual + value contains the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value contains the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value starts with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value starts with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value ends with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value ends with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value matches the Regex pattern supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value matches the Regex pattern supplied as an argument. + + + + + Returns a constraint that tests whether the path provided + is the same as an expected path after canonicalization. + + + + + Returns a constraint that tests whether the path provided + is the same path or under an expected path after canonicalization. + + + + + Returns a constraint that tests whether the path provided + is the same path or under an expected path after canonicalization. + + + + + Returns a constraint that tests whether the actual value falls + within a specified range. + + + + + Returns a ConstraintExpression that negates any + following constraint. + + + + + Returns a ConstraintExpression that negates any + following constraint. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if all of them succeed. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if at least one of them succeeds. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if all of them fail. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the Length property of the object being tested. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the Count property of the object being tested. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the Message property of the object being tested. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the InnerException property of the object being tested. + + + + + With is currently a NOP - reserved for future use. + + + + + Returns a constraint that tests for null + + + + + Returns a constraint that tests for True + + + + + Returns a constraint that tests for False + + + + + Returns a constraint that tests for NaN + + + + + Returns a constraint that tests for empty + + + + + Returns a constraint that tests whether a collection + contains all unique items. + + + + + Returns a constraint that tests whether an object graph is serializable in binary format. + + + + + Returns a constraint that tests whether an object graph is serializable in xml format. + + + + + Returns a constraint that tests whether a collection is ordered + + + + + Helper class with properties and methods that supply + a number of constraints used in Asserts. + + + + + Returns a new PropertyConstraintExpression, which will either + test for the existence of the named property on the object + being tested or apply any following constraint to that property. + + + + + Returns a new AttributeConstraint checking for the + presence of a particular attribute on an object. + + + + + Returns a new AttributeConstraint checking for the + presence of a particular attribute on an object. + + + + + Returns a constraint that tests two items for equality + + + + + Returns a constraint that tests that two references are the same object + + + + + Returns a constraint that tests whether the + actual value is greater than the suppled argument + + + + + Returns a constraint that tests whether the + actual value is greater than or equal to the suppled argument + + + + + Returns a constraint that tests whether the + actual value is greater than or equal to the suppled argument + + + + + Returns a constraint that tests whether the + actual value is less than the suppled argument + + + + + Returns a constraint that tests whether the + actual value is less than or equal to the suppled argument + + + + + Returns a constraint that tests whether the + actual value is less than or equal to the suppled argument + + + + + Returns a constraint that tests whether the actual + value is of the exact type supplied as an argument. + + + + + Returns a constraint that tests whether the actual + value is of the exact type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is of the type supplied as an argument or a derived type. + + + + + Returns a constraint that tests whether the actual value + is of the type supplied as an argument or a derived type. + + + + + Returns a constraint that tests whether the actual value + is of the type supplied as an argument or a derived type. + + + + + Returns a constraint that tests whether the actual value + is of the type supplied as an argument or a derived type. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is a collection containing the same elements as the + collection supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is a subset of the collection supplied as an argument. + + + + + Returns a new CollectionContainsConstraint checking for the + presence of a particular object in the collection. + + + + + Returns a new CollectionContainsConstraint checking for the + presence of a particular object in the collection. + + + + + Returns a new ContainsConstraint. This constraint + will, in turn, make use of the appropriate second-level + constraint, depending on the type of the actual argument. + This overload is only used if the item sought is a string, + since any other type implies that we are looking for a + collection member. + + + + + Returns a constraint that succeeds if the actual + value contains the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value contains the substring supplied as an argument. + + + + + Returns a constraint that fails if the actual + value contains the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value starts with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value starts with the substring supplied as an argument. + + + + + Returns a constraint that fails if the actual + value starts with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value ends with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value ends with the substring supplied as an argument. + + + + + Returns a constraint that fails if the actual + value ends with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value matches the Regex pattern supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value matches the Regex pattern supplied as an argument. + + + + + Returns a constraint that fails if the actual + value matches the pattern supplied as an argument. + + + + + Returns a constraint that tests whether the path provided + is the same as an expected path after canonicalization. + + + + + Returns a constraint that tests whether the path provided + is the same path or under an expected path after canonicalization. + + + + + Returns a constraint that tests whether the path provided + is the same path or under an expected path after canonicalization. + + + + + Returns a constraint that tests whether the actual value falls + within a specified range. + + + + + Returns a ConstraintExpression that negates any + following constraint. + + + + + Returns a ConstraintExpression that negates any + following constraint. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if all of them succeed. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if at least one of them succeeds. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if all of them fail. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the Length property of the object being tested. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the Count property of the object being tested. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the Message property of the object being tested. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the InnerException property of the object being tested. + + + + + Returns a constraint that tests for null + + + + + Returns a constraint that tests for True + + + + + Returns a constraint that tests for False + + + + + Returns a constraint that tests for NaN + + + + + Returns a constraint that tests for empty + + + + + Returns a constraint that tests whether a collection + contains all unique items. + + + + + Returns a constraint that tests whether an object graph is serializable in binary format. + + + + + Returns a constraint that tests whether an object graph is serializable in xml format. + + + + + Returns a constraint that tests whether a collection is ordered + + + + + The ConstraintOperator class is used internally by a + ConstraintBuilder to represent an operator that + modifies or combines constraints. + + Constraint operators use left and right precedence + values to determine whether the top operator on the + stack should be reduced before pushing a new operator. + + + + + The precedence value used when the operator + is about to be pushed to the stack. + + + + + The precedence value used when the operator + is on the top of the stack. + + + + + Reduce produces a constraint from the operator and + any arguments. It takes the arguments from the constraint + stack and pushes the resulting constraint on it. + + + + + + The syntax element preceding this operator + + + + + The syntax element folowing this operator + + + + + The precedence value used when the operator + is about to be pushed to the stack. + + + + + The precedence value used when the operator + is on the top of the stack. + + + + + PrefixOperator takes a single constraint and modifies + it's action in some way. + + + + + Reduce produces a constraint from the operator and + any arguments. It takes the arguments from the constraint + stack and pushes the resulting constraint on it. + + + + + + Returns the constraint created by applying this + prefix to another constraint. + + + + + + + Negates the test of the constraint it wraps. + + + + + Constructs a new NotOperator + + + + + Returns a NotConstraint applied to its argument. + + + + + Abstract base for operators that indicate how to + apply a constraint to items in a collection. + + + + + Constructs a CollectionOperator + + + + + Represents a constraint that succeeds if all the + members of a collection match a base constraint. + + + + + Returns a constraint that will apply the argument + to the members of a collection, succeeding if + they all succeed. + + + + + Represents a constraint that succeeds if any of the + members of a collection match a base constraint. + + + + + Returns a constraint that will apply the argument + to the members of a collection, succeeding if + any of them succeed. + + + + + Represents a constraint that succeeds if none of the + members of a collection match a base constraint. + + + + + Returns a constraint that will apply the argument + to the members of a collection, succeeding if + none of them succeed. + + + + + Represents a constraint that simply wraps the + constraint provided as an argument, without any + further functionality, but which modifes the + order of evaluation because of its precedence. + + + + + Constructor for the WithOperator + + + + + Returns a constraint that wraps its argument + + + + + Abstract base class for operators that are able to reduce to a + constraint whether or not another syntactic element follows. + + + + + Operator used to test for the presence of a named Property + on an object and optionally apply further tests to the + value of that property. + + + + + Constructs a PropOperator for a particular named property + + + + + Reduce produces a constraint from the operator and + any arguments. It takes the arguments from the constraint + stack and pushes the resulting constraint on it. + + + + + + Gets the name of the property to which the operator applies + + + + + Operator that tests for the presence of a particular attribute + on a type and optionally applies further tests to the attribute. + + + + + Construct an AttributeOperator for a particular Type + + The Type of attribute tested + + + + Reduce produces a constraint from the operator and + any arguments. It takes the arguments from the constraint + stack and pushes the resulting constraint on it. + + + + + Operator that tests that an exception is thrown and + optionally applies further tests to the exception. + + + + + Construct a ThrowsOperator + + + + + Reduce produces a constraint from the operator and + any arguments. It takes the arguments from the constraint + stack and pushes the resulting constraint on it. + + + + + Abstract base class for all binary operators + + + + + Reduce produces a constraint from the operator and + any arguments. It takes the arguments from the constraint + stack and pushes the resulting constraint on it. + + + + + + Abstract method that produces a constraint by applying + the operator to its left and right constraint arguments. + + + + + Gets the left precedence of the operator + + + + + Gets the right precedence of the operator + + + + + Operator that requires both it's arguments to succeed + + + + + Construct an AndOperator + + + + + Apply the operator to produce an AndConstraint + + + + + Operator that requires at least one of it's arguments to succeed + + + + + Construct an OrOperator + + + + + Apply the operator to produce an OrConstraint + + + + + ContainsConstraint tests a whether a string contains a substring + or a collection contains an object. It postpones the decision of + which test to use until the type of the actual argument is known. + This allows testing whether a string is contained in a collection + or as a substring of another string using the same syntax. + + + + + Initializes a new instance of the class. + + The expected. + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + Write the constraint description to a MessageWriter + + The writer on which the description is displayed + + + + Flag the constraint to use the supplied IComparer object. + + The IComparer object to use. + Self. + + + + Flag the constraint to use the supplied IComparer object. + + The IComparer object to use. + Self. + + + + Flag the constraint to use the supplied Comparison object. + + The IComparer object to use. + Self. + + + + Flag the constraint to use the supplied IEqualityComparer object. + + The IComparer object to use. + Self. + + + + Flag the constraint to use the supplied IEqualityComparer object. + + The IComparer object to use. + Self. + + + + Flag the constraint to ignore case and return self. + + + + + Applies a delay to the match so that a match can be evaluated in the future. + + + + + Creates a new DelayedConstraint + + The inner constraint two decorate + The time interval after which the match is performed + If the value of is less than 0 + + + + Creates a new DelayedConstraint + + The inner constraint two decorate + The time interval after which the match is performed + The time interval used for polling + If the value of is less than 0 + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for if the base constraint fails, false if it succeeds + + + + Test whether the constraint is satisfied by a delegate + + The delegate whose value is to be tested + True for if the base constraint fails, false if it succeeds + + + + Test whether the constraint is satisfied by a given reference. + Overridden to wait for the specified delay period before + calling the base constraint with the dereferenced value. + + A reference to the value to be tested + True for success, false for failure + + + + Write the constraint description to a MessageWriter + + The writer on which the description is displayed + + + + Write the actual value for a failing constraint test to a MessageWriter. + + The writer on which the actual value is displayed + + + + Returns the string representation of the constraint. + + + + + EmptyDirectoryConstraint is used to test that a directory is empty + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + Write the constraint description to a MessageWriter + + The writer on which the description is displayed + + + + Write the actual value for a failing constraint test to a + MessageWriter. The default implementation simply writes + the raw value of actual, leaving it to the writer to + perform any formatting. + + The writer on which the actual value is displayed + + + + EmptyConstraint tests a whether a string or collection is empty, + postponing the decision about which test is applied until the + type of the actual argument is known. + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + Write the constraint description to a MessageWriter + + The writer on which the description is displayed + + + + EqualConstraint is able to compare an actual value with the + expected value provided in its constructor. Two objects are + considered equal if both are null, or if both have the same + value. NUnit has special semantics for some object types. + + + + + If true, strings in error messages will be clipped + + + + + NUnitEqualityComparer used to test equality. + + + + + Initializes a new instance of the class. + + The expected value. + + + + Flag the constraint to use a tolerance when determining equality. + + Tolerance value to be used + Self. + + + + Flag the constraint to use the supplied IComparer object. + + The IComparer object to use. + Self. + + + + Flag the constraint to use the supplied IComparer object. + + The IComparer object to use. + Self. + + + + Flag the constraint to use the supplied IComparer object. + + The IComparer object to use. + Self. + + + + Flag the constraint to use the supplied Comparison object. + + The IComparer object to use. + Self. + + + + Flag the constraint to use the supplied IEqualityComparer object. + + The IComparer object to use. + Self. + + + + Flag the constraint to use the supplied IEqualityComparer object. + + The IComparer object to use. + Self. + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + Write a failure message. Overridden to provide custom + failure messages for EqualConstraint. + + The MessageWriter to write to + + + + Write description of this constraint + + The MessageWriter to write to + + + + Display the failure information for two collections that did not match. + + The MessageWriter on which to display + The expected collection. + The actual collection + The depth of this failure in a set of nested collections + + + + Displays a single line showing the types and sizes of the expected + and actual collections or arrays. If both are identical, the value is + only shown once. + + The MessageWriter on which to display + The expected collection or array + The actual collection or array + The indentation level for the message line + + + + Displays a single line showing the point in the expected and actual + arrays at which the comparison failed. If the arrays have different + structures or dimensions, both values are shown. + + The MessageWriter on which to display + The expected array + The actual array + Index of the failure point in the underlying collections + The indentation level for the message line + + + + Flag the constraint to ignore case and return self. + + + + + Flag the constraint to suppress string clipping + and return self. + + + + + Flag the constraint to compare arrays as collections + and return self. + + + + + Switches the .Within() modifier to interpret its tolerance as + a distance in representable values (see remarks). + + Self. + + Ulp stands for "unit in the last place" and describes the minimum + amount a given value can change. For any integers, an ulp is 1 whole + digit. For floating point values, the accuracy of which is better + for smaller numbers and worse for larger numbers, an ulp depends + on the size of the number. Using ulps for comparison of floating + point results instead of fixed tolerances is safer because it will + automatically compensate for the added inaccuracy of larger numbers. + + + + + Switches the .Within() modifier to interpret its tolerance as + a percentage that the actual values is allowed to deviate from + the expected value. + + Self + + + + Causes the tolerance to be interpreted as a TimeSpan in days. + + Self + + + + Causes the tolerance to be interpreted as a TimeSpan in hours. + + Self + + + + Causes the tolerance to be interpreted as a TimeSpan in minutes. + + Self + + + + Causes the tolerance to be interpreted as a TimeSpan in seconds. + + Self + + + + Causes the tolerance to be interpreted as a TimeSpan in milliseconds. + + Self + + + + Causes the tolerance to be interpreted as a TimeSpan in clock ticks. + + Self + + + + EqualityAdapter class handles all equality comparisons + that use an IEqualityComparer, IEqualityComparer<T> + or a ComparisonAdapter. + + + + + Compares two objects, returning true if they are equal + + + + + Returns an EqualityAdapter that wraps an IComparer. + + + + + Returns an EqualityAdapter that wraps an IEqualityComparer. + + + + + Returns an EqualityAdapter that wraps an IEqualityComparer<T>. + + + + + Returns an EqualityAdapter that wraps an IComparer<T>. + + + + + Returns an EqualityAdapter that wraps a Comparison<T>. + + + + Helper routines for working with floating point numbers + + + The floating point comparison code is based on this excellent article: + http://www.cygnus-software.com/papers/comparingfloats/comparingfloats.htm + + + "ULP" means Unit in the Last Place and in the context of this library refers to + the distance between two adjacent floating point numbers. IEEE floating point + numbers can only represent a finite subset of natural numbers, with greater + accuracy for smaller numbers and lower accuracy for very large numbers. + + + If a comparison is allowed "2 ulps" of deviation, that means the values are + allowed to deviate by up to 2 adjacent floating point values, which might be + as low as 0.0000001 for small numbers or as high as 10.0 for large numbers. + + + + + Compares two floating point values for equality + First floating point value to be compared + Second floating point value t be compared + + Maximum number of representable floating point values that are allowed to + be between the left and the right floating point values + + True if both numbers are equal or close to being equal + + + Floating point values can only represent a finite subset of natural numbers. + For example, the values 2.00000000 and 2.00000024 can be stored in a float, + but nothing inbetween them. + + + This comparison will count how many possible floating point values are between + the left and the right number. If the number of possible values between both + numbers is less than or equal to maxUlps, then the numbers are considered as + being equal. + + + Implementation partially follows the code outlined here: + http://www.anttirt.net/2007/08/19/proper-floating-point-comparisons/ + + + + + Compares two double precision floating point values for equality + First double precision floating point value to be compared + Second double precision floating point value t be compared + + Maximum number of representable double precision floating point values that are + allowed to be between the left and the right double precision floating point values + + True if both numbers are equal or close to being equal + + + Double precision floating point values can only represent a limited series of + natural numbers. For example, the values 2.0000000000000000 and 2.0000000000000004 + can be stored in a double, but nothing inbetween them. + + + This comparison will count how many possible double precision floating point + values are between the left and the right number. If the number of possible + values between both numbers is less than or equal to maxUlps, then the numbers + are considered as being equal. + + + Implementation partially follows the code outlined here: + http://www.anttirt.net/2007/08/19/proper-floating-point-comparisons/ + + + + + + Reinterprets the memory contents of a floating point value as an integer value + + + Floating point value whose memory contents to reinterpret + + + The memory contents of the floating point value interpreted as an integer + + + + + Reinterprets the memory contents of a double precision floating point + value as an integer value + + + Double precision floating point value whose memory contents to reinterpret + + + The memory contents of the double precision floating point value + interpreted as an integer + + + + + Reinterprets the memory contents of an integer as a floating point value + + Integer value whose memory contents to reinterpret + + The memory contents of the integer value interpreted as a floating point value + + + + + Reinterprets the memory contents of an integer value as a double precision + floating point value + + Integer whose memory contents to reinterpret + + The memory contents of the integer interpreted as a double precision + floating point value + + + + Union of a floating point variable and an integer + + + The union's value as a floating point variable + + + The union's value as an integer + + + The union's value as an unsigned integer + + + Union of a double precision floating point variable and a long + + + The union's value as a double precision floating point variable + + + The union's value as a long + + + The union's value as an unsigned long + + + + MessageWriter is the abstract base for classes that write + constraint descriptions and messages in some form. The + class has separate methods for writing various components + of a message, allowing implementations to tailor the + presentation as needed. + + + + + Construct a MessageWriter given a culture + + + + + Method to write single line message with optional args, usually + written to precede the general failure message. + + The message to be written + Any arguments used in formatting the message + + + + Method to write single line message with optional args, usually + written to precede the general failure message, at a givel + indentation level. + + The indentation level of the message + The message to be written + Any arguments used in formatting the message + + + + Display Expected and Actual lines for a constraint. This + is called by MessageWriter's default implementation of + WriteMessageTo and provides the generic two-line display. + + The constraint that failed + + + + Display Expected and Actual lines for given values. This + method may be called by constraints that need more control over + the display of actual and expected values than is provided + by the default implementation. + + The expected value + The actual value causing the failure + + + + Display Expected and Actual lines for given values, including + a tolerance value on the Expected line. + + The expected value + The actual value causing the failure + The tolerance within which the test was made + + + + Display the expected and actual string values on separate lines. + If the mismatch parameter is >=0, an additional line is displayed + line containing a caret that points to the mismatch point. + + The expected string value + The actual string value + The point at which the strings don't match or -1 + If true, case is ignored in locating the point where the strings differ + If true, the strings should be clipped to fit the line + + + + Writes the text for a connector. + + The connector. + + + + Writes the text for a predicate. + + The predicate. + + + + Writes the text for an expected value. + + The expected value. + + + + Writes the text for a modifier + + The modifier. + + + + Writes the text for an actual value. + + The actual value. + + + + Writes the text for a generalized value. + + The value. + + + + Writes the text for a collection value, + starting at a particular point, to a max length + + The collection containing elements to write. + The starting point of the elements to write + The maximum number of elements to write + + + + Abstract method to get the max line length + + + + + Static methods used in creating messages + + + + + Static string used when strings are clipped + + + + + Returns the representation of a type as used in NUnitLite. + This is the same as Type.ToString() except for arrays, + which are displayed with their declared sizes. + + + + + + + Converts any control characters in a string + to their escaped representation. + + The string to be converted + The converted string + + + + Return the a string representation for a set of indices into an array + + Array of indices for which a string is needed + + + + Get an array of indices representing the point in a collection or + array corresponding to a single int index into the collection. + + The collection to which the indices apply + Index in the collection + Array of indices + + + + Clip a string to a given length, starting at a particular offset, returning the clipped + string with ellipses representing the removed parts + + The string to be clipped + The maximum permitted length of the result string + The point at which to start clipping + The clipped string + + + + Clip the expected and actual strings in a coordinated fashion, + so that they may be displayed together. + + + + + + + + + Shows the position two strings start to differ. Comparison + starts at the start index. + + The expected string + The actual string + The index in the strings at which comparison should start + Boolean indicating whether case should be ignored + -1 if no mismatch found, or the index where mismatch found + + + + The Numerics class contains common operations on numeric values. + + + + + 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 + + + + Checks the type of the object, returning true if + the object is a floating point numeric type. + + The object to check + true if the object is a floating point numeric type + + + + Checks the type of the object, returning true if + the object is a fixed point numeric type. + + The object to check + true if the object is a fixed point numeric type + + + + Test two numeric values for equality, performing the usual numeric + conversions and using a provided or default tolerance. If the tolerance + provided is Empty, this method may set it to a default tolerance. + + The expected value + The actual value + A reference to the tolerance in effect + True if the values are equal + + + + Compare two numeric values, performing the usual numeric conversions. + + The expected value + The actual value + The relationship of the values to each other + + + + NUnitComparer encapsulates NUnit's default behavior + in comparing two objects. + + + + + Compares two objects + + + + + + + + Returns the default NUnitComparer. + + + + + NUnitEqualityComparer encapsulates NUnit's handling of + equality tests between objects. + + + + + If true, all string comparisons will ignore case + + + + + If true, arrays will be treated as collections, allowing + those of different dimensions to be compared + + + + + If non-zero, equality comparisons within the specified + tolerance will succeed. + + + + + Comparison object used in comparisons for some constraints. + + + + + Compares two objects for equality. + + + + + Helper method to compare two arrays + + + + + Method to compare two DirectoryInfo objects + + first directory to compare + second directory to compare + true if equivalent, false if not + + + + Returns the default NUnitEqualityComparer + + + + + Gets and sets a flag indicating whether case should + be ignored in determining equality. + + + + + Gets and sets a flag indicating that arrays should be + compared as collections, without regard to their shape. + + + + + Gets and sets an external comparer to be used to + test for equality. It is applied to members of + collections, in place of NUnit's own logic. + + + + + Gets and sets a tolerance used to compare objects of + certin types. + + + + + Gets the list of failure points for the last Match performed. + + + + + PathConstraint serves as the abstract base of constraints + that operate on paths and provides several helper methods. + + + + + The expected path used in the constraint + + + + + The actual path being tested + + + + + Flag indicating whether a caseInsensitive comparison should be made + + + + + Construct a PathConstraint for a give expected path + + The expected path + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + Returns true if the expected path and actual path match + + + + + Returns the string representation of this constraint + + + + + Canonicalize the provided path + + + The path in standardized form + + + + Test whether two paths are the same + + The first path + The second path + Indicates whether case should be ignored + + + + + Test whether one path is under another path + + The first path - supposed to be the parent path + The second path - supposed to be the child path + Indicates whether case should be ignored + + + + + Test whether one path is the same as or under another path + + The first path - supposed to be the parent path + The second path - supposed to be the child path + + + + + Modifies the current instance to be case-insensitve + and returns it. + + + + + Modifies the current instance to be case-sensitve + and returns it. + + + + + Summary description for SamePathConstraint. + + + + + Initializes a new instance of the class. + + The expected path + + + + Test whether the constraint is satisfied by a given value + + The expected path + The actual path + True for success, false for failure + + + + Write the constraint description to a MessageWriter + + The writer on which the description is displayed + + + + SubPathConstraint tests that the actual path is under the expected path + + + + + Initializes a new instance of the class. + + The expected path + + + + Test whether the constraint is satisfied by a given value + + The expected path + The actual path + True for success, false for failure + + + + Write the constraint description to a MessageWriter + + The writer on which the description is displayed + + + + SamePathOrUnderConstraint tests that one path is under another + + + + + Initializes a new instance of the class. + + The expected path + + + + Test whether the constraint is satisfied by a given value + + The expected path + The actual path + True for success, false for failure + + + + Write the constraint description to a MessageWriter + + The writer on which the description is displayed + + + + Predicate constraint wraps a Predicate in a constraint, + returning success if the predicate is true. + + + + + Construct a PredicateConstraint from a predicate + + + + + Determines whether the predicate succeeds when applied + to the actual value. + + + + + Writes the description to a MessageWriter + + + + + NotConstraint negates the effect of some other constraint + + + + + Initializes a new instance of the class. + + The base constraint to be negated. + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for if the base constraint fails, false if it succeeds + + + + Write the constraint description to a MessageWriter + + The writer on which the description is displayed + + + + Write the actual value for a failing constraint test to a MessageWriter. + + The writer on which the actual value is displayed + + + + AllItemsConstraint applies another constraint to each + item in a collection, succeeding if they all succeed. + + + + + Construct an AllItemsConstraint on top of an existing constraint + + + + + + Apply the item constraint to each item in the collection, + failing if any item fails. + + + + + + + Write a description of this constraint to a MessageWriter + + + + + + SomeItemsConstraint applies another constraint to each + item in a collection, succeeding if any of them succeeds. + + + + + Construct a SomeItemsConstraint on top of an existing constraint + + + + + + Apply the item constraint to each item in the collection, + succeeding if any item succeeds. + + + + + + + Write a description of this constraint to a MessageWriter + + + + + + NoItemConstraint applies another constraint to each + item in a collection, failing if any of them succeeds. + + + + + Construct a SomeItemsConstraint on top of an existing constraint + + + + + + Apply the item constraint to each item in the collection, + failing if any item fails. + + + + + + + Write a description of this constraint to a MessageWriter + + + + + + PropertyExistsConstraint tests that a named property + exists on the object provided through Match. + + Originally, PropertyConstraint provided this feature + in addition to making optional tests on the vaue + of the property. The two constraints are now separate. + + + + + Initializes a new instance of the class. + + The name of the property. + + + + Test whether the property exists for a given object + + The object to be tested + True for success, false for failure + + + + Write the constraint description to a MessageWriter + + The writer on which the description is displayed + + + + Write the actual value for a failing constraint test to a + MessageWriter. + + The writer on which the actual value is displayed + + + + Returns the string representation of the constraint. + + + + + + PropertyConstraint extracts a named property and uses + its value as the actual value for a chained constraint. + + + + + Initializes a new instance of the class. + + The name. + The constraint to apply to the property. + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + Write the constraint description to a MessageWriter + + The writer on which the description is displayed + + + + Write the actual value for a failing constraint test to a + MessageWriter. The default implementation simply writes + the raw value of actual, leaving it to the writer to + perform any formatting. + + The writer on which the actual value is displayed + + + + Returns the string representation of the constraint. + + + + + + RangeConstraint tests whethe two values are within a + specified range. + + + + + Initializes a new instance of the class. + + From. + To. + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + Write the constraint description to a MessageWriter + + The writer on which the description is displayed + + + + Modifies the constraint to use an IComparer and returns self. + + + + + Modifies the constraint to use an IComparer<T> and returns self. + + + + + Modifies the constraint to use a Comparison<T> and returns self. + + + + + ResolvableConstraintExpression is used to represent a compound + constraint being constructed at a point where the last operator + may either terminate the expression or may have additional + qualifying constraints added to it. + + It is used, for example, for a Property element or for + an Exception element, either of which may be optionally + followed by constraints that apply to the property or + exception. + + + + + Create a new instance of ResolvableConstraintExpression + + + + + Create a new instance of ResolvableConstraintExpression, + passing in a pre-populated ConstraintBuilder. + + + + + Resolve the current expression to a Constraint + + + + + Appends an And Operator to the expression + + + + + Appends an Or operator to the expression. + + + + + ReusableConstraint wraps a resolved constraint so that it + may be saved and reused as needed. + + + + + Construct a ReusableConstraint + + The constraint or expression to be reused + + + + Conversion operator from a normal constraint to a ReusableConstraint. + + The original constraint to be wrapped as a ReusableConstraint + + + + + Returns the string representation of the constraint. + + A string representing the constraint + + + + Resolves the ReusableConstraint by returning the constraint + that it originally wrapped. + + A resolved constraint + + + + SameAsConstraint tests whether an object is identical to + the object passed to its constructor + + + + + Initializes a new instance of the class. + + The expected object. + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + Write the constraint description to a MessageWriter + + The writer on which the description is displayed + + + + BinarySerializableConstraint tests whether + an object is serializable in binary format. + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + Write the constraint description to a MessageWriter + + The writer on which the description is displayed + + + + Write the actual value for a failing constraint test to a + MessageWriter. The default implementation simply writes + the raw value of actual, leaving it to the writer to + perform any formatting. + + The writer on which the actual value is displayed + + + + Returns the string representation + + + + + BinarySerializableConstraint tests whether + an object is serializable in binary format. + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + Write the constraint description to a MessageWriter + + The writer on which the description is displayed + + + + Write the actual value for a failing constraint test to a + MessageWriter. The default implementation simply writes + the raw value of actual, leaving it to the writer to + perform any formatting. + + The writer on which the actual value is displayed + + + + Returns the string representation of this constraint + + + + + StringConstraint is the abstract base for constraints + that operate on strings. It supports the IgnoreCase + modifier for string operations. + + + + + The expected value + + + + + Indicates whether tests should be case-insensitive + + + + + Constructs a StringConstraint given an expected value + + The expected value + + + + Modify the constraint to ignore case in matching. + + + + + EmptyStringConstraint tests whether a string is empty. + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + Write the constraint description to a MessageWriter + + The writer on which the description is displayed + + + + NullEmptyStringConstraint tests whether a string is either null or empty. + + + + + Constructs a new NullOrEmptyStringConstraint + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + Write the constraint description to a MessageWriter + + The writer on which the description is displayed + + + + SubstringConstraint can test whether a string contains + the expected substring. + + + + + Initializes a new instance of the class. + + The expected. + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + Write the constraint description to a MessageWriter + + The writer on which the description is displayed + + + + StartsWithConstraint can test whether a string starts + with an expected substring. + + + + + Initializes a new instance of the class. + + The expected string + + + + Test whether the constraint is matched by the actual value. + This is a template method, which calls the IsMatch method + of the derived class. + + + + + + + Write the constraint description to a MessageWriter + + The writer on which the description is displayed + + + + EndsWithConstraint can test whether a string ends + with an expected substring. + + + + + Initializes a new instance of the class. + + The expected string + + + + Test whether the constraint is matched by the actual value. + This is a template method, which calls the IsMatch method + of the derived class. + + + + + + + Write the constraint description to a MessageWriter + + The writer on which the description is displayed + + + + RegexConstraint can test whether a string matches + the pattern provided. + + + + + Initializes a new instance of the class. + + The pattern. + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + Write the constraint description to a MessageWriter + + The writer on which the description is displayed + + + + ThrowsConstraint is used to test the exception thrown by + a delegate by applying a constraint to it. + + + + + Initializes a new instance of the class, + using a constraint to be applied to the exception. + + A constraint to apply to the caught exception. + + + + Executes the code of the delegate and captures any exception. + If a non-null base constraint was provided, it applies that + constraint to the exception. + + A delegate representing the code to be tested + True if an exception is thrown and the constraint succeeds, otherwise false + + + + Converts an ActualValueDelegate to a TestDelegate + before calling the primary overload. + + + + + + + Write the constraint description to a MessageWriter + + The writer on which the description is displayed + + + + Write the actual value for a failing constraint test to a + MessageWriter. The default implementation simply writes + the raw value of actual, leaving it to the writer to + perform any formatting. + + The writer on which the actual value is displayed + + + + Returns the string representation of this constraint + + + + + Get the actual exception thrown - used by Assert.Throws. + + + + + ThrowsNothingConstraint tests that a delegate does not + throw an exception. + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True if no exception is thrown, otherwise false + + + + Converts an ActualValueDelegate to a TestDelegate + before calling the primary overload. + + + + + + + Write the constraint description to a MessageWriter + + The writer on which the description is displayed + + + + Write the actual value for a failing constraint test to a + MessageWriter. The default implementation simply writes + the raw value of actual, leaving it to the writer to + perform any formatting. + + The writer on which the actual value is displayed + + + + Modes in which the tolerance value for a comparison can + be interpreted. + + + + + The tolerance was created with a value, without specifying + how the value would be used. This is used to prevent setting + the mode more than once and is generally changed to Linear + upon execution of the test. + + + + + The tolerance is used as a numeric range within which + two compared values are considered to be equal. + + + + + Interprets the tolerance as the percentage by which + the two compared values my deviate from each other. + + + + + Compares two values based in their distance in + representable numbers. + + + + + The Tolerance class generalizes the notion of a tolerance + within which an equality test succeeds. Normally, it is + used with numeric types, but it can be used with any + type that supports taking a difference between two + objects and comparing that difference to a value. + + + + + Constructs a linear tolerance of a specdified amount + + + + + Constructs a tolerance given an amount and ToleranceMode + + + + + Tests that the current Tolerance is linear with a + numeric value, throwing an exception if it is not. + + + + + Returns an empty Tolerance object, equivalent to + specifying an exact match. + + + + + Gets the ToleranceMode for the current Tolerance + + + + + Gets the value of the current Tolerance instance. + + + + + Returns a new tolerance, using the current amount as a percentage. + + + + + Returns a new tolerance, using the current amount in Ulps. + + + + + Returns a new tolerance with a TimeSpan as the amount, using + the current amount as a number of days. + + + + + Returns a new tolerance with a TimeSpan as the amount, using + the current amount as a number of hours. + + + + + Returns a new tolerance with a TimeSpan as the amount, using + the current amount as a number of minutes. + + + + + Returns a new tolerance with a TimeSpan as the amount, using + the current amount as a number of seconds. + + + + + Returns a new tolerance with a TimeSpan as the amount, using + the current amount as a number of milliseconds. + + + + + Returns a new tolerance with a TimeSpan as the amount, using + the current amount as a number of clock ticks. + + + + + Returns true if the current tolerance is empty. + + + + + TypeConstraint is the abstract base for constraints + that take a Type as their expected value. + + + + + The expected Type used by the constraint + + + + + Construct a TypeConstraint for a given Type + + + + + + Write the actual value for a failing constraint test to a + MessageWriter. TypeConstraints override this method to write + the name of the type. + + The writer on which the actual value is displayed + + + + ExactTypeConstraint is used to test that an object + is of the exact type provided in the constructor + + + + + Construct an ExactTypeConstraint for a given Type + + The expected Type. + + + + Test that an object is of the exact type specified + + The actual value. + True if the tested object is of the exact type provided, otherwise false. + + + + Write the description of this constraint to a MessageWriter + + The MessageWriter to use + + + + InstanceOfTypeConstraint is used to test that an object + is of the same type provided or derived from it. + + + + + Construct an InstanceOfTypeConstraint for the type provided + + The expected Type + + + + Test whether an object is of the specified type or a derived type + + The object to be tested + True if the object is of the provided type or derives from it, otherwise false. + + + + Write a description of this constraint to a MessageWriter + + The MessageWriter to use + + + + AssignableFromConstraint is used to test that an object + can be assigned from a given Type. + + + + + Construct an AssignableFromConstraint for the type provided + + + + + + Test whether an object can be assigned from the specified type + + The object to be tested + True if the object can be assigned a value of the expected Type, otherwise false. + + + + Write a description of this constraint to a MessageWriter + + The MessageWriter to use + + + + AssignableToConstraint is used to test that an object + can be assigned to a given Type. + + + + + Construct an AssignableToConstraint for the type provided + + + + + + Test whether an object can be assigned to the specified type + + The object to be tested + True if the object can be assigned a value of the expected Type, otherwise false. + + + + Write a description of this constraint to a MessageWriter + + The MessageWriter to use + + + + Thrown when an assertion failed. + + + + + The error message that explains + the reason for the exception + + + The error message that explains + the reason for the exception + The exception that caused the + current exception + + + + Serialization Constructor + + + + + Thrown when an assertion failed. + + + + + + + The error message that explains + the reason for the exception + The exception that caused the + current exception + + + + Serialization Constructor + + + + + Thrown when a test executes inconclusively. + + + + + The error message that explains + the reason for the exception + + + The error message that explains + the reason for the exception + The exception that caused the + current exception + + + + Serialization Constructor + + + + + Thrown when an assertion failed. + + + + + + + The error message that explains + the reason for the exception + The exception that caused the + current exception + + + + Serialization Constructor + + + + + Delegate used by tests that execute code and + capture any thrown exception. + + + + + The Assert class contains a collection of static methods that + implement the most common assertions used in NUnit. + + + + + We don't actually want any instances of this object, but some people + like to inherit from it to add other static methods. Hence, the + protected constructor disallows any instances of this object. + + + + + 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. + + + + + + + Helper for Assert.AreEqual(double expected, double actual, ...) + allowing code generation to work consistently. + + The expected value + The actual value + The maximum acceptable difference between the + the expected and the actual + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Throws a with the message and arguments + that are passed in. This allows a test to be cut short, with a result + of success returned to NUnit. + + The message to initialize the with. + Arguments to be used in formatting the message + + + + Throws a with the message and arguments + that are passed in. This allows a test to be cut short, with a result + of success returned to NUnit. + + The message to initialize the with. + + + + Throws a with the message and arguments + that are passed in. This allows a test to be cut short, with a result + of success returned to NUnit. + + + + + Throws an with the message and arguments + that are passed in. This is used by the other Assert functions. + + The message to initialize the with. + Arguments to be used in formatting the message + + + + 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 . + This is used by the other Assert functions. + + + + + Throws an with the message and arguments + that are passed in. This causes the test to be reported as ignored. + + The message to initialize the with. + Arguments to be used in formatting the message + + + + Throws an with the message that is + passed in. This causes the test to be reported as ignored. + + The message to initialize the with. + + + + Throws an . + This causes the test to be reported as ignored. + + + + + Throws an with the message and arguments + that are passed in. This causes the test to be reported as inconclusive. + + The message to initialize the with. + Arguments to be used in formatting the message + + + + Throws an with the message that is + passed in. This causes the test to be reported as inconclusive. + + The message to initialize the with. + + + + Throws an . + This causes the test to be reported as Inconclusive. + + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + + A Constraint to be applied + The actual value to test + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + + A Constraint to be applied + The actual value to test + The message that will be displayed on failure + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + + A Constraint expression to be applied + The actual value to test + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + + A Constraint expression to be applied + An ActualValueDelegate returning the value to be tested + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + + A Constraint expression to be applied + An ActualValueDelegate returning the value to be tested + The message that will be displayed on failure + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + + An ActualValueDelegate returning the value to be tested + A Constraint expression to be applied + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Apply a constraint to a referenced value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + + A Constraint to be applied + The actual value to test + + + + Apply a constraint to a referenced value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + + A Constraint to be applied + The actual value to test + The message that will be displayed on failure + + + + Apply a constraint to a referenced value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + + A Constraint to be applied + The actual value to test + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + The evaluated condition + The message to display if the condition is false + Arguments to be used in formatting the message + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + The evaluated condition + The message to display if the condition is false + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + The evaluated condition + + + + Asserts that the code represented by a delegate throws an exception + that satisfies the constraint provided. + + A TestDelegate to be executed + A ThrowsConstraint used in the test + + + + Verifies that a delegate throws a particular exception when called. + + A constraint to be satisfied by the exception + A TestSnippet delegate + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Verifies that a delegate throws a particular exception when called. + + A constraint to be satisfied by the exception + A TestSnippet delegate + The message that will be displayed on failure + + + + Verifies that a delegate throws a particular exception when called. + + A constraint to be satisfied by the exception + A TestSnippet delegate + + + + Verifies that a delegate throws a particular exception when called. + + The exception Type expected + A TestSnippet delegate + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Verifies that a delegate throws a particular exception when called. + + The exception Type expected + A TestSnippet delegate + The message that will be displayed on failure + + + + Verifies that a delegate throws a particular exception when called. + + The exception Type expected + A TestSnippet delegate + + + + Verifies that a delegate throws a particular exception when called. + + Type of the expected exception + A TestSnippet delegate + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Verifies that a delegate throws a particular exception when called. + + Type of the expected exception + A TestSnippet delegate + The message that will be displayed on failure + + + + Verifies that a delegate throws a particular exception when called. + + Type of the expected exception + A TestSnippet delegate + + + + Verifies that a delegate throws an exception when called + and returns it. + + A TestDelegate + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Verifies that a delegate throws an exception when called + and returns it. + + A TestDelegate + The message that will be displayed on failure + + + + Verifies that a delegate throws an exception when called + and returns it. + + A TestDelegate + + + + Verifies that a delegate throws an exception of a certain Type + or one derived from it when called and returns it. + + The expected Exception Type + A TestDelegate + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Verifies that a delegate throws an exception of a certain Type + or one derived from it when called and returns it. + + The expected Exception Type + A TestDelegate + The message that will be displayed on failure + + + + Verifies that a delegate throws an exception of a certain Type + or one derived from it when called and returns it. + + The expected Exception Type + A TestDelegate + + + + Verifies that a delegate throws an exception of a certain Type + or one derived from it when called and returns it. + + The expected Exception Type + A TestDelegate + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Verifies that a delegate throws an exception of a certain Type + or one derived from it when called and returns it. + + The expected Exception Type + A TestDelegate + The message that will be displayed on failure + + + + Verifies that a delegate throws an exception of a certain Type + or one derived from it when called and returns it. + + The expected Exception Type + A TestDelegate + + + + Verifies that a delegate does not throw an exception + + A TestSnippet delegate + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Verifies that a delegate does not throw an exception. + + A TestSnippet delegate + The message that will be displayed on failure + + + + Verifies that a delegate does not throw an exception. + + A TestSnippet delegate + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + The evaluated condition + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + The evaluated condition + The message to display in case of failure + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + The evaluated condition + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + The evaluated condition + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + The evaluated condition + The message to display in case of failure + + + + 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 message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a condition is false. If the condition is true the method throws + an . + + The evaluated condition + The message to display in case of failure + + + + Asserts that a condition is false. If the condition is true 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 message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a condition is false. If the condition is true the method throws + an . + + The evaluated condition + The message to display in case of failure + + + + Asserts that a condition is false. If the condition is true the method throws + an . + + The evaluated condition + + + + Verifies that the object that is passed in is not equal to null + If the object is null then an + is thrown. + + The object that is to be tested + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the object that is passed in is not equal to null + If the object is null then an + is thrown. + + The object that is to be tested + The message to display in case of failure + + + + Verifies that the object that is passed in is not equal to null + If the object is null then an + is thrown. + + The object that is to be tested + + + + Verifies that the object that is passed in is not equal to null + If the object is null then an + is thrown. + + The object that is to be tested + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the object that is passed in is not equal to null + If the object is null then an + is thrown. + + The object that is to be tested + The message to display in case of failure + + + + Verifies that the object that is passed in is not equal to null + If the object is 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 not null then an + is thrown. + + The object that is to be tested + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the object that is passed in is equal to null + If the object is not null then an + is thrown. + + The object that is to be tested + The message to display in case of failure + + + + Verifies that the object that is passed in is 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 not null then an + is thrown. + + The object that is to be tested + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the object that is passed in is equal to null + If the object is not null then an + is thrown. + + The object that is to be tested + The message to display in case of failure + + + + Verifies that the object that is passed in is equal to null + If the object is not null then an + is thrown. + + The object that is to be tested + + + + Verifies that the double that is passed in is an NaN value. + If the object is not NaN then an + is thrown. + + The value that is to be tested + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the double that is passed in is an NaN value. + If the object is not NaN then an + is thrown. + + The value that is to be tested + The message to display in case of failure + + + + Verifies that the double that is passed in is an NaN value. + If the object is not NaN then an + is thrown. + + The value that is to be tested + + + + Verifies that the double that is passed in is an NaN value. + If the object is not NaN then an + is thrown. + + The value that is to be tested + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the double that is passed in is an NaN value. + If the object is not NaN then an + is thrown. + + The value that is to be tested + The message to display in case of failure + + + + Verifies that the double that is passed in is an NaN value. + If the object is not NaN then an + is thrown. + + The value that is to be tested + + + + Assert that a string is empty - that is equal to string.Empty + + The string to be tested + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Assert that a string is empty - that is equal to string.Empty + + The string to be tested + The message to display in case of failure + + + + Assert that a string is empty - that is equal to string.Empty + + 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 display in case of failure + Array of objects 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 display in case of failure + + + + Assert that an array, list or other collection is empty + + An array, list or other collection implementing ICollection + + + + Assert that a string is not empty - that is not equal to string.Empty + + The string to be tested + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Assert that a string is not empty - that is not equal to string.Empty + + The string to be tested + The message to display in case of failure + + + + Assert that a string is not empty - that is not equal to string.Empty + + The string to be tested + + + + Assert that an array, list or other collection is not empty + + An array, list or other collection implementing ICollection + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Assert that an array, list or other collection is not empty + + An array, list or other collection implementing ICollection + The message to display in case of failure + + + + Assert that an array, list or other collection is not empty + + An array, list or other collection implementing ICollection + + + + Assert that a string is either null or equal to string.Empty + + The string to be tested + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Assert that a string is either null or equal to string.Empty + + The string to be tested + The message to display in case of failure + + + + Assert that a string is either null or equal to string.Empty + + The string to be tested + + + + Assert that a string is not null or empty + + The string to be tested + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Assert that a string is not null or empty + + The string to be tested + The message to display in case of failure + + + + Assert that a string is not null or empty + + The string to be tested + + + + 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 be assigned a value of a given Type. + + The expected Type. + The object under examination + The message 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 + + + + 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 be assigned a value of a given Type. + + The expected Type. + The object under examination + The message 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 + + + + 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 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 + + + + 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 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 + The message 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 + + + + Asserts that an object is an instance of a given type. + + The expected Type + The object being examined + 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 + The 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 + + + + Asserts that an object is an instance of a given type. + + The expected Type + The object being examined + 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 + The 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 + + + + Asserts that an object is an instance of a given type. + + The expected Type + The object being examined + 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 + The 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 + + + + Asserts that an object is not an instance of a given type. + + The expected Type + The object being examined + The message to display in case of failure + 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 + The 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 + + + + Asserts that an object is not an instance of a given type. + + The expected Type + The object being examined + The message to display in case of failure + 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 + The 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 + + + + Asserts that an object is not an instance of a given type. + + The expected Type + The object being examined + The message to display in case of failure + 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 + The 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 + + + + Verifies that two values are equal. If they are not, then an + is thrown. + + The expected value + The actual value + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that two values are equal. If they are not, then an + is thrown. + + The expected value + The actual value + The message to display in case of failure + + + + Verifies that two values are equal. If they are not, then an + is thrown. + + The expected value + The actual value + + + + Verifies that two values are equal. If they are not, then an + is thrown. + + The expected value + The actual value + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that two values are equal. If they are not, then an + is thrown. + + The expected value + The actual value + The message to display in case of failure + + + + Verifies that two values are equal. If they are not, then an + is thrown. + + The expected value + The actual value + + + + Verifies that two values are equal. If they are not, then an + is thrown. + + The expected value + The actual value + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that two values are equal. If they are not, then an + is thrown. + + The expected value + The actual value + The message to display in case of failure + + + + Verifies that two values are equal. If they are not, then an + is thrown. + + The expected value + The actual value + + + + Verifies that two values are equal. If they are not, then an + is thrown. + + The expected value + The actual value + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that two values are equal. If they are not, then an + is thrown. + + The expected value + The actual value + The message to display in case of failure + + + + Verifies that two values are equal. If they are not, then an + is thrown. + + The expected value + The actual value + + + + Verifies that two values are equal. If they are not, then an + is thrown. + + The expected value + The actual value + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that two values are equal. If they are not, then an + is thrown. + + The expected value + The actual value + The message to display in case of failure + + + + Verifies that two values are equal. If they are not, then an + is thrown. + + The expected value + The actual value + + + + 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 equal then an is + thrown. + + The expected value + The actual value + The maximum acceptable difference between the + the expected and the actual + The message to display in case of failure + Array of objects to be used in formatting the message + + + + 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 equal then an is + thrown. + + The expected value + The actual value + The maximum acceptable difference between the + the expected and the actual + The message to display in case of 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 equal then an is + thrown. + + The expected value + The actual value + The maximum acceptable difference between the + the expected and the actual + + + + 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 equal then an is + thrown. + + The expected value + The actual value + The maximum acceptable difference between the + the expected and the actual + The message to display in case of failure + Array of objects to be used in formatting the message + + + + 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 equal then an is + thrown. + + The expected value + The actual value + The maximum acceptable difference between the + the expected and the actual + The message to display in case of 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 equal then an is + thrown. + + The expected value + The actual value + The maximum acceptable difference between the + the expected and the actual + + + + Verifies that two objects are equal. Two objects are considered + equal if both are null, or if both have the same value. NUnit + has special semantics for some object types. + If they are not equal an is thrown. + + The value that is expected + The actual value + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that two objects are equal. Two objects are considered + equal if both are null, or if both have the same value. NUnit + has special semantics for some object types. + If they are not equal an is thrown. + + The value that is expected + The actual value + The message to display in case of failure + + + + Verifies that two objects are equal. Two objects are considered + equal if both are null, or if both have the same value. NUnit + has special semantics for some object types. + If they are not equal an is thrown. + + The value that is expected + The actual value + + + + Verifies that two values are not equal. If they are equal, then an + is thrown. + + The expected value + The actual value + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that two values are not equal. If they are equal, then an + is thrown. + + The expected value + The actual value + The message to display in case of failure + + + + Verifies that two values are not equal. If they are equal, then an + is thrown. + + The expected value + The actual value + + + + Verifies that two values are not equal. If they are equal, then an + is thrown. + + The expected value + The actual value + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that two values are not equal. If they are equal, then an + is thrown. + + The expected value + The actual value + The message to display in case of failure + + + + Verifies that two values are not equal. If they are equal, then an + is thrown. + + The expected value + The actual value + + + + Verifies that two values are not equal. If they are equal, then an + is thrown. + + The expected value + The actual value + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that two values are not equal. If they are equal, then an + is thrown. + + The expected value + The actual value + The message to display in case of failure + + + + Verifies that two values are not equal. If they are equal, then an + is thrown. + + The expected value + The actual value + + + + Verifies that two values are not equal. If they are equal, then an + is thrown. + + The expected value + The actual value + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that two values are not equal. If they are equal, then an + is thrown. + + The expected value + The actual value + The message to display in case of failure + + + + Verifies that two values are not equal. If they are equal, then an + is thrown. + + The expected value + The actual value + + + + Verifies that two values are not equal. If they are equal, then an + is thrown. + + The expected value + The actual value + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that two values are not equal. If they are equal, then an + is thrown. + + The expected value + The actual value + The message to display in case of failure + + + + Verifies that two values are not equal. If they are equal, then an + is thrown. + + The expected value + The actual value + + + + Verifies that two values are not equal. If they are equal, then an + is thrown. + + The expected value + The actual value + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that two values are not equal. If they are equal, then an + is thrown. + + The expected value + The actual value + The message to display in case of failure + + + + Verifies that two values are not equal. If they are equal, then an + is thrown. + + The expected value + The actual value + + + + Verifies that two values are not equal. If they are equal, then an + is thrown. + + The expected value + The actual value + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that two values are not equal. If they are equal, then an + is thrown. + + The expected value + The actual value + The message to display in case of failure + + + + Verifies that two values are not equal. If they are equal, then an + is thrown. + + The expected value + The actual value + + + + Verifies that two objects are not equal. Two objects are considered + equal if both are null, or if both have the same value. NUnit + has special semantics for some object types. + If they are equal an is thrown. + + The value that is expected + The actual value + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that two objects are not equal. Two objects are considered + equal if both are null, or if both have the same value. NUnit + has special semantics for some object types. + If they are equal an is thrown. + + The value that is expected + The actual value + The message to display in case of failure + + + + Verifies that two objects are not equal. Two objects are considered + equal if both are null, or if both have the same value. NUnit + has special semantics for some object types. + If they are equal an is thrown. + + The value that is expected + The actual value + + + + 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 message to display in case of failure + Array of objects to be used in formatting the message + + + + 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 message to display in case of failure + + + + Asserts that two objects refer to the same object. If they + are not the same an is thrown. + + The expected object + The actual object + + + + Asserts that two objects do not refer to the same object. If they + are the same an is thrown. + + The expected object + The actual object + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that two objects do not refer to the same object. If they + are the same an is thrown. + + The expected object + The actual object + The message to display in case of failure + + + + Asserts that two objects do not refer to the same object. If they + are the same an is thrown. + + The expected object + The actual object + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + + + + Verifies that the first value is greater than the second + value. If it is 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 it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + + + + Verifies that the first value is greater than the second + value. If it is 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 it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + + + + Verifies that the first value is greater than the second + value. If it is 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 it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + + + + Verifies that the first value is greater than the second + value. If it is 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 it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + + + + Verifies that the first value is greater than the second + value. If it is 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 it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + + + + Verifies that the first value is greater than the second + value. If it is 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 it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + + + + Verifies that the first value is greater than the second + value. If it is 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 it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + + + + Verifies that the first value is greater than the second + value. If it is 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 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 to display in case of failure + Array of objects 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 to display in case of 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 to display in case of failure + Array of objects 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 to display in case of 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 to display in case of failure + Array of objects 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 to display in case of 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 to display in case of failure + Array of objects 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 to display in case of 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 to display in case of failure + Array of objects 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 to display in case of 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 to display in case of failure + Array of objects 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 to display in case of 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 to display in case of failure + Array of objects 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 to display in case of 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 to display in case of failure + Array of objects 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 to display in case of 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 greater than or equal tothe second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is greater than or equal tothe second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + + + + Verifies that the first value is greater than or equal tothe second + value. If it is 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 or equal tothe second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is greater than or equal tothe second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + + + + Verifies that the first value is greater than or equal tothe second + value. If it is 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 or equal tothe second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is greater than or equal tothe second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + + + + Verifies that the first value is greater than or equal tothe second + value. If it is 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 or equal tothe second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is greater than or equal tothe second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + + + + Verifies that the first value is greater than or equal tothe second + value. If it is 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 or equal tothe second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is greater than or equal tothe second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + + + + Verifies that the first value is greater than or equal tothe second + value. If it is 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 or equal tothe second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is greater than or equal tothe second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + + + + Verifies that the first value is greater than or equal tothe second + value. If it is 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 or equal tothe second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is greater than or equal tothe second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + + + + Verifies that the first value is greater than or equal tothe second + value. If it is 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 or equal tothe second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is greater than or equal tothe second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + + + + Verifies that the first value is greater than or equal tothe second + value. If it is 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 less than or equal to 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 to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is less than or equal to 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 to display in case of failure + + + + Verifies that the first value is less than or equal to 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 or equal to 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 to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is less than or equal to 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 to display in case of failure + + + + Verifies that the first value is less than or equal to 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 or equal to 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 to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is less than or equal to 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 to display in case of failure + + + + Verifies that the first value is less than or equal to 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 or equal to 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 to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is less than or equal to 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 to display in case of failure + + + + Verifies that the first value is less than or equal to 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 or equal to 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 to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is less than or equal to 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 to display in case of failure + + + + Verifies that the first value is less than or equal to 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 or equal to 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 to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is less than or equal to 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 to display in case of failure + + + + Verifies that the first value is less than or equal to 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 or equal to 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 to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is less than or equal to 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 to display in case of failure + + + + Verifies that the first value is less than or equal to 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 or equal to 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 to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is less than or equal to 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 to display in case of failure + + + + Verifies that the first value is less than or equal to 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 + + + + Asserts that an object is contained in a list. + + The expected object + The list to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an object is contained in a list. + + The expected object + The list to be examined + The message to display in case of failure + + + + Asserts that an object is contained in a list. + + The expected object + The list to be examined + + + + Gets the number of assertions executed so far and + resets the counter to zero. + + + + + AssertionHelper is an optional base class for user tests, + allowing the use of shorter names for constraints and + asserts and avoiding conflict with the definition of + , from which it inherits much of its + behavior, in certain mock object frameworks. + + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. Works + identically to + + A Constraint to be applied + The actual value to test + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. Works + identically to + + A Constraint to be applied + The actual value to test + The message that will be displayed on failure + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. Works + identically to + + A Constraint to be applied + The actual value to test + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + + A Constraint expression to be applied + An ActualValueDelegate returning the value to be tested + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + + A Constraint expression to be applied + An ActualValueDelegate returning the value to be tested + The message that will be displayed on failure + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + + An ActualValueDelegate returning the value to be tested + A Constraint expression to be applied + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Apply a constraint to a referenced value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + + A Constraint to be applied + The actual value to test + + + + Apply a constraint to a referenced value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + + A Constraint to be applied + The actual value to test + The message that will be displayed on failure + + + + Apply a constraint to a referenced value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + + A Constraint to be applied + The actual value to test + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that a condition is true. If the condition is false the method throws + an . Works Identically to + . + + The evaluated condition + The message to display if the condition is false + Arguments to be used in formatting the message + + + + Asserts that a condition is true. If the condition is false the method throws + an . Works Identically to + . + + The evaluated condition + The message to display if the condition is false + + + + Asserts that a condition is true. If the condition is false the method throws + an . Works Identically to . + + The evaluated condition + + + + Asserts that the code represented by a delegate throws an exception + that satisfies the constraint provided. + + A TestDelegate to be executed + A ThrowsConstraint used in the test + + + + Returns a ListMapper based on a collection. + + The original collection + + + + + Provides static methods to express the assumptions + that must be met for a test to give a meaningful + result. If an assumption is not met, the test + should produce an inconclusive result. + + + + + 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. + + + + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an InconclusiveException on failure. + + A Constraint expression to be applied + The actual value to test + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an InconclusiveException on failure. + + A Constraint expression to be applied + The actual value to test + The message that will be displayed on failure + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an InconclusiveException on failure. + + A Constraint expression to be applied + The actual value to test + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an InconclusiveException on failure. + + A Constraint expression to be applied + An ActualValueDelegate returning the value to be tested + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an InconclusiveException on failure. + + A Constraint expression to be applied + An ActualValueDelegate returning the value to be tested + The message that will be displayed on failure + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an InconclusiveException on failure. + + An ActualValueDelegate returning the value to be tested + A Constraint expression to be applied + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Apply a constraint to a referenced value, succeeding if the constraint + is satisfied and throwing an InconclusiveException on failure. + + A Constraint expression to be applied + The actual value to test + + + + Apply a constraint to a referenced value, succeeding if the constraint + is satisfied and throwing an InconclusiveException on failure. + + A Constraint expression to be applied + The actual value to test + The message that will be displayed on failure + + + + Apply a constraint to a referenced value, succeeding if the constraint + is satisfied and throwing an InconclusiveException on failure. + + A Constraint expression to be applied + The actual value to test + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + The evaluated condition + The message to display if the condition is false + Arguments to be used in formatting the message + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + The evaluated condition + The message to display if the condition is false + + + + Asserts that a condition is true. If the condition is false the + method throws an . + + The evaluated condition + + + + Asserts that the code represented by a delegate throws an exception + that satisfies the constraint provided. + + A TestDelegate to be executed + A ThrowsConstraint used in the test + + + + A set of Assert methods operationg on one or more collections + + + + + 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. + + + + + + + Asserts that all items contained in collection are of the type specified by expectedType. + + IEnumerable containing 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. + + IEnumerable containing 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. + + IEnumerable containing 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. + + IEnumerable containing objects to be considered + + + + Asserts that all items contained in collection are not equal to null. + + IEnumerable containing objects to be considered + The message that will be displayed on failure + + + + Asserts that all items contained in collection are not equal to null. + + IEnumerable 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. + + IEnumerable of objects to be considered + + + + Ensures that every object contained in collection exists within the collection + once and only once. + + IEnumerable 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. + + IEnumerable 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 exactly equal. The collections must have the same count, + and contain the exact same objects in the same order. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + + + + Asserts that expected and actual are exactly equal. The collections must have the same count, + and contain the exact same objects in the same order. + If comparer is not null then it will be used to compare the objects. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + The IComparer to use in comparing objects from each IEnumerable + + + + Asserts that expected and actual are exactly equal. The collections must have the same count, + and contain the exact same objects in the same order. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + The message that will be displayed on failure + + + + Asserts that expected and actual are exactly equal. The collections must have the same count, + and contain the exact same objects in the same order. + If comparer is not null then it will be used to compare the objects. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + The IComparer to use in comparing objects from each IEnumerable + The message that will be displayed on failure + + + + Asserts that expected and actual are exactly equal. The collections must have the same count, + and contain the exact same objects in the same order. + + The first IEnumerable of objects to be considered + The second IEnumerable 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 exactly equal. The collections must have the same count, + and contain the exact same objects in the same order. + If comparer is not null then it will be used to compare the objects. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + The IComparer to use in comparing objects from each IEnumerable + 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 IEnumerable of objects to be considered + The second IEnumerable 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 IEnumerable of objects to be considered + The second IEnumerable 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 IEnumerable of objects to be considered + The second IEnumerable 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 IEnumerable of objects to be considered + The second IEnumerable 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 IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + The IComparer to use in comparing objects from each IEnumerable + + + + Asserts that expected and actual are not exactly equal. + + The first IEnumerable of objects to be considered + The second IEnumerable 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 IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + The IComparer to use in comparing objects from each IEnumerable + The message that will be displayed on failure + + + + Asserts that expected and actual are not exactly equal. + + The first IEnumerable of objects to be considered + The second IEnumerable 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 IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + The IComparer to use in comparing objects from each IEnumerable + 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 IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + + + + Asserts that expected and actual are not equivalent. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + The message that will be displayed on failure + + + + Asserts that expected and actual are not equivalent. + + The first IEnumerable of objects to be considered + The second IEnumerable 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. + + IEnumerable of objects to be considered + Object to be found within collection + + + + Asserts that collection contains actual as an item. + + IEnumerable 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. + + IEnumerable 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. + + IEnumerable of objects to be considered + Object that cannot exist within collection + + + + Asserts that collection does not contain actual as an item. + + IEnumerable 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. + + IEnumerable 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 IEnumerable superset to be considered + The IEnumerable subset to be considered + + + + Asserts that superset is not a subject of subset. + + The IEnumerable superset to be considered + The IEnumerable subset to be considered + The message that will be displayed on failure + + + + Asserts that superset is not a subject of subset. + + The IEnumerable superset to be considered + The IEnumerable 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 IEnumerable superset to be considered + The IEnumerable subset to be considered + + + + Asserts that superset is a subset of subset. + + The IEnumerable superset to be considered + The IEnumerable subset to be considered + The message that will be displayed on failure + + + + Asserts that superset is a subset of subset. + + The IEnumerable superset to be considered + The IEnumerable subset to be considered + The message that will 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 IEnumerable + 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 IEnumerable + The message to be displayed on failure + + + + Assert that an array,list or other collection is empty + + An array, list or other collection implementing IEnumerable + + + + Assert that an array, list or other collection is empty + + An array, list or other collection implementing IEnumerable + 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 IEnumerable + The message to be displayed on failure + + + + Assert that an array,list or other collection is empty + + An array, list or other collection implementing IEnumerable + + + + Assert that an array, list or other collection is ordered + + An array, list or other collection implementing IEnumerable + The message to be displayed on failure + Arguments to be used in formatting the message + + + + Assert that an array, list or other collection is ordered + + An array, list or other collection implementing IEnumerable + The message to be displayed on failure + + + + Assert that an array, list or other collection is ordered + + An array, list or other collection implementing IEnumerable + + + + Assert that an array, list or other collection is ordered + + An array, list or other collection implementing IEnumerable + A custom comparer to perform the comparisons + The message to be displayed on failure + Arguments to be used in formatting the message + + + + Assert that an array, list or other collection is ordered + + An array, list or other collection implementing IEnumerable + A custom comparer to perform the comparisons + The message to be displayed on failure + + + + Assert that an array, list or other collection is ordered + + An array, list or other collection implementing IEnumerable + A custom comparer to perform the comparisons + + + + Static helper class used in the constraint-based syntax + + + + + Creates a new SubstringConstraint + + The value of the substring + A SubstringConstraint + + + + Creates a new CollectionContainsConstraint. + + The item that should be found. + A new CollectionContainsConstraint + + + + Summary description for DirectoryAssert + + + + + 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. + + + + + + + We don't actually want any instances of this object, but some people + like to inherit from it to add other static methods. Hence, the + protected constructor disallows any instances of this object. + + + + + Verifies that two directories are equal. Two directories are considered + equal if both are null, or if both have the same value byte for byte. + If they are not equal an is thrown. + + A directory containing the value that is expected + A directory containing the actual value + The message to display if directories are not equal + Arguments to be used in formatting the message + + + + Verifies that two directories are equal. Two directories are considered + equal if both are null, or if both have the same value byte for byte. + If they are not equal an is thrown. + + A directory containing the value that is expected + A directory containing the actual value + The message to display if directories are not equal + + + + Verifies that two directories are equal. Two directories are considered + equal if both are null, or if both have the same value byte for byte. + If they are not equal an is thrown. + + A directory containing the value that is expected + A directory containing the actual value + + + + Verifies that two directories are equal. Two directories are considered + equal if both are null, or if both have the same value byte for byte. + If they are not equal an is thrown. + + A directory path string containing the value that is expected + A directory path string containing the actual value + The message to display if directories are not equal + Arguments to be used in formatting the message + + + + Verifies that two directories are equal. Two directories are considered + equal if both are null, or if both have the same value byte for byte. + If they are not equal an is thrown. + + A directory path string containing the value that is expected + A directory path string containing the actual value + The message to display if directories are not equal + + + + Verifies that two directories are equal. Two directories are considered + equal if both are null, or if both have the same value byte for byte. + If they are not equal an is thrown. + + A directory path string containing the value that is expected + A directory path string containing the actual value + + + + Asserts that two directories are not equal. If they are equal + an is thrown. + + A directory containing the value that is expected + A directory containing the actual value + The message to display if directories are not equal + Arguments to be used in formatting the message + + + + Asserts that two directories are not equal. If they are equal + an is thrown. + + A directory containing the value that is expected + A directory containing the actual value + The message to display if directories are not equal + + + + Asserts that two directories are not equal. If they are equal + an is thrown. + + A directory containing the value that is expected + A directory containing the actual value + + + + Asserts that two directories are not equal. If they are equal + an is thrown. + + A directory path string containing the value that is expected + A directory path string containing the actual value + The message to display if directories are equal + Arguments to be used in formatting the message + + + + Asserts that two directories are not equal. If they are equal + an is thrown. + + A directory path string containing the value that is expected + A directory path string containing the actual value + The message to display if directories are equal + + + + Asserts that two directories are not equal. If they are equal + an is thrown. + + A directory path string containing the value that is expected + A directory path string containing the actual value + + + + Asserts that the directory is empty. If it is not empty + an is thrown. + + A directory to search + The message to display if directories are not equal + Arguments to be used in formatting the message + + + + Asserts that the directory is empty. If it is not empty + an is thrown. + + A directory to search + The message to display if directories are not equal + + + + Asserts that the directory is empty. If it is not empty + an is thrown. + + A directory to search + + + + Asserts that the directory is empty. If it is not empty + an is thrown. + + A directory to search + The message to display if directories are not equal + Arguments to be used in formatting the message + + + + Asserts that the directory is empty. If it is not empty + an is thrown. + + A directory to search + The message to display if directories are not equal + + + + Asserts that the directory is empty. If it is not empty + an is thrown. + + A directory to search + + + + Asserts that the directory is not empty. If it is empty + an is thrown. + + A directory to search + The message to display if directories are not equal + Arguments to be used in formatting the message + + + + Asserts that the directory is not empty. If it is empty + an is thrown. + + A directory to search + The message to display if directories are not equal + + + + Asserts that the directory is not empty. If it is empty + an is thrown. + + A directory to search + + + + Asserts that the directory is not empty. If it is empty + an is thrown. + + A directory to search + The message to display if directories are not equal + Arguments to be used in formatting the message + + + + Asserts that the directory is not empty. If it is empty + an is thrown. + + A directory to search + The message to display if directories are not equal + + + + Asserts that the directory is not empty. If it is empty + an is thrown. + + A directory to search + + + + Asserts that path contains actual as a subdirectory or + an is thrown. + + A directory to search + sub-directory asserted to exist under directory + The message to display if directory is not within the path + Arguments to be used in formatting the message + + + + Asserts that path contains actual as a subdirectory or + an is thrown. + + A directory to search + sub-directory asserted to exist under directory + The message to display if directory is not within the path + + + + Asserts that path contains actual as a subdirectory or + an is thrown. + + A directory to search + sub-directory asserted to exist under directory + + + + Asserts that path contains actual as a subdirectory or + an is thrown. + + A directory to search + sub-directory asserted to exist under directory + The message to display if directory is not within the path + Arguments to be used in formatting the message + + + + Asserts that path contains actual as a subdirectory or + an is thrown. + + A directory to search + sub-directory asserted to exist under directory + The message to display if directory is not within the path + + + + Asserts that path contains actual as a subdirectory or + an is thrown. + + A directory to search + sub-directory asserted to exist under directory + + + + Asserts that path does not contain actual as a subdirectory or + an is thrown. + + A directory to search + sub-directory asserted to exist under directory + The message to display if directory is not within the path + Arguments to be used in formatting the message + + + + Asserts that path does not contain actual as a subdirectory or + an is thrown. + + A directory to search + sub-directory asserted to exist under directory + The message to display if directory is not within the path + + + + Asserts that path does not contain actual as a subdirectory or + an is thrown. + + A directory to search + sub-directory asserted to exist under directory + + + + Asserts that path does not contain actual as a subdirectory or + an is thrown. + + A directory to search + sub-directory asserted to exist under directory + The message to display if directory is not within the path + Arguments to be used in formatting the message + + + + Asserts that path does not contain actual as a subdirectory or + an is thrown. + + A directory to search + sub-directory asserted to exist under directory + The message to display if directory is not within the path + + + + Asserts that path does not contain actual as a subdirectory or + an is thrown. + + A directory to search + sub-directory asserted to exist under directory + + + + Summary description for FileAssert. + + + + + 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. + + + + + + + We don't actually want any instances of this object, but some people + like to inherit from it to add other static methods. Hence, the + protected constructor disallows any instances of this object. + + + + + Verifies that two Streams are equal. Two Streams are considered + equal if both are null, or if both have the same value byte for byte. + If they are not equal an is thrown. + + The expected Stream + The actual Stream + The message to display if Streams are not equal + Arguments to be used in formatting the message + + + + Verifies that two Streams are equal. Two Streams are considered + equal if both are null, or if both have the same value byte for byte. + If they are not equal an is thrown. + + The expected Stream + The actual Stream + The message to display if objects are not equal + + + + Verifies that two Streams are equal. Two Streams are considered + equal if both are null, or if both have the same value byte for byte. + If they are not equal an is thrown. + + The expected Stream + The actual Stream + + + + Verifies that two files are equal. Two files are considered + equal if both are null, or if both have the same value byte for byte. + If they are not equal an is thrown. + + A file containing the value that is expected + A file containing the actual value + The message to display if Streams are not equal + Arguments to be used in formatting the message + + + + Verifies that two files are equal. Two files are considered + equal if both are null, or if both have the same value byte for byte. + If they are not equal an is thrown. + + A file containing the value that is expected + A file containing the actual value + The message to display if objects are not equal + + + + Verifies that two files are equal. Two files are considered + equal if both are null, or if both have the same value byte for byte. + If they are not equal an is thrown. + + A file containing the value that is expected + A file containing the actual value + + + + Verifies that two files are equal. Two files are considered + equal if both are null, or if both have the same value byte for byte. + If they are not equal an is thrown. + + The path to a file containing the value that is expected + The path to a file containing the actual value + The message to display if Streams are not equal + Arguments to be used in formatting the message + + + + Verifies that two files are equal. Two files are considered + equal if both are null, or if both have the same value byte for byte. + If they are not equal an is thrown. + + The path to a file containing the value that is expected + The path to a file containing the actual value + The message to display if objects are not equal + + + + Verifies that two files are equal. Two files are considered + equal if both are null, or if both have the same value byte for byte. + If they are not equal an is thrown. + + The path to a file containing the value that is expected + The path to a file containing the actual value + + + + Asserts that two Streams are not equal. If they are equal + an is thrown. + + The expected Stream + The actual Stream + The message to be displayed when the two Stream are the same. + Arguments to be used in formatting the message + + + + Asserts that two Streams are not equal. If they are equal + an is thrown. + + The expected Stream + The actual Stream + The message to be displayed when the Streams are the same. + + + + Asserts that two Streams are not equal. If they are equal + an is thrown. + + The expected Stream + The actual Stream + + + + Asserts that two files are not equal. If they are equal + an is thrown. + + A file containing the value that is expected + A file containing the actual value + The message to display if Streams are not equal + Arguments to be used in formatting the message + + + + Asserts that two files are not equal. If they are equal + an is thrown. + + A file containing the value that is expected + A file containing the actual value + The message to display if objects are not equal + + + + Asserts that two files are not equal. If they are equal + an is thrown. + + A file containing the value that is expected + A file containing the actual value + + + + Asserts that two files are not equal. If they are equal + an is thrown. + + The path to a file containing the value that is expected + The path to a file containing the actual value + The message to display if Streams are not equal + Arguments to be used in formatting the message + + + + Asserts that two files are not equal. If they are equal + an is thrown. + + The path to a file containing the value that is expected + The path to a file containing the actual value + The message to display if objects are not equal + + + + Asserts that two files are not equal. If they are equal + an is thrown. + + The path to a file containing the value that is expected + The path to a file containing the actual value + + + + GlobalSettings is a place for setting default values used + by the framework in performing asserts. + + + + + Default tolerance for floating point equality + + + + + Helper class with properties and methods that supply + a number of constraints used in Asserts. + + + + + Returns a new PropertyConstraintExpression, which will either + test for the existence of the named property on the object + being tested or apply any following constraint to that property. + + + + + Returns a new AttributeConstraint checking for the + presence of a particular attribute on an object. + + + + + Returns a new AttributeConstraint checking for the + presence of a particular attribute on an object. + + + + + Returns a new CollectionContainsConstraint checking for the + presence of a particular object in the collection. + + + + + Returns a ConstraintExpression that negates any + following constraint. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if all of them succeed. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if at least one of them succeeds. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if all of them fail. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the Length property of the object being tested. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the Count property of the object being tested. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the Message property of the object being tested. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the InnerException property of the object being tested. + + + + + Interface implemented by a user fixture in order to + validate any expected exceptions. It is only called + for test methods marked with the ExpectedException + attribute. + + + + + Method to handle an expected exception + + The exception to be handled + + + + Helper class with properties and methods that supply + a number of constraints used in Asserts. + + + + + Returns a constraint that tests two items for equality + + + + + Returns a constraint that tests that two references are the same object + + + + + Returns a constraint that tests whether the + actual value is greater than the suppled argument + + + + + Returns a constraint that tests whether the + actual value is greater than or equal to the suppled argument + + + + + Returns a constraint that tests whether the + actual value is greater than or equal to the suppled argument + + + + + Returns a constraint that tests whether the + actual value is less than the suppled argument + + + + + Returns a constraint that tests whether the + actual value is less than or equal to the suppled argument + + + + + Returns a constraint that tests whether the + actual value is less than or equal to the suppled argument + + + + + Returns a constraint that tests whether the actual + value is of the exact type supplied as an argument. + + + + + Returns a constraint that tests whether the actual + value is of the exact type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is of the type supplied as an argument or a derived type. + + + + + Returns a constraint that tests whether the actual value + is of the type supplied as an argument or a derived type. + + + + + Returns a constraint that tests whether the actual value + is of the type supplied as an argument or a derived type. + + + + + Returns a constraint that tests whether the actual value + is of the type supplied as an argument or a derived type. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is a collection containing the same elements as the + collection supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is a subset of the collection supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value contains the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value starts with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value ends with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value matches the Regex pattern supplied as an argument. + + + + + Returns a constraint that tests whether the path provided + is the same as an expected path after canonicalization. + + + + + Returns a constraint that tests whether the path provided + is the same path or under an expected path after canonicalization. + + + + + Returns a constraint that tests whether the path provided + is the same path or under an expected path after canonicalization. + + + + + Returns a constraint that tests whether the actual value falls + within a specified range. + + + + + Returns a ConstraintExpression that negates any + following constraint. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if all of them succeed. + + + + + Returns a constraint that tests for null + + + + + Returns a constraint that tests for True + + + + + Returns a constraint that tests for False + + + + + Returns a constraint that tests for NaN + + + + + Returns a constraint that tests for empty + + + + + Returns a constraint that tests whether a collection + contains all unique items. + + + + + Returns a constraint that tests whether an object graph is serializable in binary format. + + + + + Returns a constraint that tests whether an object graph is serializable in xml format. + + + + + Returns a constraint that tests whether a collection is ordered + + + + + The Iz class is a synonym for Is intended for use in VB, + which regards Is as a keyword. + + + + + The List class is a helper class with properties and methods + that supply a number of constraints used with lists and collections. + + + + + List.Map returns a ListMapper, which can be used to map + the original collection to another collection. + + + + + + + ListMapper is used to transform a collection used as an actual argument + producing another collection to be used in the assertion. + + + + + Construct a ListMapper based on a collection + + The collection to be transformed + + + + Produces a collection containing all the values of a property + + The collection of property values + + + + + Randomizer returns a set of random values in a repeatable + way, to allow re-running of tests if necessary. + + + + + Get a randomizer for a particular member, returning + one that has already been created if it exists. + This ensures that the same values are generated + each time the tests are reloaded. + + + + + Get a randomizer for a particular parameter, returning + one that has already been created if it exists. + This ensures that the same values are generated + each time the tests are reloaded. + + + + + Construct a randomizer using a random seed + + + + + Construct a randomizer using a specified seed + + + + + Return an array of random doubles between 0.0 and 1.0. + + + + + + + Return an array of random doubles with values in a specified range. + + + + + Return an array of random ints with values in a specified range. + + + + + Get a random seed for use in creating a randomizer. + + + + + The SpecialValue enum is used to represent TestCase arguments + that cannot be used as arguments to an Attribute. + + + + + Null represents a null value, which cannot be used as an + argument to an attriute under .NET 1.x + + + + + Basic Asserts on strings. + + + + + 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. + + + + + + + Asserts that a string is found within another string. + + The expected string + The string to be examined + The message to display in case of failure + Arguments used in formatting the message + + + + Asserts that a string is found within another string. + + The expected string + The string to be examined + The message to display in case of failure + + + + Asserts that a string is found within another string. + + The expected string + The string to be examined + + + + Asserts that a string is not found within another string. + + The expected string + The string to be examined + The message to display in case of failure + Arguments used in formatting the message + + + + Asserts that a string is found within another string. + + The expected string + The string to be examined + The message to display in case of failure + + + + Asserts that a string is found within another string. + + The expected string + The string to be examined + + + + Asserts that a string starts with another string. + + The expected string + The string to be examined + The message to display in case of failure + Arguments used in formatting the message + + + + Asserts that a string starts with another string. + + The expected string + The string to be examined + The message to display in case of failure + + + + Asserts that a string starts with another string. + + The expected string + The string to be examined + + + + Asserts that a string does not start with another string. + + The expected string + The string to be examined + The message to display in case of failure + Arguments used in formatting the message + + + + Asserts that a string does not start with another string. + + The expected string + The string to be examined + The message to display in case of failure + + + + Asserts that a string does not start with another string. + + The expected string + The string to be examined + + + + Asserts that a string ends with another string. + + The expected string + The string to be examined + The message to display in case of failure + Arguments used in formatting the message + + + + Asserts that a string ends with another string. + + The expected string + The string to be examined + The message to display in case of failure + + + + Asserts that a string ends with another string. + + The expected string + The string to be examined + + + + Asserts that a string does not end with another string. + + The expected string + The string to be examined + The message to display in case of failure + Arguments used in formatting the message + + + + Asserts that a string does not end with another string. + + The expected string + The string to be examined + The message to display in case of failure + + + + Asserts that a string does not end with another string. + + The expected string + The string to be examined + + + + Asserts that two strings are equal, without regard to case. + + The expected string + The actual string + The message to display in case of failure + Arguments used in formatting the message + + + + Asserts that two strings are equal, without regard to case. + + The expected string + The actual string + The message to display in case of failure + + + + Asserts that two strings are equal, without regard to case. + + The expected string + The actual string + + + + Asserts that two strings are not equal, without regard to case. + + The expected string + The actual string + The message to display in case of failure + Arguments used in formatting the message + + + + Asserts that two strings are Notequal, without regard to case. + + The expected string + The actual string + The message to display in case of failure + + + + Asserts that two strings are not equal, without regard to case. + + The expected string + The actual string + + + + Asserts that a string matches an expected regular expression pattern. + + The regex pattern to be matched + The actual string + The message to display in case of failure + Arguments used in formatting the message + + + + Asserts that a string matches an expected regular expression pattern. + + The regex pattern to be matched + The actual string + The message to display in case of failure + + + + Asserts that a string matches an expected regular expression pattern. + + The regex pattern to be matched + The actual string + + + + Asserts that a string does not match an expected regular expression pattern. + + The regex pattern to be used + The actual string + The message to display in case of failure + Arguments used in formatting the message + + + + Asserts that a string does not match an expected regular expression pattern. + + The regex pattern to be used + The actual string + The message to display in case of failure + + + + Asserts that a string does not match an expected regular expression pattern. + + The regex pattern to be used + The actual string + + + + The TestCaseData class represents a set of arguments + and other parameter info to be used for a parameterized + test case. It provides a number of instance modifiers + for use in initializing the test case. + + Note: Instance modifiers are getters that return + the same instance after modifying it's state. + + + + + The argument list to be provided to the test + + + + + The expected result to be returned + + + + + The expected exception Type + + + + + The FullName of the expected exception + + + + + The name to be used for the test + + + + + The description of the test + + + + + A dictionary of properties, used to add information + to tests without requiring the class to change. + + + + + If true, indicates that the test case is to be ignored + + + + + The reason for ignoring a test case + + + + + Initializes a new instance of the class. + + The arguments. + + + + Initializes a new instance of the class. + + The argument. + + + + Initializes a new instance of the class. + + The first argument. + The second argument. + + + + Initializes a new instance of the class. + + The first argument. + The second argument. + The third argument. + + + + Sets the expected result for the test + + The expected result + A modified TestCaseData + + + + Sets the expected exception type for the test + + Type of the expected exception. + The modified TestCaseData instance + + + + Sets the expected exception type for the test + + FullName of the expected exception. + The modified TestCaseData instance + + + + Sets the name of the test case + + The modified TestCaseData instance + + + + Sets the description for the test case + being constructed. + + The description. + The modified TestCaseData instance. + + + + Applies a category to the test + + + + + + + Applies a named property to the test + + + + + + + + Applies a named property to the test + + + + + + + + Applies a named property to the test + + + + + + + + Ignores this TestCase. + + + + + + Ignores this TestCase, specifying the reason. + + The reason. + + + + + Gets the argument list to be provided to the test + + + + + Gets the expected result + + + + + Gets the expected exception Type + + + + + Gets the FullName of the expected exception + + + + + Gets the name to be used for the test + + + + + Gets the description of the test + + + + + Gets a value indicating whether this is ignored. + + true if ignored; otherwise, false. + + + + Gets the ignore reason. + + The ignore reason. + + + + Gets a list of categories associated with this test. + + + + + Gets the property dictionary for this test + + + + + Provide the context information of the current test + + + + + Constructs a TestContext using the provided context dictionary + + A context dictionary + + + + Get the current test context. This is created + as needed. The user may save the context for + use within a test, but it should not be used + outside the test for which it is created. + + + + + Gets a TestAdapter representing the currently executing test in this context. + + + + + Gets a ResultAdapter representing the current result for the test + executing in this context. + + + + + Gets the current directory for this TestContext + + + + + TestAdapter adapts a Test for consumption by + the user test code. + + + + + Constructs a TestAdapter for this context + + The context dictionary + + + + The name of the test. + + + + + The FullName of the test + + + + + The properties of the test. + + + + + ResultAdapter adapts a TestResult for consumption by + the user test code. + + + + + Construct a ResultAdapter for a context + + The context holding the result + + + + The TestState of current test. This maps to the ResultState + used in nunit.core and is subject to change in the future. + + + + + The TestStatus of current test. This enum will be used + in future versions of NUnit and so is to be preferred + to the TestState value. + + + + + The ResultState enum indicates the result of running a test + + + + + The result is inconclusive + + + + + The test was not runnable. + + + + + The test has been skipped. + + + + + The test has been ignored. + + + + + The test succeeded + + + + + The test failed + + + + + The test encountered an unexpected exception + + + + + The test was cancelled by the user + + + + + The TestStatus enum indicates the result of running a test + + + + + The test was inconclusive + + + + + The test has skipped + + + + + The test succeeded + + + + + The test failed + + + + + Helper class with static methods used to supply constraints + that operate on strings. + + + + + Returns a constraint that succeeds if the actual + value contains the substring supplied as an argument. + + + + + Returns a constraint that fails if the actual + value contains the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value starts with the substring supplied as an argument. + + + + + Returns a constraint that fails if the actual + value starts with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value ends with the substring supplied as an argument. + + + + + Returns a constraint that fails if the actual + value ends with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value matches the Regex pattern supplied as an argument. + + + + + Returns a constraint that fails if the actual + value matches the pattern supplied as an argument. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if all of them succeed. + + + + + TextMessageWriter writes constraint descriptions and messages + in displayable form as a text stream. It tailors the display + of individual message components to form the standard message + format of NUnit assertion failure messages. + + + + + Prefix used for the expected value line of a message + + + + + Prefix used for the actual value line of a message + + + + + Length of a message prefix + + + + + Construct a TextMessageWriter + + + + + Construct a TextMessageWriter, specifying a user message + and optional formatting arguments. + + + + + + + Method to write single line message with optional args, usually + written to precede the general failure message, at a givel + indentation level. + + The indentation level of the message + The message to be written + Any arguments used in formatting the message + + + + Display Expected and Actual lines for a constraint. This + is called by MessageWriter's default implementation of + WriteMessageTo and provides the generic two-line display. + + The constraint that failed + + + + Display Expected and Actual lines for given values. This + method may be called by constraints that need more control over + the display of actual and expected values than is provided + by the default implementation. + + The expected value + The actual value causing the failure + + + + Display Expected and Actual lines for given values, including + a tolerance value on the expected line. + + The expected value + The actual value causing the failure + The tolerance within which the test was made + + + + Display the expected and actual string values on separate lines. + If the mismatch parameter is >=0, an additional line is displayed + line containing a caret that points to the mismatch point. + + The expected string value + The actual string value + The point at which the strings don't match or -1 + If true, case is ignored in string comparisons + If true, clip the strings to fit the max line length + + + + Writes the text for a connector. + + The connector. + + + + Writes the text for a predicate. + + The predicate. + + + + Write the text for a modifier. + + The modifier. + + + + Writes the text for an expected value. + + The expected value. + + + + Writes the text for an actual value. + + The actual value. + + + + Writes the text for a generalized value. + + The value. + + + + Writes the text for a collection value, + starting at a particular point, to a max length + + The collection containing elements to write. + The starting point of the elements to write + The maximum number of elements to write + + + + Write the generic 'Expected' line for a constraint + + The constraint that failed + + + + Write the generic 'Expected' line for a given value + + The expected value + + + + Write the generic 'Expected' line for a given value + and tolerance. + + The expected value + The tolerance within which the test was made + + + + Write the generic 'Actual' line for a constraint + + The constraint for which the actual value is to be written + + + + Write the generic 'Actual' line for a given value + + The actual value causing a failure + + + + Gets or sets the maximum line length for this writer + + + + + Helper class with properties and methods that supply + constraints that operate on exceptions. + + + + + Creates a constraint specifying the exact type of exception expected + + + + + Creates a constraint specifying the exact type of exception expected + + + + + Creates a constraint specifying the type of exception expected + + + + + Creates a constraint specifying the type of exception expected + + + + + Creates a constraint specifying an expected exception + + + + + Creates a constraint specifying an exception with a given InnerException + + + + + Creates a constraint specifying an expected TargetInvocationException + + + + + Creates a constraint specifying an expected TargetInvocationException + + + + + Creates a constraint specifying an expected TargetInvocationException + + + + + Creates a constraint specifying that no exception is thrown + + + + diff --git a/lib/NUnit/lib/nunit.mocks.dll b/lib/NUnit/lib/nunit.mocks.dll new file mode 100644 index 0000000000..6ee2c1cc20 Binary files /dev/null and b/lib/NUnit/lib/nunit.mocks.dll differ diff --git a/lib/NUnit/lib/pnunit.framework.dll b/lib/NUnit/lib/pnunit.framework.dll new file mode 100644 index 0000000000..6c105d70f9 Binary files /dev/null and b/lib/NUnit/lib/pnunit.framework.dll differ diff --git a/lib/nunit-license.txt b/lib/NUnit/license.txt similarity index 89% rename from lib/nunit-license.txt rename to lib/NUnit/license.txt index 4beb762c93..ab91df4496 100644 --- a/lib/nunit-license.txt +++ b/lib/NUnit/license.txt @@ -1,15 +1,15 @@ -Copyright 2002-2007 Charlie Poole -Copyright 2002-2004 James W. Newkirk, Michael C. Two, Alexei A. Vorontsov -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-2007 Charlie Poole or Copyright 2002-2004 James W. Newkirk, Michael C. Two, Alexei A. Vorontsov 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. +Copyright 2002-2008 Charlie Poole +Copyright 2002-2004 James W. Newkirk, Michael C. Two, Alexei A. Vorontsov +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-2008 Charlie Poole or Copyright 2002-2004 James W. Newkirk, Michael C. Two, Alexei A. Vorontsov 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. diff --git a/lib/NUnit/tools/NUnitTests.VisualState.xml b/lib/NUnit/tools/NUnitTests.VisualState.xml new file mode 100644 index 0000000000..603cda770e --- /dev/null +++ b/lib/NUnit/tools/NUnitTests.VisualState.xml @@ -0,0 +1,124 @@ + + + [0-1000]D:\Dev\NUnit\nunit-2.5\work\build\net\2.0\release\NUnitTests.nunit + [0-1000]D:\Dev\NUnit\nunit-2.5\work\build\net\2.0\release\NUnitTests.nunit + false + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/lib/NUnit 2.2.8.0/NUnitTests.config b/lib/NUnit/tools/NUnitTests.config similarity index 62% rename from lib/NUnit 2.2.8.0/NUnitTests.config rename to lib/NUnit/tools/NUnitTests.config index 4e6cfce9e5..9487c07d26 100644 --- a/lib/NUnit 2.2.8.0/NUnitTests.config +++ b/lib/NUnit/tools/NUnitTests.config @@ -1,76 +1,85 @@ - - - - - -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/lib/NUnit/tools/NUnitTests.nunit b/lib/NUnit/tools/NUnitTests.nunit new file mode 100644 index 0000000000..bb80dd6492 --- /dev/null +++ b/lib/NUnit/tools/NUnitTests.nunit @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + diff --git a/lib/NUnit/tools/TestResult.xml b/lib/NUnit/tools/TestResult.xml new file mode 100644 index 0000000000..058d42bf88 --- /dev/null +++ b/lib/NUnit/tools/TestResult.xml @@ -0,0 +1,5971 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/lib/NUnit/tools/agent.conf b/lib/NUnit/tools/agent.conf new file mode 100644 index 0000000000..b4cf5509e7 --- /dev/null +++ b/lib/NUnit/tools/agent.conf @@ -0,0 +1,4 @@ + + 8080 + . + \ No newline at end of file diff --git a/lib/NUnit/tools/agent.log.conf b/lib/NUnit/tools/agent.log.conf new file mode 100644 index 0000000000..d340cad1e9 --- /dev/null +++ b/lib/NUnit/tools/agent.log.conf @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + + + + diff --git a/lib/NUnit/tools/launcher.log.conf b/lib/NUnit/tools/launcher.log.conf new file mode 100644 index 0000000000..d340cad1e9 --- /dev/null +++ b/lib/NUnit/tools/launcher.log.conf @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + + + + diff --git a/lib/NUnit/tools/lib/Failure.png b/lib/NUnit/tools/lib/Failure.png new file mode 100644 index 0000000000..2e400b276f Binary files /dev/null and b/lib/NUnit/tools/lib/Failure.png differ diff --git a/lib/NUnit/tools/lib/Ignored.png b/lib/NUnit/tools/lib/Ignored.png new file mode 100644 index 0000000000..478efbf00b Binary files /dev/null and b/lib/NUnit/tools/lib/Ignored.png differ diff --git a/lib/NUnit/tools/lib/Inconclusive.png b/lib/NUnit/tools/lib/Inconclusive.png new file mode 100644 index 0000000000..4807b7cedb Binary files /dev/null and b/lib/NUnit/tools/lib/Inconclusive.png differ diff --git a/lib/NUnit/tools/lib/Skipped.png b/lib/NUnit/tools/lib/Skipped.png new file mode 100644 index 0000000000..7c9fc64e38 Binary files /dev/null and b/lib/NUnit/tools/lib/Skipped.png differ diff --git a/lib/NUnit/tools/lib/Success.png b/lib/NUnit/tools/lib/Success.png new file mode 100644 index 0000000000..2a301508c6 Binary files /dev/null and b/lib/NUnit/tools/lib/Success.png differ diff --git a/lib/NUnit/tools/lib/fit.dll b/lib/NUnit/tools/lib/fit.dll new file mode 100644 index 0000000000..40bbef0e29 Binary files /dev/null and b/lib/NUnit/tools/lib/fit.dll differ diff --git a/lib/NUnit/tools/lib/log4net.dll b/lib/NUnit/tools/lib/log4net.dll new file mode 100644 index 0000000000..20a2e1c47d Binary files /dev/null and b/lib/NUnit/tools/lib/log4net.dll differ diff --git a/lib/NUnit/tools/lib/nunit-console-runner.dll b/lib/NUnit/tools/lib/nunit-console-runner.dll new file mode 100644 index 0000000000..1709ce7bd2 Binary files /dev/null and b/lib/NUnit/tools/lib/nunit-console-runner.dll differ diff --git a/lib/NUnit/tools/lib/nunit-gui-runner.dll b/lib/NUnit/tools/lib/nunit-gui-runner.dll new file mode 100644 index 0000000000..35efa737c3 Binary files /dev/null and b/lib/NUnit/tools/lib/nunit-gui-runner.dll differ diff --git a/lib/NUnit/tools/lib/nunit.core.dll b/lib/NUnit/tools/lib/nunit.core.dll new file mode 100644 index 0000000000..a1dd69866d Binary files /dev/null and b/lib/NUnit/tools/lib/nunit.core.dll differ diff --git a/lib/NUnit/tools/lib/nunit.core.interfaces.dll b/lib/NUnit/tools/lib/nunit.core.interfaces.dll new file mode 100644 index 0000000000..0ac8788205 Binary files /dev/null and b/lib/NUnit/tools/lib/nunit.core.interfaces.dll differ diff --git a/lib/NUnit/tools/lib/nunit.fixtures.dll b/lib/NUnit/tools/lib/nunit.fixtures.dll new file mode 100644 index 0000000000..8fd1932d75 Binary files /dev/null and b/lib/NUnit/tools/lib/nunit.fixtures.dll differ diff --git a/lib/NUnit/tools/lib/nunit.uiexception.dll b/lib/NUnit/tools/lib/nunit.uiexception.dll new file mode 100644 index 0000000000..610c1700ed Binary files /dev/null and b/lib/NUnit/tools/lib/nunit.uiexception.dll differ diff --git a/lib/NUnit/tools/lib/nunit.uikit.dll b/lib/NUnit/tools/lib/nunit.uikit.dll new file mode 100644 index 0000000000..9087db2d16 Binary files /dev/null and b/lib/NUnit/tools/lib/nunit.uikit.dll differ diff --git a/lib/NUnit/tools/lib/nunit.util.dll b/lib/NUnit/tools/lib/nunit.util.dll new file mode 100644 index 0000000000..0b315c2106 Binary files /dev/null and b/lib/NUnit/tools/lib/nunit.util.dll differ diff --git a/lib/NUnit/tools/nunit-agent-x86.exe b/lib/NUnit/tools/nunit-agent-x86.exe new file mode 100644 index 0000000000..ebcee1be24 Binary files /dev/null and b/lib/NUnit/tools/nunit-agent-x86.exe differ diff --git a/lib/NUnit 2.2.8.0/nunit-console.v4.0.config b/lib/NUnit/tools/nunit-agent-x86.exe.config similarity index 58% rename from lib/NUnit 2.2.8.0/nunit-console.v4.0.config rename to lib/NUnit/tools/nunit-agent-x86.exe.config index 999eed1c61..84c2906d6e 100644 --- a/lib/NUnit 2.2.8.0/nunit-console.v4.0.config +++ b/lib/NUnit/tools/nunit-agent-x86.exe.config @@ -1,102 +1,69 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/lib/NUnit/tools/nunit-agent.exe b/lib/NUnit/tools/nunit-agent.exe new file mode 100644 index 0000000000..ec41f32382 Binary files /dev/null and b/lib/NUnit/tools/nunit-agent.exe differ diff --git a/lib/NUnit 2.2.8.0/mock-assembly.dll.config b/lib/NUnit/tools/nunit-agent.exe.config similarity index 56% rename from lib/NUnit 2.2.8.0/mock-assembly.dll.config rename to lib/NUnit/tools/nunit-agent.exe.config index 22f0349409..84c2906d6e 100644 --- a/lib/NUnit 2.2.8.0/mock-assembly.dll.config +++ b/lib/NUnit/tools/nunit-agent.exe.config @@ -1,60 +1,69 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/lib/NUnit/tools/nunit-console-x86.exe b/lib/NUnit/tools/nunit-console-x86.exe new file mode 100644 index 0000000000..e08ac9c81d Binary files /dev/null and b/lib/NUnit/tools/nunit-console-x86.exe differ diff --git a/lib/NUnit/tools/nunit-console-x86.exe.config b/lib/NUnit/tools/nunit-console-x86.exe.config new file mode 100644 index 0000000000..ce92b5b41f --- /dev/null +++ b/lib/NUnit/tools/nunit-console-x86.exe.config @@ -0,0 +1,69 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/lib/NUnit/tools/nunit-console.exe b/lib/NUnit/tools/nunit-console.exe new file mode 100644 index 0000000000..1544a9d831 Binary files /dev/null and b/lib/NUnit/tools/nunit-console.exe differ diff --git a/lib/NUnit/tools/nunit-console.exe.config b/lib/NUnit/tools/nunit-console.exe.config new file mode 100644 index 0000000000..30453c9b85 --- /dev/null +++ b/lib/NUnit/tools/nunit-console.exe.config @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/lib/NUnit/tools/nunit-x86.exe b/lib/NUnit/tools/nunit-x86.exe new file mode 100644 index 0000000000..fd342c070a Binary files /dev/null and b/lib/NUnit/tools/nunit-x86.exe differ diff --git a/lib/NUnit/tools/nunit-x86.exe.config b/lib/NUnit/tools/nunit-x86.exe.config new file mode 100644 index 0000000000..6c0320e871 --- /dev/null +++ b/lib/NUnit/tools/nunit-x86.exe.config @@ -0,0 +1,83 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/lib/NUnit/tools/nunit.exe b/lib/NUnit/tools/nunit.exe new file mode 100644 index 0000000000..ad8b08af38 Binary files /dev/null and b/lib/NUnit/tools/nunit.exe differ diff --git a/lib/NUnit/tools/nunit.exe.config b/lib/NUnit/tools/nunit.exe.config new file mode 100644 index 0000000000..6c0320e871 --- /dev/null +++ b/lib/NUnit/tools/nunit.exe.config @@ -0,0 +1,83 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/lib/NUnit/tools/nunit.framework.dll b/lib/NUnit/tools/nunit.framework.dll new file mode 100644 index 0000000000..6856e51ef0 Binary files /dev/null and b/lib/NUnit/tools/nunit.framework.dll differ diff --git a/lib/NUnit/tools/pnunit-agent.exe b/lib/NUnit/tools/pnunit-agent.exe new file mode 100644 index 0000000000..7a555e16c9 Binary files /dev/null and b/lib/NUnit/tools/pnunit-agent.exe differ diff --git a/lib/NUnit 2.2.8.0/nunit-console.v2.0.config b/lib/NUnit/tools/pnunit-agent.exe.config similarity index 60% rename from lib/NUnit 2.2.8.0/nunit-console.v2.0.config rename to lib/NUnit/tools/pnunit-agent.exe.config index f01f07d020..5ed5f7b72c 100644 --- a/lib/NUnit 2.2.8.0/nunit-console.v2.0.config +++ b/lib/NUnit/tools/pnunit-agent.exe.config @@ -1,102 +1,77 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/lib/NUnit/tools/pnunit-launcher.exe b/lib/NUnit/tools/pnunit-launcher.exe new file mode 100644 index 0000000000..c70e58ef13 Binary files /dev/null and b/lib/NUnit/tools/pnunit-launcher.exe differ diff --git a/lib/NUnit 2.2.8.0/nunit-console.v3.5.config b/lib/NUnit/tools/pnunit-launcher.exe.config similarity index 60% rename from lib/NUnit 2.2.8.0/nunit-console.v3.5.config rename to lib/NUnit/tools/pnunit-launcher.exe.config index f01f07d020..5ed5f7b72c 100644 --- a/lib/NUnit 2.2.8.0/nunit-console.v3.5.config +++ b/lib/NUnit/tools/pnunit-launcher.exe.config @@ -1,102 +1,77 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/lib/NUnit/tools/pnunit.framework.dll b/lib/NUnit/tools/pnunit.framework.dll new file mode 100644 index 0000000000..6c105d70f9 Binary files /dev/null and b/lib/NUnit/tools/pnunit.framework.dll differ diff --git a/lib/NUnit/tools/pnunit.tests.dll b/lib/NUnit/tools/pnunit.tests.dll new file mode 100644 index 0000000000..dce018acda Binary files /dev/null and b/lib/NUnit/tools/pnunit.tests.dll differ diff --git a/lib/NUnit/tools/runFile.exe b/lib/NUnit/tools/runFile.exe new file mode 100644 index 0000000000..a794458669 Binary files /dev/null and b/lib/NUnit/tools/runFile.exe differ diff --git a/lib/NUnit/tools/runFile.exe.config b/lib/NUnit/tools/runFile.exe.config new file mode 100644 index 0000000000..35909b4ced --- /dev/null +++ b/lib/NUnit/tools/runFile.exe.config @@ -0,0 +1,43 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/lib/NUnit/tools/runpnunit.bat b/lib/NUnit/tools/runpnunit.bat new file mode 100644 index 0000000000..6efc8b442b --- /dev/null +++ b/lib/NUnit/tools/runpnunit.bat @@ -0,0 +1,2 @@ +start pnunit-agent agent.conf +pnunit-launcher test.conf \ No newline at end of file diff --git a/lib/NUnit/tools/test.conf b/lib/NUnit/tools/test.conf new file mode 100644 index 0000000000..a35e7184da --- /dev/null +++ b/lib/NUnit/tools/test.conf @@ -0,0 +1,24 @@ + + + + + Testing + + + Testing + pnunit.tests.dll + TestLibraries.Testing.EqualTo19 + localhost:8080 + + ..\server + + + + + + + + + + + \ No newline at end of file diff --git a/lib/Rhino.Mocks.dll b/lib/Rhino.Mocks.dll deleted file mode 100644 index 5ebbe56876..0000000000 Binary files a/lib/Rhino.Mocks.dll and /dev/null differ diff --git a/lib/Rhino.Mocks.xml b/lib/Rhino.Mocks.xml deleted file mode 100644 index f36b92f133..0000000000 --- a/lib/Rhino.Mocks.xml +++ /dev/null @@ -1,4849 +0,0 @@ - - - - Rhino.Mocks - - - - - Interface for constraints - - - - - determains if the object pass the constraints - - - - - And operator for constraints - - - - - Not operator for constraints - - - - - Or operator for constraints - - - - - Allow overriding of || or && - - - - - - - Allow overriding of || or && - - - - - - - Gets the message for this constraint - - - - - - Initializes a new constraint object. - - The expected object, The actual object is passed in as a parameter to the method - - - - Evaluate this constraint. - - The actual object that was passed in the method call to the mock. - True when the constraint is met, else false. - - - - Checks if the properties of the object - are the same as the properies of the object. - - The expected object - The actual object - True when both objects have the same values, else False. - - - - - - - - - This is the real heart of the beast. - - - - Used by CheckReferenceType to check all properties of the reference type. - - The expected object - The actual object - True when both objects have the same values, else False. - - - - Used by CheckReferenceType to check all fields of the reference type. - - The expected object - The actual object - True when both objects have the same values, else False. - - - - Checks the items of both collections - - The expected collection - - True if both collections contain the same items in the same order. - - - - Builds a propertyname from the Stack _properties like 'Order.Product.Price' - to be used in the error message. - - A nested property name. - - - - Rhino.Mocks uses this property to generate an error message. - - - A message telling the tester why the constraint failed. - - - - - Constrain that the public field has a specified value - - - - - Constrain that the public field matches another constraint. - - - - - Creates a new instance. - - Name of the public field. - Constraint to place on the public field value. - - - - Creates a new instance, specifying a disambiguating - for the public field. - - The type that declares the public field, used to disambiguate between public fields. - Name of the public field. - Constraint to place on the public field value. - - - - Determines if the object passes the constraint. - - - - - Gets the message for this constraint - - - - - - Creates a new instance. - - Name of the public field. - Expected value. - - - - Creates a new instance, specifying a disambiguating - for the public field. - - The type that declares the public field, used to disambiguate between public fields. - Name of the public field. - Expected value. - - - - Constrain that the property has a specified value - - - - - Constrain that the property matches another constraint. - - - - - Creates a new instance. - - Name of the property. - Constraint to place on the property value. - - - - Creates a new instance, specifying a disambiguating - for the property. - - The type that declares the property, used to disambiguate between properties. - Name of the property. - Constraint to place on the property value. - - - - Determines if the object passes the constraint. - - - - - Gets the message for this constraint - - - - - - Creates a new instance. - - Name of the property. - Expected value. - - - - Creates a new instance, specifying a disambiguating - for the property. - - The type that declares the property, used to disambiguate between properties. - Name of the property. - Expected value. - - - - Constrain that the parameter must be of the specified type - - - - - Creates a new instance. - - Type. - - - - determains if the object pass the constraints - - - - - Gets the message for this constraint - - - - - - Constraint that determines whether an object is the same object as another. - - - - - Creates a new instance. - - Obj. - - - - Determines if the object passes the constraints. - - - - - Gets the message for this constraint. - - - - - Evaluate a parameter using constraints - - - - - Create new instance - - - - - - determains if the object pass the constraints - - - - - Gets the message for this constraint - - - - - - Constrain that the list contains the same items as the parameter list - - - - - Creates a new instance. - - In list. - - - - determains if the object pass the constraints - - - - - Gets the message for this constraint - - - - - - Constrain that the parameter is one of the items in the list - - - - - Creates a new instance. - - In list. - - - - determains if the object pass the constraints - - - - - Gets the message for this constraint - - - - - - Constrain that the object is inside the parameter list - - - - - Creates a new instance. - - In list. - - - - determains if the object pass the constraints - - - - - Gets the message for this constraint - - - - - - Applies another AbstractConstraint to the collection count. - - - - - Creates a new instance. - - The constraint that should be applied to the collection count. - - - - Determines if the parameter conforms to this constraint. - - - - - Gets the message for this constraint. - - - - - Applies another AbstractConstraint to a specific list element. - - - - - Creates a new instance. - - The zero-based index of the list element. - The constraint that should be applied to the list element. - - - - Determines if the parameter conforms to this constraint. - - - - - Gets the message for this constraint - - - - - - Constrains that all elements are in the parameter list - - - - - Initializes a new instance of the class. - - The these. - - - - determains if the object pass the constraints - - - - - - - Gets the message for this constraint - - - - - - Combines two constraints, constraint pass if either is fine. - - - - - Creates a new instance. - - C1. - C2. - - - - determains if the object pass the constraints - - - - - Gets the message for this constraint - - - - - - Negate a constraint - - - - - Creates a new instance. - - C1. - - - - determains if the object pass the constraints - - - - - Gets the message for this constraint - - - - - - Combines two constraints - - - - - - Creates a new instance. - - C1. - C2. - - - - determains if the object pass the constraints - - - - - Gets the message for this constraint - - - - - - Constrain the argument to validate according to regex pattern - - - - - Creates a new instance. - - Pattern. - - - - determains if the object pass the constraints - - - - - Gets the message for this constraint - - - - - - Constraint that evaluate whatever an argument contains the specified string. - - - - - Creates a new instance. - - Inner string. - - - - determains if the object pass the constraints - - - - - Gets the message for this constraint - - - - - - Constraint that evaluate whatever an argument ends with the specified string - - - - - Creates a new instance. - - End. - - - - determains if the object pass the constraints - - - - - Gets the message for this constraint - - - - - - Constraint that evaluate whatever an argument start with the specified string - - - - - Creates a new instance. - - Start. - - - - determains if the object pass the constraints - - - - - Gets the message for this constraint - - - - - - Constraint that evaluate whatever an object equals another - - - - - Creates a new instance. - - Obj. - - - - determains if the object pass the constraints - - - - - Gets the message for this constraint - - - - - - Constraint that always returns true - - - - - determains if the object pass the constraints - - - - - Gets the message for this constraint - - - - - - Constraint that evaluate whatever a comparable is greater than another - - - - - Creates a new instance. - - - - - determains if the object pass the constraints - - - - - Gets the message for this constraint - - - - - - Central location for constraints - - - - - Evaluate a greater than constraint for . - - The object the parameter should be greater than - - - - Evaluate a less than constraint for . - - The object the parameter should be less than - - - - Evaluate a less than or equal constraint for . - - The object the parameter should be less than or equal to - - - - Evaluate a greater than or equal constraint for . - - The object the parameter should be greater than or equal to - - - - Evaluate an equal constraint for . - - The object the parameter should equal to - - - - Evaluate a not equal constraint for . - - The object the parameter should not equal to - - - - Evaluate a same as constraint. - - The object the parameter should the same as. - - - - Evaluate a not same as constraint. - - The object the parameter should not be the same as. - - - - A constraints that accept anything - - - - - - A constraint that accept only nulls - - - - - - A constraint that accept only non null values - - - - - - A constraint that accept only value of the specified type - - - - - A constraint that accept only value of the specified type - - - - - Evaluate a parameter using a predicate - - The predicate to use - - - - Provides access to the constraintes defined in the class to be used in context - with the syntax. - - The type of the argument - - - - Evaluate a greater than constraint for . - - The object the parameter should be greater than - - - - Evaluate a less than constraint for . - - The object the parameter should be less than - - - - Evaluate a less than or equal constraint for . - - The object the parameter should be less than or equal to - - - - Evaluate a greater than or equal constraint for . - - The object the parameter should be greater than or equal to - - - - Evaluate an equal constraint for . - - The object the parameter should equal to - - - - Evaluate a not equal constraint for . - - The object the parameter should not equal to - - - - Evaluate a same as constraint. - - The object the parameter should the same as. - - - - Evaluate a not same as constraint. - - The object the parameter should not be the same as. - - - - Throws NotSupportedException. Don't use Equals to define constraints. Use Equal instead. - - - - - - - Serves as a hash function for a particular type. - - - A hash code for the current . - - - - - A constraints that accept anything - - - - - - A constraint that accept only nulls - - - - - - A constraint that accept only non null values - - - - - - A constraint that accept only value of the specified type. - The check is performed on the type that has been defined - as the argument type. - - - - - Central location for constraints about lists and collections - - - - - Determines whether the specified obj is in the paramter. - The parameter must be IEnumerable. - - Obj. - - - - - Determains whatever the parameter is in the collection. - - - - - Determains that the parameter collection is identical to the specified collection - - - - - Determines that the parameter collection has the specified number of elements. - - The constraint that should be applied to the collection count. - - - - Determines that an element of the parameter collections conforms to another AbstractConstraint. - - The zero-based index of the list element. - The constraint which should be applied to the list element. - - - - Determines that all elements of the specified collection are in the the parameter collection - - The collection to compare against - The constraint which should be applied to the list parameter. - - - - Provides access to the constraintes defined in the class to be used in context - with the syntax. - - - - - Determines whether the specified object is in the paramter. - The parameter must be IEnumerable. - - Obj. - - - - - Determains whatever the parameter is in the collection. - - - - - Determains that the parameter collection is identical to the specified collection - - - - - Determines that the parameter collection has the specified number of elements. - - The constraint that should be applied to the collection count. - - - - Determines that an element of the parameter collections conforms to another AbstractConstraint. - - The zero-based index of the list element. - The constraint which should be applied to the list element. - - - - Determines that all elements of the specified collection are in the the parameter collection - - The collection to compare against - The constraint which should be applied to the list parameter. - - - - Throws NotSupportedException. Don't use Equals to define constraints. Use Equal instead. - - - - - - - Serves as a hash function for a particular type. - - - A hash code for the current . - - - - - Provides a dummy field to pass as out or ref argument. - - - - - - Dummy field to satisfy the compiler. Used for out and ref arguments. - - - - - Central location for constraints for object's properties - - - - - Constrains the parameter to have property with the specified value - - Name of the property. - Expected value. - - - - - Constrains the parameter to have property with the specified value. - - The type that declares the property, used to disambiguate between properties. - Name of the property. - Expected value. - - - - - Constrains the parameter to have a property satisfying a specified constraint. - - Name of the property. - Constraint for the property. - - - - Constrains the parameter to have a property satisfying a specified constraint. - - The type that declares the property, used to disambiguate between properties. - Name of the property. - Constraint for the property. - - - - Determines whether the parameter has the specified property and that it is null. - - Name of the property. - - - - - Determines whether the parameter has the specified property and that it is null. - - The type that declares the property, used to disambiguate between properties. - Name of the property. - - - - - Determines whether the parameter has the specified property and that it is not null. - - Name of the property. - - - - - Determines whether the parameter has the specified property and that it is not null. - - The type that declares the property, used to disambiguate between properties. - Name of the property. - - - - - constraints the parameter to have the exact same property values as the expected object. - - An object, of the same type as the parameter, whose properties are set with the expected values. - An instance of the constraint that will do the actual check. - - The parameter's public property values and public field values will be matched against the expected object's - public property values and public field values. The first mismatch will be reported and no further matching is done. - The matching is recursive for any property or field that has properties or fields of it's own. - Collections are supported through IEnumerable, which means the constraint will check if the actual and expected - collection contain the same values in the same order, where the values contained by the collection can have properties - and fields of their own that will be checked as well because of the recursive nature of this constraint. - - - - - Central location for constraints for object's public fields - - - - - Constrains the parameter to have a public field with the specified value - - Name of the public field. - Expected value. - - - - - Constrains the parameter to have a public field with the specified value. - - The type that declares the public field, used to disambiguate between public fields. - Name of the public field. - Expected value. - - - - - Constrains the parameter to have a public field satisfying a specified constraint. - - Name of the public field. - Constraint for the public field. - - - - Constrains the parameter to have a public field satisfying a specified constraint. - - The type that declares the public field, used to disambiguate between public fields. - Name of the public field. - Constraint for the public field. - - - - Determines whether the parameter has the specified public field and that it is null. - - Name of the public field. - - - - - Determines whether the parameter has the specified public field and that it is null. - - The type that declares the public field, used to disambiguate between public fields. - Name of the public field. - - - - - Determines whether the parameter has the specified public field and that it is not null. - - Name of the public field. - - - - - Determines whether the parameter has the specified public field and that it is not null. - - The type that declares the public field, used to disambiguate between public fields. - Name of the public field. - - - - - Central location for all text related constraints - - - - - Constrain the argument to starts with the specified string - - - - - Constrain the argument to end with the specified string - - - - - Constrain the argument to contain the specified string - - - - - Constrain the argument to validate according to regex pattern - - - - - Provides access to the constraintes defined in the class to be used in context - with the syntax. - - - - - Constrain the argument to starts with the specified string - - - - - - Constrain the argument to end with the specified string - - - - - Constrain the argument to contain the specified string - - - - - Constrain the argument to validate according to regex pattern - - - - - Throws NotSupportedException. Don't use Equals to define constraints. Use Equal instead. - - - - - - - Serves as a hash function for a particular type. - - - A hash code for the current . - - - - - An expectaton violation was detected. - - - - - Creates a new instance. - - Message. - - - - Serialization constructor - - - - - Signals that an object was call on a mock repostiroy which doesn't - belong to this mock repository or not a mock - - - - - Creates a new instance. - - Message. - - - - Serialization constructor - - - - - Abstract class that holds common information for - expectations. - - - - - Interface to validate that a method call is correct. - - - - - Validate the arguments for the method. - This method can be called numerous times, so be careful about side effects - - The arguments with which the method was called - - - - Add an actual method call to this expectation - - - - - Returns the return value or throw the exception and setup any output / ref parameters - that has been set. - - - - - Allow to set the return value in the future, if it was already set. - - - - - Gets the error message. - - - - - - Range of expected calls - - - - - Number of call actually made for this method - - - - - If this expectation is still waiting for calls. - - - - - The return value for a method matching this expectation - - - - - Gets or sets the exception to throw on a method matching this expectation. - - - - - Gets a value indicating whether this instance's action is staisfied. - A staisfied instance means that there are no more requirements from - this method. A method with non void return value must register either - a return value or an exception to throw. - - - - - Gets the method this expectation is for. - - - - - Gets or sets what special condtions there are for this method - repeating. - - - - - Gets a value indicating whether this expectation was satisfied - - - - - Specify whatever this expectation has a return value set - You can't check ReturnValue for this because a valid return value include null. - - - - - An action to execute when the method is matched. - - - - - Set the out / ref parameters for the method call. - The indexing is zero based and ignores any non out/ref parameter. - It is possible not to pass all the parameters. This method can be called only once. - - - - - Documentation Message - - - - - Gets the invocation for this expectation - - The invocation. - - - - Number of actuall calls made that passed this expectation - - - - - Range of expected calls that should pass this expectation. - - - - - The return value for a method matching this expectation - - - - - The exception to throw on a method matching this expectation. - - - - - The method this expectation is for. - - - - - The return value for this method was set - - - - - Whether this method will repeat - unlimited number of times. - - - - - A delegate that will be run when the - expectation is matched. - - - - - The arguments that matched this expectation. - - - - - Documentation message - - - - - The method originalInvocation - - - - - Get the hash code - - - - - Add an actual actualMethodCall call to this expectation - - - - - Allow to set the return value in the future, if it was already set. - - - - - Returns the return value or throw the exception and setup output / ref parameters - - - - - Validate the arguments for the method on the child methods - - The arguments with which the method was called - - - - Creates a new instance. - - The originalInvocation for this method, required because it contains the generic type infromation - - - - Creates a new instance. - - Expectation. - - - - Validate the arguments for the method on the child methods - - The arguments with which the method was called - - - - Determines if this object equal to obj - - - - - The error message for these arguments - - - - - Asserts that the delegate has the same parameters as the expectation's method call - - - - - Setter for the outpur / ref parameters for this expecataion. - Can only be set once. - - - - - Specify whatever this expectation has a return value set - You can't check ReturnValue for this because a valid return value include null. - - - - - Gets the method this expectation is for. - - - - - Gets the originalInvocation for this expectation - - The originalInvocation. - - - - Gets or sets what special condtions there are for this method - - - - - Range of expected calls - - - - - Number of call actually made for this method - - - - - If this expectation is still waiting for calls. - - - - - Gets a value indicating whether this expectation was satisfied - - - - - The return value for a method matching this expectation - - - - - An action to execute when the method is matched. - - - - - Gets or sets the exception to throw on a method matching this expectation. - - - - - Gets a value indicating whether this instance's action is staisfied. - A staisfied instance means that there are no more requirements from - this method. A method with non void return value must register either - a return value or an exception to throw or an action to execute. - - - - - Documentation message - - - - - Gets the error message. - - - - - - Expectation that matchs any arguments for the method. - - - - - Creates a new instance. - - Invocation for this expectation - - - - Creates a new instance. - - Expectation. - - - - Validate the arguments for the method. - - The arguments with which the method was called - - - - Determines if the object equal to expectation - - - - - Get the hash code - - - - - Gets the error message. - - - - - - Summary description for ArgsEqualExpectation. - - - - - Creates a new instance. - - Expected args. - The invocation for this expectation - - - - Validate the arguments for the method. - - The arguments with which the method was called - - - - Determines if the object equal to expectation - - - - - Get the hash code - - - - - Gets the error message. - - - - - - Get the expected args. - - - - - Call a specified callback to verify the expectation - - - - - Creates a new instance. - - Expectation. - Callback. - - - - Creates a new instance. - - Invocation for this expectation - Callback. - - - - Validate the arguments for the method on the child methods - - The arguments with which the method was called - - - - Determines if the object equal to expectation - - - - - Get the hash code - - - - - Gets the error message. - - - - - - Expect the method's arguments to match the contraints - - - - - Creates a new instance. - - Invocation for this expectation - Constraints. - - - - Creates a new instance. - - Expectation. - Constraints. - - - - Validate the arguments for the method. - - The arguments with which the method was called - - - - Determines if the object equal to expectation - - - - - Get the hash code - - - - - Gets the error message. - - - - - - ExpectationsList - - - - - Dictionary - - - - - Dictionary class - - - - - Create a new instance of ProxyStateDictionary - - - - - Operation on a remoting proxy - - - It is not possible to directly communicate to a real proxy via transparent proxy. - Transparent proxy impersonates a user type and only methods of that user type are callable. - The only methods that are guaranteed to exist on any transparent proxy are methods defined - in Object: namely ToString(), GetHashCode(), and Equals()). - - These three methods are the only way to tell the real proxy to do something. - Equals() is the most suitable of all, since it accepts an arbitrary object parameter. - The RemotingProxy code is built so that if it is compared to an IRemotingProxyOperation, - transparentProxy.Equals(operation) will call operation.Process(realProxy). - This way we can retrieve a real proxy from transparent proxy and perform - arbitrary operation on it. - - - - - Implementation of IInvocation based on remoting proxy - - Some methods are marked NotSupported since they either don't make sense - for remoting proxies, or they are never called by Rhino Mocks - - - - Generates remoting proxies and provides utility functions - - - - - Create the proxy using remoting - - - - - Check whether an object is a transparent proxy with a RemotingProxy behind it - - Object to check - true if the object is a transparent proxy with a RemotingProxy instance behind it, false otherwise - We use Equals() method to communicate with the real proxy behind the object. - See IRemotingProxyOperation for more details - - - - Retrieve a mocked object from a transparent proxy - - Transparent proxy with a RemotingProxy instance behind it - Mocked object associated with the proxy - We use Equals() method to communicate with the real proxy behind the object. - See IRemotingProxyOperation for more details - - - - Allows to call a method and immediatly get it's options. - - - - - Interface to allows to call a method and immediatly get it's options. - - - - - Get the method options for the call - - The method call should go here, the return value is ignored - - - - Creates a new instance. - - - - - Get the method options for the call - - The method call should go here, the return value is ignored - - - - Allows to call a method and immediatly get it's options. - Set the expected number for the call to Any() - - - - - Creates a new instance. - - Proxy. - Mocked instance. - - - - Get the method options for the call - - The method call should go here, the return value is ignored - - - - This class is reponsible for taking a delegate and creating a wrapper - interface around it, so it can be mocked. - - - - - The scope for all the delegate interfaces create by this mock repositroy. - - - - - Gets a type with an "Invoke" method suitable for use as a target of the - specified delegate type. - - - - - - - Raise events for all subscribers for an event - - - - - Raise events for all subscribers for an event - - - - - Raise the event - - - - - The most common form for the event handler signature - - - - - Create an event raise for the specified event on this instance. - - - - - Creates a new instance of EventRaiser - - - - - Raise the event - - - - - The most common signature for events - Here to allow intellisense to make better guesses about how - it should suggest parameters. - - - - - Allows to define what would happen when a method - is called. - - - - - Allows to define what would happen when a method - is called. - - - - - Set the return value for the method. - - The object the method will return - IRepeat that defines how many times the method will return this value - - - - Allow to override this return value in the future - - IRepeat that defines how many times the method will return this value - - - - Throws the specified exception when the method is called. - - Exception to throw - - - - Ignores the arguments for this method. Any argument will be matched - againt this method. - - - - - Add constraints for the method's arguments. - - - - - Set a callback method for the last call - - - - - Set a delegate to be called when the expectation is matched. - The delegate return value will be returned from the expectation. - - - - - Set a delegate to be called when the expectation is matched. - The delegate return value will be returned from the expectation. - - - - - Set a delegate to be called when the expectation is matched. - The delegate return value will be returned from the expectation. - - - - - Set a delegate to be called when the expectation is matched. - The delegate return value will be returned from the expectation. - - - - - Set a delegate to be called when the expectation is matched. - The delegate return value will be returned from the expectation. - - - - - Set a delegate to be called when the expectation is matched. - The delegate return value will be returned from the expectation. - - - - - Set a delegate to be called when the expectation is matched. - The delegate return value will be returned from the expectation. - - - - - Set a delegate to be called when the expectation is matched. - The delegate return value will be returned from the expectation. - - - - - Set a delegate to be called when the expectation is matched. - The delegate return value will be returned from the expectation. - - - - - Set a delegate to be called when the expectation is matched. - The delegate return value will be returned from the expectation. - - - - - Set a delegate to be called when the expectation is matched. - The delegate return value will be returned from the expectation. - - - - - Set a delegate to be called when the expectation is matched. - The delegate return value will be returned from the expectation. - - - - - Call the original method on the class, bypassing the mocking layers. - - - - - - Call the original method on the class, optionally bypassing the mocking layers. - - - - - - Use the property as a simple property, getting/setting the values without - causing mock expectations. - - - - - Get an event raiser for the last subscribed event. - - - - - Set the parameter values for out and ref parameters. - This is done using zero based indexing, and _ignoring_ any non out/ref parameter. - - - - - Documentation message for the expectation - - Message - - - - Better syntax to define repeats. - - - - - Allows to specify the number of time for method calls - - - - - Repeat the method twice. - - - - - Repeat the method once. - - - - - Repeat the method at least once, then repeat as many time as it would like. - - - - - Repeat the method any number of times. - This has special affects in that this method would now ignore orderring. - - - - - Set the range to repeat an action. - - Min. - Max. - - - - Set the amount of times to repeat an action. - - - - - This method must not appear in the replay state. - This has special affects in that this method would now ignore orderring. - - - - - Creates a new instance. - - the repository for this expectation - the recorder for this proxy - the proxy for this expectation - Expectation. - If the expectation still can be replaced by a Constraint call - - - - Add constraints for the method's arguments. - - - - - Set a callback method for the last call - - - - - Set a callback method for the last call - - - - - Set a callback method for the last call - - - - - Set a callback method for the last call - - - - - Set a callback method for the last call - - - - - Set a callback method for the last call - - - - - Set a callback method for the last call - - - - - Set a callback method for the last call - - - - - Set a callback method for the last call - - - - - Set a callback method for the last call - - - - - Set a callback method for the last call - - - - - Set a callback method for the last call - - - - - Set a delegate to be called when the expectation is matched. - The delegate return value will be returned from the expectation. - - - - - Set the return value for the method. - - The object the method will return - IRepeat that defines how many times the method will return this value - - - - Set the return value for the method, but allow to override this return value in the future - - IRepeat that defines how many times the method will return this value - - - - Throws the specified exception when the method is called. - - Exception to throw - - - - Ignores the arguments for this method. Any argument will be matched - againt this method. - - - - - Call the original method on the class, bypassing the mocking layers. - - - - - - Call the original method on the class, optionally bypassing the mocking layers - - - - - - Use the property as a simple property, getting/setting the values without - causing mock expectations. - - - - - Gets the event raiser for the last event - - - - - Set the parameter values for out and ref parameters. - This is done using zero based indexing, and _ignoring_ any non out/ref parameter. - - - - - Repeat the method twice. - - - - - Repeat the method once. - - - - - Repeat the method at least once, then repeat as many time as it would like. - - - - - This method must not appear in the replay state. - - - - - Documentation message for the expectation - - Message - - - - Repeat the method any number of times. - - - - - Set the range to repeat an action. - - Min. - Max. - - - - Set the amount of times to repeat an action. - - - - - Better syntax to define repeats. - - - - - This class will provide hash code for hashtables without needing - to call the GetHashCode() on the object, which may very well be mocked. - This class has no state so it is a singelton to avoid creating a lot of objects - that does the exact same thing. See flyweight patterns. - - - - - Get the hash code for a proxy object without calling GetHashCode() - on the object. - - - - - Compares two instances of mocked objects - - - - - Compare two mocked objects - - - - - The next hash code value for a mock object. - This is safe for multi threading. - - - - - The sole instance of - - - - - Doesn't log anything, just makes happy noises - - - - - Log expectations - allows to see what is going on inside Rhino Mocks - - - - - Logs the expectation as is was recorded - - The invocation. - The expectation. - - - - Logs the expectation as it was recorded - - The invocation. - The expectation. - - - - Logs the unexpected method call. - - The invocation. - The message. - - - - Logs the expectation as is was recorded - - The invocation. - The expectation. - - - - Logs the expectation as it was recorded - - The invocation. - The expectation. - - - - Logs the unexpected method call. - - The invocation. - The message. - - - - This is a dummy type that is used merely to give DynamicProxy the proxy instance that - it needs to create IProxy's types. - - - - - Interface to find the repository of a mocked object - - - - - Return true if it should call the original method on the object - instead of pass it to the message chain. - - The method to call - - - - Register a method to be called on the object directly - - - - - Register a property on the object that will behave as a simple property - - - - - Check if the method was registered as a property method. - - - - - Do get/set on the property, according to need. - - - - - Do add/remove on the event - - - - - Get the subscribers of a spesific event - - - - - Gets the declaring type of the method, taking into acccount the possible generic - parameters that it was created with. - - - - - Clears the state of the object, remove original calls, property behavior, subscribed events, etc. - - - - - Get all the method calls arguments that were made against this object with the specificed - method. - - - Only method calls in replay mode are counted - - - - - Records the method call - - - - - The unique hash code of this mock, which is not related - to the value of the GetHashCode() call on the object. - - - - - Gets the repository. - - - - - Gets the implemented types by this mocked object - - The implemented. - - - - Gets or sets the constructor arguments. - - The constructor arguments. - - - - Create a new instance of - - - - - Return true if it should call the original method on the object - instead of pass it to the message chain. - - The method to call - - - - Register a method to be called on the object directly - - - - - Register a property on the object that will behave as a simple property - - - - - Check if the method was registered as a property method. - - - - - Do get/set on the property, according to need. - - - - - Do add/remove on the event - - - - - Get the subscribers of a spesific event - - - - - Gets the declaring type of the method, taking into acccount the possible generic - parameters that it was created with. - - - - - Get all the method calls arguments that were made against this object with the specificed - method. - - - - - Only method calls in replay mode are counted - - - - - Records the method call - - - - - - - Clears the state of the object, remove original calls, property behavior, subscribed events, etc. - - - - - The unique hash code of this proxy, which is not related - to the value of the GetHashCode() call on the object. - - - - - Gets the repository. - - - - - Gets or sets the constructor arguments. - - The constructor arguments. - - - - Gets the implemented types by this mocked object - - The implemented. - - - - Range for expected method calls - - - - - Creates a new instance. - - Min. - Max. - - - - Return the string representation of this range. - - - - - Gets or sets the min. - - - - - - Gets or sets the max. - - - - - - Records all the expectations for a mock and - return a ReplayDynamicMockState when Replay() - is called. - - - - - Records all the expectations for a mock - - - - - Different actions on this mock - - - - - Add a method call for this state' mock. - - The invocation for this method - The method that was called - The arguments this method was called with - - - - Verify that this mock expectations have passed. - - - - - Verify that we can move to replay state and move - to the reply state. - - - - - Gets a mock state that match the original mock state of the object. - - - - - Get the options for the last method call - - - - - Set the exception to throw when Verify is called. - This is used to report exception that may have happened but where caught in the code. - This way, they are reported anyway when Verify() is called. - - - - - Gets the matching verify state for this state - - - - - Get the options for the last method call - - - - - Get the options for the last method call - - - - - Set the exception to throw when Verify is called. - This is used to report exception that may have happened but where caught in the code. - This way, they are reported anyway when Verify() is called. - - - - - Creates a new instance. - - Repository. - The proxy that generates the method calls - - - - Add a method call for this state' mock. - - The invocation for this method - The method that was called - The arguments this method was called with - - - - Verify that we can move to replay state and move - to the reply state. - - - - - Verify that we can move to replay state and move - to the reply state. - - - - - Verify that this mock expectations have passed. - - - - - Gets a mock state that match the original mock state of the object. - - - - - Asserts the previous method is closed (had an expectation set on it so we can replay it correctly) - - - - - Gets the last expectation. - - - - - Gets the total method calls count. - - - - - Get the options for the last method call - - - - - Gets the matching verify state for this state - - - - - Creates a new instance. - - Repository. - The proxy that generates the method calls - - - - Verify that we can move to replay state and move - to the reply state. - - - - - Gets a mock state that match the original mock state of the object. - - - - - Records all the expectations for a mock and - return a ReplayPartialMockState when Replay() - is called. - - - - - Creates a new instance. - - Repository. - The proxy that generates the method calls - - - - Verify that we can move to replay state and move - to the reply state. - - - - - Gets a mock state that match the original mock state of the object. - - - - - Options for special repeat option - - - - - This method can be called only as many times as the IMethodOptions.Expect allows. - - - - - This method should never be called - - - - - This method can be call any number of times - - - - - This method will call the original method - - - - - This method will call the original method, bypassing the mocking layer - - - - - This method will simulate simple property behavior - - - - - Validate all expectations on a mock and ignores calls to - any method that was not setup properly. - - - - - Validate all expectations on a mock - - - - - The repository for this state - - - - - The proxy object for this state - - - - - Get the options for the last method call - - - - - Creates a new instance. - - The previous state for this method - - - - Add a method call for this state' mock. - - The invocation for this method - The method that was called - The arguments this method was called with - - - - Add a method call for this state' mock. - This allows derived method to cleanly get a the setupresult behavior while adding - their own. - - The invocation for this method - The method that was called - The arguments this method was called with - - - - Set the exception to throw when Verify is called. - This is used to report exception that may have happened but where caught in the code. - This way, they are reported anyway when Verify() is called. - - - - - Verify that this mock expectations have passed. - - - - - Verify that we can move to replay state and move - to the reply state. - - - - - Gets a mock state that match the original mock state of the object. - - - - - Get the options for the last method call - - - - - Gets the matching verify state for this state - - - - - Creates a new instance. - - The previous state for this method - - - - Add a method call for this state' mock. - - The invocation for this method - The method that was called - The arguments this method was called with - - - - Gets a mock state that match the original mock state of the object. - - - - - Validate all expectations on a mock and ignores calls to - any method that was not setup properly. - - - - - Creates a new instance. - - The previous state for this method - - - - Add a method call for this state' mock. - - The invocation for this method - The method that was called - The arguments this method was called with - - - - Gets a mock state that match the original mock state of the object. - - - - - Summary description for RhinoInterceptor. - - - - - Creates a new instance. - - - - - Intercept a method call and direct it to the repository. - - - - - Behave like a stub, all properties and events acts normally, methods calls - return default values by default (but can use expectations to set them up), etc. - - - - - Initializes a new instance of the class. - - The proxy that generates the method calls - Repository. - - - - We don't care much about expectations here, so we will remove the exepctation if - it is not closed. - - - - - Verify that we can move to replay state and move - to the reply state. - - - - - - Validate expectations on recorded methods, but in general completely ignoring them. - Similar to except that it would return a - when BackToRecord is called. - - - - - Initializes a new instance of the class. - - The previous state for this method - - - - Add a method call for this state' mock. - - The invocation for this method - The method that was called - The arguments this method was called with - - - - Gets a mock state that match the original mock state of the object. - - - - - Rudimetry implementation that simply logs methods calls as text. - - - - - Initializes a new instance of the class. - - The writer. - - - - Logs the expectation as is was recorded - - The invocation. - The expectation. - - - - Logs the expectation as it was recorded - - The invocation. - The expectation. - - - - Logs the unexpected method call. - - The invocation. - The message. - - - - Write rhino mocks log info to the trace - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - if set to true [log recorded]. - if set to true [log replayed]. - if set to true [log unexpected]. - - - - Logs the expectation as is was recorded - - The invocation. - The expectation. - - - - Logs the expectation as it was recorded - - The invocation. - The expectation. - - - - Logs the unexpected method call. - - The invocation. - The message. - - - - Writes log information as stack traces about rhino mocks activity - - - - - Allows to redirect output to a different location. - - - - - Logs the expectation as is was recorded - - The invocation. - The expectation. - - - - Logs the expectation as it was recorded - - The invocation. - The expectation. - - - - Logs the unexpected method call. - - The invocation. - The message. - - - - Validate arguments for methods - - - - - Validate that the passed argument is not null. - - The object to validate - The name of the argument - - If the obj is null, an ArgumentNullException with the passed name - is thrown. - - - - - Validate that the arguments are equal. - - Expected args. - Actual Args. - - - - Validate that the two argument are equals, including validation for - when the arguments are collections, in which case it will validate their values. - - - - - This method is safe for use even if any of the objects is a mocked object - that override equals. - - - - - Throw an object already verified when accessed - - - - - Create a new instance of VerifiedMockState - - The previous mock state, used to get the initial record state - - - - Add a method call for this state' mock. - - The invocation for this method - The method that was called - The arguments this method was called with - - - - Verify that this mock expectations have passed. - - - - - Verify that we can move to replay state and move - to the reply state. - - - - - Gets a mock state that match the original mock state of the object. - - - - - Get the options for the last method call - - - - - Set the exception to throw when Verify is called. - This is used to report exception that may have happened but where caught in the code. - This way, they are reported anyway when Verify() is called. - - - - - Gets the matching verify state for this state - - - - - Get the options for the last method call - - - - - Records the actions on all the mocks created by a repository. - - - - - Records the specified call with the specified args on the mocked object. - - - - - Get the expectation for this method on this object with this arguments - - - - - This check the methods that were setup using the SetupResult.For() - or LastCall.Repeat.Any() and that bypass the whole expectation model. - - - - - Gets the all expectations for a mocked object and method combination, - regardless of the expected arguments / callbacks / contraints. - - Mocked object. - Method. - List of all relevant expectation - - - - Gets the all expectations for proxy. - - Mocked object. - List of all relevant expectation - - - - Removes all the repeatable expectations for proxy. - - Mocked object. - - - - Replaces the old expectation with the new expectation for the specified proxy/method pair. - This replace ALL expectations that equal to old expectations. - - Proxy. - Method. - Old expectation. - New expectation. - - - - Adds the recorder and turn it into the active recorder. - - Recorder. - - - - Moves to previous recorder. - - - - - Gets the recorded expectation or null. - - - - - Gets the next expected calls string. - - - - - Moves to parent recorder. - - - - - Set the expectation so it can repeat any number of times. - - - - - Removes the expectation from the recorder - - - - - Clear the replayer to call (and all its chain of replayers) - This also removes it from the list of expectations, so it will never be considered again - - - - - Get the expectation for this method on this object with this arguments - - - - - Gets a value indicating whether this instance has expectations that weren't satisfied yet. - - - true if this instance has expectations; otherwise, false. - - - - - Marker interface used to indicate that this is a partial mock. - - - - - Options for CallOriginalMethod - - - - - No expectation is created, the method will be called directly - - - - - Normal expectation is created, but when the method is later called, it will also call the original method - - - - - Base class for method recorders, handle delegating to inner recorder if needed. - - - - - List of the expected actions on for this recorder - The legal values are: - * Expectations - * Method Recorders - - - - - The current recorder. - - - - - The current replayer; - - - - - The parent recorder of this one, may be null. - - - - - This contains a list of all the replayers that should be ignored - for a spesific method call. A replayer gets into this list by calling - ClearReplayerToCall() on its parent. This list is Clear()ed on each new invocation. - - - - - All the repeatable methods calls. - - - - - Counts the recursion depth of the current expectation search stack - - - - - Creates a new instance. - - - - - Creates a new instance. - - Parent recorder. - Repeatable methods - - - - Records the specified call with the specified args on the mocked object. - - - - - Get the expectation for this method on this object with this arguments - - - - - Gets the all expectations for a mocked object and method combination, - regardless of the expected arguments / callbacks / contraints. - - Mocked object. - Method. - List of all relevant expectation - - - - Gets the all expectations for proxy. - - Mocked object. - List of all relevant expectation - - - - Replaces the old expectation with the new expectation for the specified proxy/method pair. - This replace ALL expectations that equal to old expectations. - - Proxy. - Method. - Old expectation. - New expectation. - - - - Remove the all repeatable expectations for proxy. - - Mocked object. - - - - Set the expectation so it can repeat any number of times. - - - - - Removes the expectation from the recorder - - - - - Adds the recorder and turn it into the active recorder. - - Recorder. - - - - Moves to previous recorder. - - - - - Moves to parent recorder. - - - - - Gets the recorded expectation or null. - - - - - Clear the replayer to call (and all its chain of replayers). - This also removes it from the list of expectations, so it will never be considered again - - - - - Get the expectation for this method on this object with this arguments - - - - - Gets the next expected calls string. - - - - - Handles the real getting of the recorded expectation or null. - - - - - Handle the real execution of this method for the derived class - - - - - Handle the real execution of this method for the derived class - - - - - Handle the real execution of this method for the derived class - - - - - Handle the real execution of this method for the derived class - - - - - Handle the real execution of this method for the derived class - - - - - Handle the real execution of this method for the derived class - - - - - Should this replayer be considered valid for this call? - - - - - This check the methods that were setup using the SetupResult.For() - or LastCall.Repeat.Any() and that bypass the whole expectation model. - - - - - Gets a value indicating whether this instance has expectations that weren't satisfied yet. - - - true if this instance has expectations; otherwise, false. - - - - - Handle the real execution of this method for the derived class - - - - - Ordered collection of methods, methods must arrive in specified order - in order to pass. - - - - - Unordered collection of method records, any expectation that exist - will be matched. - - - - - The parent recorder we have redirected to. - Useful for certain edge cases in orderring. - See: FieldProblem_Entropy for the details. - - - - - Creates a new instance. - - Parent recorder. - Repeatable methods - - - - Creates a new instance. - - - - - Records the specified call with the specified args on the mocked object. - - Mocked object. - Method. - Expectation. - - - - Get the expectation for this method on this object with this arguments - - Invocation for this method - Mocked object. - Method. - Args. - True is the call was recorded, false otherwise - - - - Gets the all expectations for a mocked object and method combination, - regardless of the expected arguments / callbacks / contraints. - - Mocked object. - Method. - List of all relevant expectation - - - - Gets the all expectations for proxy. - - Mocked object. - List of all relevant expectation - - - - Replaces the old expectation with the new expectation for the specified proxy/method pair. - This replace ALL expectations that equal to old expectations. - - Proxy. - Method. - Old expectation. - New expectation. - - - - Handle the real execution of this method for the derived class - - - - - Handles the real getting of the recorded expectation or null. - - - - - Handle the real execution of this method for the derived class - - - - - Gets the next expected calls string. - - - - - Create an exception for an unexpected method call. - - - - - Gets a value indicating whether this instance has expectations that weren't satisfied yet. - - - true if this instance has expectations; otherwise, false. - - - - - Creates a new instance. - - Parent recorder. - Repetable methods - - - - Creates a new instance. - - - - - Handles the real getting of the recorded expectation or null. - - - - - Get the expectation for this method on this object with this arguments - - - - - Gets the next expected calls string. - - - - - Hold an expectation for a method call on an object - - - - - Creates a new instance. - - Proxy. - Method. - Expectation. - - - - Determains if the object equal to this instance - - Obj. - - - - - Gets the hash code. - - - - - - Gets the proxy. - - - - - - Gets the method. - - - - - - Gets the expectation. - - - - - - Holds a pair of mocked object and a method - and allows to compare them against each other. - This allows us to have a distinction between mockOne.MyMethod() and - mockTwo.MyMethod()... - - - - - Creates a new instance. - - Proxy. - Method. - - - - Determains whatever obj equals to this instance. - ProxyMethodPairs are equals when they point to the same /instance/ of - an object, and to the same method. - - Obj. - - - - - Gets the hash code. - - - - - - Gets the proxy. - - - - - - Gets the method. - - - - - - Change the recorder from ordered to unordered and vice versa - - - - - Creates a new instance. - - - - - Disposes this instance. - - - - - Utility class for dealing with messing generics scenarios. - - - - - There are issues with trying to get this to work correctly with open generic types, since this is an edge case, - I am letting the runtime handle it. - - - - - Gets the real type, including de-constructing and constructing the type of generic - methods parameters. - - The type. - The invocation. - - - - - Because we need to support complex types here (simple generics were handled above) we - need to be aware of the following scenarios: - List[T] and List[Foo[T]] - - - - - Utility class for working with method calls. - - - - - Return the string representation of a method call and its arguments. - - The method - The method arguments - Invocation of the method, used to get the generics arguments - Delegate to format the parameter - The string representation of this method call - - - - Return the string representation of a method call and its arguments. - - The invocation of the method, used to get the generic parameters - The method - The method arguments - The string representation of this method call - - - - Delegate to format the argument for the string representation of - the method call. - - - - - Utility to get the default value for a type - - - - - The default value for a type. - Null for reference types and void - 0 for value types. - First element for enums - Note that we need to get the value even for opened generic types, such as those from - generic methods. - - Type. - The invocation. - the default value - - - - Defines constraints and return values for arguments of a mock. - Only use Arg inside a method call on a mock that is recording. - Example: - ExpectCall( - mock.foo( - Arg<int>.Is.GreaterThan(2), - Arg<string>.Is.Anything - )); - Use Arg.Text for string specific constraints - Use Arg<ListClass>.List for list specific constraints - - - - - - Register the predicate as a constraint for the current call. - - The predicate. - default(T) - - Allow you to use code to create constraints - - demo.AssertWasCalled(x => x.Bar(Arg{string}.Matches(a => a.StartsWith("b") && a.Contains("ba")))); - - - - - - Define a complex constraint for this argument by passing several constraints - combined with operators. (Use Is in simple cases.) - Example: Arg<string>.Matches(Is.Equal("Hello") || Text.EndsWith("u")); - - Constraints using Is, Text and List - Dummy to satisfy the compiler - - - - Define a Ref argument. - - Constraints for this argument - value returned by the mock - - - - - Define a out parameter. Use it together with the keyword out and use the - Dummy field available by the return value. - Example: mock.foo( out Arg<string>.Out("hello").Dummy ); - - - - - - - Define a simple constraint for this argument. (Use Matches in simple cases.) - Example: - Arg<int>.Is.Anthing - Arg<string>.Is.Equal("hello") - - - - - Define Constraints on list arguments. - - - - - Use the Arg class (without generic) to define Text constraints - - - - - Define constraints on text arguments. - - - - - Used to manage the static state of the Arg<T> class"/> - - - - - Resets the static state - - - - - Returns return values for the out and ref parameters - Note: the array returned has the size of the number of out and ref - argument definitions - - - - - - Returns the constraints for all arguments. - Out arguments have an Is.Anything constraint and are also in the list. - - - - - - What should BackToRecord clear - - - - - Retain all expectations and behaviors and return to mock - - - - - All expectations - - - - - Event subscribers for this instance - - - - - Methods that should be forwarded to the base class implementation - - - - - Properties that should behave like properties - - - - - Remove all the behavior of the object - - - - - This class defines a lot of method signatures, which we will use - to allow compatability on net-2.0 - - - - - dummy - - - - - dummy - - - - - dummy - - - - - dummy - - - - - dummy - - - - - dummy - - - - - dummy - - - - - dummy - - - - - dummy - - - - - dummy - - - - - dummy - - - - - dummy - - - dummy - - - - - dummy - - - - - dummy - - - - - dummy - - - - - dummy - - - - - dummy - - - - - dummy - - - - - dummy - - - - - dummy - - - - - dummy - - - - - Allows expectations to be set on methods that should never be called. - For methods with void return value, you need to use LastCall or - DoNotExpect.Call() with a delegate. - - - - - Sets LastCall.Repeat.Never() on /any/ proxy on /any/ repository on the current thread. - This method if not safe for multi threading scenarios. - - - - - Accepts a delegate that will execute inside the method which - LastCall.Repeat.Never() will be applied to. - It is expected to be used with anonymous delegates / lambda expressions and only one - method should be called. - - - IService mockSrv = mocks.CreateMock(typeof(IService)) as IService; - DoNotExpect.Call(delegate{ mockSrv.Stop(); }); - ... - - - - - Allows to set expectation on methods that has return values. - For methods with void return value, you need to use LastCall - - - - - The method options for the last call on /any/ proxy on /any/ repository on the current thread. - This method if not safe for multi threading scenarios, use . - - - - - Accepts a delegate that will execute inside the method, and then return the resulting - instance. - It is expected to be used with anonymous delegates / lambda expressions and only one - method should be called. - - - IService mockSrv = mocks.CreateMock(typeof(IService)) as IService; - Expect.Call(delegate{ mockSrv.Start(); }).Throw(new NetworkException()); - ... - - - - - Get the method options for the last method call on the mockInstance. - - - - - A delegate that can be used to get better syntax on Expect.Call(delegate { foo.DoSomething(); }); - - - - - Allows to set various options for the last method call on - a specified object. - If the method has a return value, it's recommended to use Expect - - - - - Allows to get an interface to work on the last call. - - The mocked object - Interface that allows to set options for the last method call on this object - - - - Set the return value for the method. - - The object the method will return - IRepeat that defines how many times the method will return this value - - - - Set the return value for the method. This overload is needed for LastCall.Return(null) - - The object the method will return - IRepeat that defines how many times the method will return this value - - - - Throws the specified exception when the method is called. - - Exception to throw - - - - Ignores the arguments for this method. Any argument will be matched - againt this method. - - - - - Add constraints for the method's arguments. - - - - - Set a callback method for the last call - - - - - Set a callback method for the last call - - - - - Set a callback method for the last call - - - - - Set a callback method for the last call - - - - - Set a callback method for the last call - - - - - Set a callback method for the last call - - - - - Set a callback method for the last call - - - - - Set a callback method for the last call - - - - - Set a callback method for the last call - - - - - Set a callback method for the last call - - - - - Set a callback method for the last call - - - - - Set a callback method for the last call - - - - - Call the original method on the class, bypassing the mocking layers, for the last call. - - - - - Call the original method on the class, optionally bypassing the mocking layers, for the last call. - - - - - Set a delegate to be called when the expectation is matched. - The delegate return value will be returned from the expectation. - - - - - Gets an interface that will raise the last event when called. - - - - - Set the parameter values for out and ref parameters. - This is done using zero based indexing, and _ignoring_ any non out/ref parameter. - - - - - Documentation message for the expectation - - Message - - - - Use the property as a simple property, getting/setting the values without - causing mock expectations. - - - - - Better syntax to define repeats. - - - - - Accessor for the current mocker - - - - - The current mocker - - - - - Creates proxied instances of types. - - - Adds optional new usage: - using(mockRepository.Record()) { - Expect.Call(mock.Method()).Return(retVal); - } - using(mockRepository.Playback()) { - // Execute code - } - N.B. mockRepository.ReplayAll() and mockRepository.VerifyAll() - calls are taken care of by Record/Playback - - - - - This is a map of types to ProxyGenerators. - - - - - This is used to record the last repository that has a method called on it. - - - - - this is used to get to the last proxy on this repository. - - - - - For mock delegates, maps the proxy instance from intercepted invocations - back to the delegate that was originally returned to client code, if any. - - - - - All the proxies in the mock repositories - - - - - This is here because we can't put it in any of the recorders, since repeatable methods - have no orderring, and if we try to handle them using the usual manner, we would get into - wierd situations where repeatable method that was defined in an orderring block doesn't - exists until we enter this block. - - - - - Creates a new instance. - - - - - Move the repository to ordered mode - - - - - Move the repository to un-ordered mode - - - - - Creates a mock for the specified type. - - Type. - Arguments for the class' constructor, if mocking a concrete class - - - - Creates a strict mock for the specified type. - - Type. - Arguments for the class' constructor, if mocking a concrete class - - - - Creates a remoting mock for the specified type. - - Type. - Arguments for the class' constructor, if mocking a concrete class - - - - Creates a strict remoting mock for the specified type. - - Type. - Arguments for the class' constructor, if mocking a concrete class - - - - Creates a remoting mock for the specified type. - - - Arguments for the class' constructor, if mocking a concrete class - - - - - Creates a strict remoting mock for the specified type. - - - Arguments for the class' constructor, if mocking a concrete class - - - - - Creates a mock from several types, with strict semantics. - Only may be a class. - - - - - Creates a strict mock from several types, with strict semantics. - Only may be a class. - - - - - Creates a mock from several types, with strict semantics. - Only may be a class. - - The main type to mock. - Extra interface types to mock. - Arguments for the class' constructor, if mocking a concrete class. - - - - Creates a strict mock from several types, with strict semantics. - Only may be a class. - - The main type to mock. - Extra interface types to mock. - Arguments for the class' constructor, if mocking a concrete class. - - - - Creates a mock from several types, with dynamic semantics. - Only may be a class. - - The main type to mock. - Extra interface types to mock. - - - - Creates a mock from several types, with dynamic semantics. - Only may be a class. - - The main type to mock. - Extra interface types to mock. - Arguments for the class' constructor, if mocking a concrete class. - - - - Creates a dynamic mock for the specified type. - - Type. - Arguments for the class' constructor, if mocking a concrete class - - - - Creates a dynamic mock for the specified type. - - Type. - Arguments for the class' constructor, if mocking a concrete class - - - - Creates a dynamic mock for the specified type. - - - Arguments for the class' constructor, if mocking a concrete class - - - - - Creates a mock object that defaults to calling the class methods. - - Type. - Arguments for the class' constructor. - - - - Creates a mock object that defaults to calling the class methods. - - Type. - Extra interface types to mock. - - - - Creates a mock object that defaults to calling the class methods. - - Type. - Extra interface types to mock. - Arguments for the class' constructor. - - - - Creates a mock object using remoting proxies - - Type to mock - must be MarshalByRefObject - Mock object - Proxy mock can mock non-virtual methods, but not static methods - Creates the mock state for this proxy - - - - Cause the mock state to change to replay, any further call is compared to the - ones that were called in the record state. - - the object to move to replay state - - - - Cause the mock state to change to replay, any further call is compared to the - ones that were called in the record state. - - the object to move to replay state - - - - - Move the mocked object back to record state. - Will delete all current expectations! - - - - - Move the mocked object back to record state. - Optionally, can delete all current expectations, but allows more granularity about how - it would behave with regard to the object state. - - - - - Verify that all the expectations for this object were fulfilled. - - the object to verify the expectations for - - - - Get the method options for the last call on - mockedInstance. - - The mock object - Method options for the last call - - - - Maps an invocation proxy back to the mock object instance that was originally - returned to client code which might have been a delegate to this proxy. - - The mock object proxy from the intercepted invocation - The mock object - - - - This is provided to allow advance extention functionality, where Rhino Mocks standard - functionality is not enough. - - The type to mock - Delegate that create the first state of the mocked object (usualy the record state). - Additional types to be implemented, this can be only interfaces - optional arguments for the constructor - - - - - Method: GetMockedObject - Get an IProxy from a mocked object instance, or throws if the - object is not a mock object. - - - - - Method: GetMockedObjectOrNull - Get an IProxy from a mocked object instance, or null if the - object is not a mock object. - - - - - Pops the recorder. - - - - - Pushes the recorder. - - New recorder. - - - - All the mock objects in this repository will be moved - to record state. - - - - - All the mock objects in this repository will be moved - to record state. - - - - - Replay all the mocks from this repository - - - - - Verify all the mocks from this repository - - - - - Gets the proxy generator for a specific type. Having a single ProxyGenerator - with multiple types linearly degrades the performance so this implementation - keeps one ProxyGenerator per type. - - - - - Set the exception to be thrown when verified is called. - - - - - Creates a mock for the spesified type. - - Arguments for the class' constructor, if mocking a concrete class - - - - Creates a strict mock for the spesified type. - - Arguments for the class' constructor, if mocking a concrete class - - - - Creates a dynamic mock for the specified type. - - Arguments for the class' constructor, if mocking a concrete class - - - - Creates a mock object from several types. - - - - - Creates a strict mock object from several types. - - - - - Create a mock object from several types with dynamic semantics. - - - - - Create a mock object from several types with partial semantics. - - - - - Create a mock object from several types with strict semantics. - - Extra interface types to mock. - Arguments for the class' constructor, if mocking a concrete class - - - - Create a strict mock object from several types with strict semantics. - - Extra interface types to mock. - Arguments for the class' constructor, if mocking a concrete class - - - - Create a mock object from several types with dynamic semantics. - - Extra interface types to mock. - Arguments for the class' constructor, if mocking a concrete class - - - - Create a mock object from several types with partial semantics. - - Extra interface types to mock. - Arguments for the class' constructor, if mocking a concrete class - - - - Create a mock object with from a class that defaults to calling the class methods - - Arguments for the class' constructor, if mocking a concrete class - - - - Create a stub object, one that has properties and events ready for use, and - can have methods called on it. It requires an explicit step in order to create - an expectation for a stub. - - The arguments for constructor. - - - - Create a stub object, one that has properties and events ready for use, and - can have methods called on it. It requires an explicit step in order to create - an expectation for a stub. - - The type. - The arguments for constructor. - - - - - Generates a stub without mock repository - - The arguments for constructor. - - - - - Generates the stub without mock repository - - The type. - The arguments for constructor. - - - - Returns true if the passed mock is currently in replay mode. - - The mock to test. - True if the mock is in replay mode, false otherwise. - - - - Generate a mock object without needing the mock repository - - - - - Determines whether the specified proxy is a stub. - - The proxy. - - - - - - - - - - - - - - Gets the recorder. - - - - - - Gets the replayer for this repository. - - - - - - Gets the last proxy which had a method call. - - - - - Delegate: CreateMockState - This is used internally to cleanly handle the creation of different - RecordMockStates. - - - - - Used for [assembly: InternalsVisibleTo(RhinoMocks.StrongName)] - Used for [assembly: InternalsVisibleTo(RhinoMocks.NormalName)] - - - - - Strong name for the Dynamic Proxy assemblies. Used for InternalsVisibleTo specification. - - - - - Normal name for dynamic proxy assemblies. Used for InternalsVisibleTo specification. - - - - - Logs all method calls for methods - - - - - Setup method calls to repeat any number of times. - - - - - Get the method options and set the last method call to repeat - any number of times. - This also means that the method would transcend ordering - - - - - Get the method options for the last method call on the mockInstance and set it - to repeat any number of times. - This also means that the method would transcend ordering - - - - - Allows easier access to MockRepository, works closely with Mocker.Current to - allow access to a context where the mock repository is automatially verified at - the end of the code block. - - - - - Initialize a code block where Mocker.Current is initialized. - At the end of the code block, all the expectation will be verified. - This overload will create a new MockRepository. - - The code that will be executed under the mock context - - - - Initialize a code block where Mocker.Current is initialized. - At the end of the code block, all the expectation will be verified. - This overload will create a new MockRepository. - - The mock repository to use, at the end of the code block, VerifyAll() will be called on the repository. - The code that will be executed under the mock context - - - - Create a FluentMocker - - The mock repository to use. - - - - A method with no arguments and no return value that will be called under the mock context. - - - - - FluentMocker implements some kind of fluent interface attempt - for saying "With the Mocks [mocks], Expecting (in same order) [things] verify [that]." - - - - - Interface to verify previously defined expectations - - - - - Verifies if a piece of code - - - - - Defines unordered expectations - - A delegate describing the expectations - an IMockVerifier - - - - Defines ordered expectations - - A delegate describing the expectations - an IMockVerifier - - - - Verifies previously defined expectations - - - - diff --git a/lib/StatLight/StatLight.nupkg b/lib/StatLight/StatLight.nupkg new file mode 100644 index 0000000000..dc6b468178 Binary files /dev/null and b/lib/StatLight/StatLight.nupkg differ diff --git a/lib/StatLight/tools/Ionic.Zip.Reduced.dll b/lib/StatLight/tools/Ionic.Zip.Reduced.dll new file mode 100644 index 0000000000..da074366df Binary files /dev/null and b/lib/StatLight/tools/Ionic.Zip.Reduced.dll differ diff --git a/lib/StatLight/tools/Microsoft.Silverlight.Testing.License.txt b/lib/StatLight/tools/Microsoft.Silverlight.Testing.License.txt new file mode 100644 index 0000000000..46f9f58d1f --- /dev/null +++ b/lib/StatLight/tools/Microsoft.Silverlight.Testing.License.txt @@ -0,0 +1,11 @@ +MSDN CODE GALLERY BINARY LICENSE + +You are free to install, use, copy and distribute any number of copies of the software, in object code form, provided that you retain: + +• all copyright, patent, trademark, and attribution notices that are present in the software, +• this list of conditions, and +• the following disclaimer in the documentation and/or other materials provided with the software. + +The software is licensed “as-is.” You bear the risk of using it. No express warranties, guarantees or conditions are provided. To the extent permitted under your local laws, the implied warranties of merchantability, fitness for a particular purpose and non-infringement are excluded. + +This license does not grant you any rights to use any other party’s name, logo, or trademarks. All rights not specifically granted herein are reserved. \ No newline at end of file diff --git a/lib/StatLight/tools/StatLight.Client.For.April2010.xap b/lib/StatLight/tools/StatLight.Client.For.April2010.xap new file mode 100644 index 0000000000..7534d416a9 Binary files /dev/null and b/lib/StatLight/tools/StatLight.Client.For.April2010.xap differ diff --git a/lib/StatLight/tools/StatLight.Client.For.Feb2011.xap b/lib/StatLight/tools/StatLight.Client.For.Feb2011.xap new file mode 100644 index 0000000000..57b71b2ebc Binary files /dev/null and b/lib/StatLight/tools/StatLight.Client.For.Feb2011.xap differ diff --git a/lib/StatLight/tools/StatLight.Client.For.July2009.xap b/lib/StatLight/tools/StatLight.Client.For.July2009.xap new file mode 100644 index 0000000000..63a37b5e41 Binary files /dev/null and b/lib/StatLight/tools/StatLight.Client.For.July2009.xap differ diff --git a/lib/StatLight/tools/StatLight.Client.For.June2011.xap b/lib/StatLight/tools/StatLight.Client.For.June2011.xap new file mode 100644 index 0000000000..4330a09b48 Binary files /dev/null and b/lib/StatLight/tools/StatLight.Client.For.June2011.xap differ diff --git a/lib/StatLight/tools/StatLight.Client.For.March2010.xap b/lib/StatLight/tools/StatLight.Client.For.March2010.xap new file mode 100644 index 0000000000..7314cb5852 Binary files /dev/null and b/lib/StatLight/tools/StatLight.Client.For.March2010.xap differ diff --git a/lib/StatLight/tools/StatLight.Client.For.May2010.xap b/lib/StatLight/tools/StatLight.Client.For.May2010.xap new file mode 100644 index 0000000000..01ba00bbf2 Binary files /dev/null and b/lib/StatLight/tools/StatLight.Client.For.May2010.xap differ diff --git a/lib/StatLight/tools/StatLight.Client.For.November2009.xap b/lib/StatLight/tools/StatLight.Client.For.November2009.xap new file mode 100644 index 0000000000..e9f4a7270b Binary files /dev/null and b/lib/StatLight/tools/StatLight.Client.For.November2009.xap differ diff --git a/lib/StatLight/tools/StatLight.Client.For.October2009.xap b/lib/StatLight/tools/StatLight.Client.For.October2009.xap new file mode 100644 index 0000000000..5b089c5639 Binary files /dev/null and b/lib/StatLight/tools/StatLight.Client.For.October2009.xap differ diff --git a/lib/StatLight/tools/StatLight.Client.For.UnitDrivenDecember2009.xap b/lib/StatLight/tools/StatLight.Client.For.UnitDrivenDecember2009.xap new file mode 100644 index 0000000000..09a12f90cc Binary files /dev/null and b/lib/StatLight/tools/StatLight.Client.For.UnitDrivenDecember2009.xap differ diff --git a/lib/StatLight/tools/StatLight.Client.For.XUnitContribApril2011.xap b/lib/StatLight/tools/StatLight.Client.For.XUnitContribApril2011.xap new file mode 100644 index 0000000000..51fd64f66b Binary files /dev/null and b/lib/StatLight/tools/StatLight.Client.For.XUnitContribApril2011.xap differ diff --git a/lib/StatLight/tools/StatLight.Core.dll b/lib/StatLight/tools/StatLight.Core.dll new file mode 100644 index 0000000000..bf019b8cf0 Binary files /dev/null and b/lib/StatLight/tools/StatLight.Core.dll differ diff --git a/lib/StatLight/tools/StatLight.EULA.txt b/lib/StatLight/tools/StatLight.EULA.txt new file mode 100644 index 0000000000..fa0812875d --- /dev/null +++ b/lib/StatLight/tools/StatLight.EULA.txt @@ -0,0 +1,3 @@ +See: + +http://statlight.codeplex.com/license \ No newline at end of file diff --git a/lib/StatLight/tools/StatLight.exe b/lib/StatLight/tools/StatLight.exe new file mode 100644 index 0000000000..1f383a3f1e Binary files /dev/null and b/lib/StatLight/tools/StatLight.exe differ diff --git a/lib/System.Core/ExtensionAttribute.cs b/lib/System.Core/ExtensionAttribute.cs deleted file mode 100644 index fcb186f3f2..0000000000 --- a/lib/System.Core/ExtensionAttribute.cs +++ /dev/null @@ -1,7 +0,0 @@ - -namespace System.Runtime.CompilerServices -{ - /// Used for 2.0 compatibility - [AttributeUsage(AttributeTargets.Method)] - public sealed class ExtensionAttribute : Attribute { } -} diff --git a/lib/System.Core/System.Core.dll b/lib/System.Core/System.Core.dll deleted file mode 100644 index d34141b3e8..0000000000 Binary files a/lib/System.Core/System.Core.dll and /dev/null differ diff --git a/lib/System.Core/build.bat b/lib/System.Core/build.bat deleted file mode 100644 index 13883e6174..0000000000 --- a/lib/System.Core/build.bat +++ /dev/null @@ -1 +0,0 @@ -c:\Windows\Microsoft.NET\Framework\v2.0.50727\csc /target:library /out:System.Core.dll /keyfile:..\..\keys\Google.ProtocolBuffers.snk ExtensionAttribute.cs diff --git a/lib/rhino-license.txt b/lib/rhino-license.txt deleted file mode 100644 index 1c8a46e470..0000000000 --- a/lib/rhino-license.txt +++ /dev/null @@ -1,25 +0,0 @@ -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/src/ProtoDump/ProtoDump.csproj b/src/ProtoDump/ProtoDump.csproj index 9e14573683..f07cdc0f82 100644 --- a/src/ProtoDump/ProtoDump.csproj +++ b/src/ProtoDump/ProtoDump.csproj @@ -1,97 +1,97 @@ - - - - Debug - AnyCPU - 9.0.30729 - 2.0 - {D7282E99-2DC3-405B-946F-177DB2FD2AE2} - Exe - Properties - Google.ProtocolBuffers.ProtoDump - ProtoDump - v2.0 - 512 - - - - - 3.5 - publish\ - true - Disk - false - Foreground - 7 - Days - false - false - true - 0 - 1.0.0.%2a - false - false - true - - - true - full - false - bin\Debug\ - DEBUG;TRACE - prompt - 4 - AllRules.ruleset - - - pdbonly - true - bin\Release\ - TRACE - prompt - 4 - AllRules.ruleset - - - - - - - - - - - - {6908BDCE-D925-43F3-94AC-A531E6DF2591} - ProtocolBuffers - - - - - - - - False - .NET Framework 3.5 SP1 Client Profile - false - - - False - .NET Framework 3.5 SP1 - true - - - False - Windows Installer 3.1 - true - - - + + + + Debug + AnyCPU + 9.0.30729 + 2.0 + {D7282E99-2DC3-405B-946F-177DB2FD2AE2} + Exe + Properties + Google.ProtocolBuffers.ProtoDump + ProtoDump + v2.0 + 512 + + + + + 3.5 + publish\ + true + Disk + false + Foreground + 7 + Days + false + false + true + 0 + 1.0.0.%2a + false + false + true + + + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + AllRules.ruleset + + + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + AllRules.ruleset + + + + + + + + + + + + {6908BDCE-D925-43F3-94AC-A531E6DF2591} + ProtocolBuffers + + + + + + + + False + .NET Framework 3.5 SP1 Client Profile + false + + + False + .NET Framework 3.5 SP1 + true + + + False + Windows Installer 3.1 + true + + + + --> \ No newline at end of file diff --git a/src/ProtoGen.Test/ProtoGen.Test.csproj b/src/ProtoGen.Test/ProtoGen.Test.csproj index d08cbb7349..a3883ccf47 100644 --- a/src/ProtoGen.Test/ProtoGen.Test.csproj +++ b/src/ProtoGen.Test/ProtoGen.Test.csproj @@ -1,124 +1,126 @@ - - - - Debug - AnyCPU - 9.0.30729 - 2.0 - {C268DA4C-4004-47DA-AF23-44C983281A68} - Library - Properties - Google.ProtocolBuffers.ProtoGen - Google.ProtocolBuffers.ProtoGen.Test - v2.0 - 512 - true - ..\..\keys\Google.ProtocolBuffers.snk - - - - - 3.5 - publish\ - true - Disk - false - Foreground - 7 - Days - false - false - true - 0 - 1.0.0.%2a - false - false - true - - - true - full - false - bin\Debug\ - DEBUG;TRACE - prompt - 4 - AllRules.ruleset - - - pdbonly - true - bin\Release\ - TRACE - prompt - 4 - AllRules.ruleset - - - - False - ..\..\lib\NUnit 2.2.8.0\nunit.framework.dll - - - False - ..\..\lib\Rhino.Mocks.dll - - - - - - - - - - - - - - - {6908BDCE-D925-43F3-94AC-A531E6DF2591} - ProtocolBuffers - - - {250ADE34-82FD-4BAE-86D5-985FBE589C4A} - ProtoGen - - - - - False - .NET Framework 3.5 SP1 Client Profile - false - - - False - .NET Framework 3.5 SP1 - true - - - False - Windows Installer 3.1 - true - - - protoc.exe - Always - - - google\protobuf\csharp_options.proto - Always - - - google\protobuf\descriptor.proto - Always - - - - + + + + Debug + AnyCPU + 9.0.30729 + 2.0 + {C268DA4C-4004-47DA-AF23-44C983281A68} + Library + Properties + Google.ProtocolBuffers.ProtoGen + Google.ProtocolBuffers.ProtoGen.Test + v2.0 + 512 + true + ..\..\keys\Google.ProtocolBuffers.snk + + + + + 3.5 + publish\ + true + Disk + false + Foreground + 7 + Days + false + false + true + 0 + 1.0.0.%2a + false + false + true + + + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + AllRules.ruleset + + + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + AllRules.ruleset + + + + False + ..\..\lib\NUnit\lib\nunit.framework.dll + + + + + + + + + + + + + + + {6908BDCE-D925-43F3-94AC-A531E6DF2591} + ProtocolBuffers + + + {250ADE34-82FD-4BAE-86D5-985FBE589C4A} + ProtoGen + + + + + False + .NET Framework 3.5 SP1 Client Profile + false + + + False + .NET Framework 3.5 SP1 + true + + + False + Windows Installer 3.1 + true + + + protoc.exe + Always + + + google\protobuf\csharp_options.proto + Always + + + google\protobuf\descriptor.proto + Always + + + + + + Program + $(ProjectDir)..\..\lib\NUnit\tools\nunit-console.exe + /nologo /noshadow /labels /wait $(AssemblyName).dll + $(ProjectDir)$(OutputPath) + \ No newline at end of file diff --git a/src/ProtoGen/ServiceInterfaceGenerator.cs b/src/ProtoGen/ServiceInterfaceGenerator.cs index 041cffce4f..64b6d69be9 100644 --- a/src/ProtoGen/ServiceInterfaceGenerator.cs +++ b/src/ProtoGen/ServiceInterfaceGenerator.cs @@ -159,8 +159,7 @@ namespace Google.ProtocolBuffers.ProtoGen writer.WriteLine("public {0}(pb::IRpcDispatch dispatch) : this(dispatch, true) {{", Descriptor.Name); writer.WriteLine("}"); writer.WriteLine("public {0}(pb::IRpcDispatch dispatch, bool dispose) {{", Descriptor.Name); - writer.WriteLine( - " if (null == (this.dispatch = dispatch)) throw new global::System.ArgumentNullException();"); + writer.WriteLine(" pb::ThrowHelper.ThrowIfNull(this.dispatch = dispatch, \"dispatch\");"); writer.WriteLine(" this.dispose = dispose && dispatch is global::System.IDisposable;"); writer.WriteLine("}"); writer.WriteLine(); @@ -209,8 +208,7 @@ namespace Google.ProtocolBuffers.ProtoGen Descriptor.Name); writer.WriteLine("}"); writer.WriteLine("public Dispatch(I{0} implementation, bool dispose) {{", Descriptor.Name); - writer.WriteLine( - " if (null == (this.implementation = implementation)) throw new global::System.ArgumentNullException();"); + writer.WriteLine(" pb::ThrowHelper.ThrowIfNull(this.implementation = implementation, \"implementation\");"); writer.WriteLine(" this.dispose = dispose && implementation is global::System.IDisposable;"); writer.WriteLine("}"); writer.WriteLine(); @@ -235,9 +233,7 @@ namespace Google.ProtocolBuffers.ProtoGen method.Name, NameHelpers.UnderscoresToPascalCase(method.Name), GetClassName(method.InputType)); } - writer.WriteLine( - "default: throw new global::System.MissingMethodException(typeof(I{0}).FullName, methodName);", - Descriptor.Name); + writer.WriteLine("default: throw pb::ThrowHelper.CreateMissingMethod(typeof(I{0}), methodName);", Descriptor.Name); writer.Outdent(); writer.WriteLine("}"); //end switch writer.Outdent(); @@ -272,8 +268,7 @@ namespace Google.ProtocolBuffers.ProtoGen writer.WriteLine("public ServerStub(pb::IRpcDispatch implementation) : this(implementation, true) {"); writer.WriteLine("}"); writer.WriteLine("public ServerStub(pb::IRpcDispatch implementation, bool dispose) {"); - writer.WriteLine( - " if (null == (this.implementation = implementation)) throw new global::System.ArgumentNullException();"); + writer.WriteLine(" pb::ThrowHelper.ThrowIfNull(this.implementation = implementation, \"implementation\");"); writer.WriteLine(" this.dispose = dispose && implementation is global::System.IDisposable;"); writer.WriteLine("}"); writer.WriteLine(); @@ -296,9 +291,7 @@ namespace Google.ProtocolBuffers.ProtoGen "case \"{0}\": return implementation.CallMethod(methodName, {1}.ParseFrom(input, registry), {2}.CreateBuilder());", method.Name, GetClassName(method.InputType), GetClassName(method.OutputType)); } - writer.WriteLine( - "default: throw new global::System.MissingMethodException(typeof(I{0}).FullName, methodName);", - Descriptor.Name); + writer.WriteLine("default: throw pb::ThrowHelper.CreateMissingMethod(typeof(I{0}), methodName);", Descriptor.Name); writer.Outdent(); writer.WriteLine("}"); //end switch writer.Outdent(); diff --git a/src/ProtoMunge/ProtoMunge.csproj b/src/ProtoMunge/ProtoMunge.csproj index a04276cc99..a62fdcc2e7 100644 --- a/src/ProtoMunge/ProtoMunge.csproj +++ b/src/ProtoMunge/ProtoMunge.csproj @@ -1,97 +1,97 @@ - - - - Debug - AnyCPU - 9.0.30729 - 2.0 - {8F09AF72-3327-4FA7-BC09-070B80221AB9} - Exe - Properties - Google.ProtocolBuffers.ProtoMunge - ProtoMunge - v2.0 - 512 - - - - - 3.5 - publish\ - true - Disk - false - Foreground - 7 - Days - false - false - true - 0 - 1.0.0.%2a - false - false - true - - - true - full - false - bin\Debug\ - DEBUG;TRACE - prompt - 4 - AllRules.ruleset - - - pdbonly - true - bin\Release\ - TRACE - prompt - 4 - AllRules.ruleset - - - - - - - - - - - - {6908BDCE-D925-43F3-94AC-A531E6DF2591} - ProtocolBuffers - - - - - - - - False - .NET Framework 3.5 SP1 Client Profile - false - - - False - .NET Framework 3.5 SP1 - true - - - False - Windows Installer 3.1 - true - - - + + + + Debug + AnyCPU + 9.0.30729 + 2.0 + {8F09AF72-3327-4FA7-BC09-070B80221AB9} + Exe + Properties + Google.ProtocolBuffers.ProtoMunge + ProtoMunge + v2.0 + 512 + + + + + 3.5 + publish\ + true + Disk + false + Foreground + 7 + Days + false + false + true + 0 + 1.0.0.%2a + false + false + true + + + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + AllRules.ruleset + + + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + AllRules.ruleset + + + + + + + + + + + + {6908BDCE-D925-43F3-94AC-A531E6DF2591} + ProtocolBuffers + + + + + + + + False + .NET Framework 3.5 SP1 Client Profile + false + + + False + .NET Framework 3.5 SP1 + true + + + False + Windows Installer 3.1 + true + + + + --> \ No newline at end of file diff --git a/src/ProtocolBuffers.Serialization/ProtocolBuffers.Serialization(Silverlight).csproj b/src/ProtocolBuffers.Serialization/ProtocolBuffers.Serialization(Silverlight).csproj new file mode 100644 index 0000000000..5c05adb814 --- /dev/null +++ b/src/ProtocolBuffers.Serialization/ProtocolBuffers.Serialization(Silverlight).csproj @@ -0,0 +1,99 @@ + + + + Debug + AnyCPU + 9.0.30729 + 2.0 + {72B69A15-E28E-4738-A779-18D76C87D225} + Library + Properties + Google.ProtocolBuffers.Serialization + Google.ProtocolBuffers.Serialization + v2.0 + 512 + true + ..\..\keys\Google.ProtocolBuffers.snk + 3.5 + {A1591282-1198-4647-A2B1-27E5FF5F6F3B};{fae04ec0-301f-11d3-bf4b-00c04f79efbc} + v3.5 + false + true + true + v2.0 + + + true + full + false + bin\Debug_Silverlight\ + $(OutputPath)\$(AssemblyName).xml + 1591, 1570, 1571, 1572, 1573, 1574 + DEBUG;TRACE;SILVERLIGHT + prompt + 4 + true + + + pdbonly + true + bin\Release_Silverlight\ + $(OutputPath)\$(AssemblyName).xml + 1591, 1570, 1571, 1572, 1573, 1574 + TRACE;SILVERLIGHT + prompt + 4 + true + + + NET20;$(DefineConstants) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + {7E4E681E-5D09-43FB-8D9E-35A454730A85} + ProtocolBuffers%28Silverlight%29 + + + + + + + + + + + + \ No newline at end of file diff --git a/src/ProtocolBuffers.Serialization/ProtocolBuffers.Serialization.csproj b/src/ProtocolBuffers.Serialization/ProtocolBuffers.Serialization.csproj index 1b246f1fd4..6ac39241fa 100644 --- a/src/ProtocolBuffers.Serialization/ProtocolBuffers.Serialization.csproj +++ b/src/ProtocolBuffers.Serialization/ProtocolBuffers.Serialization.csproj @@ -14,28 +14,7 @@ 512 true ..\..\keys\Google.ProtocolBuffers.snk - - - - 3.5 - publish\ - true - Disk - false - Foreground - 7 - Days - false - false - true - 0 - 1.0.0.%2a - false - false - true - v2.0 - NET20; true @@ -44,11 +23,10 @@ bin\Debug\ $(OutputPath)\$(AssemblyName).xml 1591, 1570, 1571, 1572, 1573, 1574 - $(DefineConstants)TRACE;DEBUG; + DEBUG;TRACE prompt 4 true - AllRules.ruleset pdbonly @@ -56,36 +34,13 @@ bin\Release\ $(OutputPath)\$(AssemblyName).xml 1591, 1570, 1571, 1572, 1573, 1574 - $(DefineConstants)TRACE; + TRACE prompt 4 true - AllRules.ruleset - - true - full - false - bin\Debug_Silverlight\ - $(OutputPath)\$(AssemblyName).xml - 1591, 1570, 1571, 1572, 1573, 1574 - $(DefineConstants)TRACE;DEBUG;SILVERLIGHT - prompt - 4 - true - AllRules.ruleset - - - pdbonly - true - bin\Release_Silverlight\ - $(OutputPath)\$(AssemblyName).xml - 1591, 1570, 1571, 1572, 1573, 1574 - $(DefineConstants)TRACE;SILVERLIGHT - prompt - 4 - true - AllRules.ruleset + + NET20;$(DefineConstants) @@ -114,23 +69,6 @@ - - - False - .NET Framework 3.5 SP1 Client Profile - false - - - False - .NET Framework 3.5 SP1 - true - - - False - Windows Installer 3.1 - true - - {6908BDCE-D925-43F3-94AC-A531E6DF2591} @@ -138,10 +76,7 @@ False - - - - + + + + + + + + + \ No newline at end of file diff --git a/src/ProtocolBuffers.Serialization/ProtocolBuffersLite.Serialization.csproj b/src/ProtocolBuffers.Serialization/ProtocolBuffersLite.Serialization.csproj index d9794fa082..0c4222d90d 100644 --- a/src/ProtocolBuffers.Serialization/ProtocolBuffersLite.Serialization.csproj +++ b/src/ProtocolBuffers.Serialization/ProtocolBuffersLite.Serialization.csproj @@ -14,28 +14,7 @@ 512 true ..\..\keys\Google.ProtocolBuffers.snk - - - - 3.5 - publish\ - true - Disk - false - Foreground - 7 - Days - false - false - true - 0 - 1.0.0.%2a - false - false - true - v2.0 - NET20; true @@ -44,11 +23,10 @@ bin\Debug\ $(OutputPath)\$(AssemblyName).xml 1591, 1570, 1571, 1572, 1573, 1574 - $(DefineConstants)TRACE;DEBUG + DEBUG;TRACE;LITE prompt 4 true - AllRules.ruleset pdbonly @@ -56,36 +34,13 @@ bin\Release\ $(OutputPath)\$(AssemblyName).xml 1591, 1570, 1571, 1572, 1573, 1574 - $(DefineConstants)TRACE; + TRACE;LITE prompt 4 true - AllRules.ruleset - - true - full - false - bin\Debug_Silverlight\ - $(OutputPath)\$(AssemblyName).xml - 1591, 1570, 1571, 1572, 1573, 1574 - $(DefineConstants)TRACE;DEBUG;SILVERLIGHT - prompt - 4 - true - AllRules.ruleset - - - pdbonly - true - bin\Release_Silverlight\ - $(OutputPath)\$(AssemblyName).xml - 1591, 1570, 1571, 1572, 1573, 1574 - $(DefineConstants)TRACE;SILVERLIGHT - prompt - 4 - true - AllRules.ruleset + + NET20;$(DefineConstants) @@ -114,23 +69,6 @@ - - - False - .NET Framework 3.5 SP1 Client Profile - false - - - False - .NET Framework 3.5 SP1 - true - - - False - Windows Installer 3.1 - true - - {6969BDCE-D925-43F3-94AC-A531E6DF2591} @@ -138,10 +76,7 @@ False - - - - + + + + + + + + + \ No newline at end of file diff --git a/src/ProtocolBuffers.Test/ProtocolBuffers.Test.csproj b/src/ProtocolBuffers.Test/ProtocolBuffers.Test.csproj index 8000e7d204..2b270afdc4 100644 --- a/src/ProtocolBuffers.Test/ProtocolBuffers.Test.csproj +++ b/src/ProtocolBuffers.Test/ProtocolBuffers.Test.csproj @@ -58,13 +58,9 @@ true - + False - ..\..\lib\NUnit 2.2.8.0\nunit.framework.dll - - - False - ..\..\lib\Rhino.Mocks.dll + ..\..\lib\NUnit\lib\nunit.framework.dll @@ -72,6 +68,9 @@ + + Microsoft.VisualStudio.TestTools.cs + @@ -162,8 +161,7 @@ - - + + + Program + $(ProjectDir)..\..\lib\NUnit\tools\nunit-console.exe + /nologo /noshadow /labels /wait $(AssemblyName).dll + $(ProjectDir)$(OutputPath) + \ No newline at end of file diff --git a/src/ProtocolBuffers.Test/ReflectionTester.cs b/src/ProtocolBuffers.Test/ReflectionTester.cs index 5f323228b9..9565a167f0 100644 --- a/src/ProtocolBuffers.Test/ReflectionTester.cs +++ b/src/ProtocolBuffers.Test/ReflectionTester.cs @@ -37,7 +37,9 @@ using System; using Google.ProtocolBuffers.Descriptors; using Google.ProtocolBuffers.TestProtos; -using NUnit.Framework; +using Microsoft.VisualStudio.TestTools.UnitTesting; + +#pragma warning disable 618 // Disable warning about obsolete use miss-matched assert arguments namespace Google.ProtocolBuffers { @@ -472,7 +474,7 @@ namespace Google.ProtocolBuffers Assert.AreEqual(101, message[f("optional_int32")]); Assert.AreEqual(102L, message[f("optional_int64")]); - Assert.AreEqual(103U, message[f("optional_uint32")]); + Assert.AreEqual(103u, message[f("optional_uint32")]); Assert.AreEqual(104UL, message[f("optional_uint64")]); Assert.AreEqual(105, message[f("optional_sint32")]); Assert.AreEqual(106L, message[f("optional_sint64")]); @@ -957,28 +959,30 @@ namespace Google.ProtocolBuffers Assert.AreEqual(2, message.GetRepeatedFieldCount(f("packed_double"))); Assert.AreEqual(2, message.GetRepeatedFieldCount(f("packed_bool"))); Assert.AreEqual(2, message.GetRepeatedFieldCount(f("packed_enum"))); + Assert.AreEqual(601, message[f("packed_int32"), 0]); Assert.AreEqual(602L, message[f("packed_int64"), 0]); - Assert.AreEqual(603, message[f("packed_uint32"), 0]); - Assert.AreEqual(604L, message[f("packed_uint64"), 0]); + Assert.AreEqual(603u, message[f("packed_uint32"), 0]); + Assert.AreEqual(604uL, message[f("packed_uint64"), 0]); Assert.AreEqual(605, message[f("packed_sint32"), 0]); Assert.AreEqual(606L, message[f("packed_sint64"), 0]); - Assert.AreEqual(607, message[f("packed_fixed32"), 0]); - Assert.AreEqual(608L, message[f("packed_fixed64"), 0]); + Assert.AreEqual(607u, message[f("packed_fixed32"), 0]); + Assert.AreEqual(608uL, message[f("packed_fixed64"), 0]); Assert.AreEqual(609, message[f("packed_sfixed32"), 0]); Assert.AreEqual(610L, message[f("packed_sfixed64"), 0]); Assert.AreEqual(611F, message[f("packed_float"), 0]); Assert.AreEqual(612D, message[f("packed_double"), 0]); Assert.AreEqual(true, message[f("packed_bool"), 0]); Assert.AreEqual(foreignBar, message[f("packed_enum"), 0]); + Assert.AreEqual(701, message[f("packed_int32"), 1]); Assert.AreEqual(702L, message[f("packed_int64"), 1]); - Assert.AreEqual(703, message[f("packed_uint32"), 1]); - Assert.AreEqual(704L, message[f("packed_uint64"), 1]); + Assert.AreEqual(703u, message[f("packed_uint32"), 1]); + Assert.AreEqual(704uL, message[f("packed_uint64"), 1]); Assert.AreEqual(705, message[f("packed_sint32"), 1]); Assert.AreEqual(706L, message[f("packed_sint64"), 1]); - Assert.AreEqual(707, message[f("packed_fixed32"), 1]); - Assert.AreEqual(708L, message[f("packed_fixed64"), 1]); + Assert.AreEqual(707u, message[f("packed_fixed32"), 1]); + Assert.AreEqual(708uL, message[f("packed_fixed64"), 1]); Assert.AreEqual(709, message[f("packed_sfixed32"), 1]); Assert.AreEqual(710L, message[f("packed_sfixed64"), 1]); Assert.AreEqual(711F, message[f("packed_float"), 1]); diff --git a/src/ProtocolBuffers.Test/ReusableBuilderTest.cs b/src/ProtocolBuffers.Test/ReusableBuilderTest.cs index d5755f6f6b..93129b2f1a 100644 --- a/src/ProtocolBuffers.Test/ReusableBuilderTest.cs +++ b/src/ProtocolBuffers.Test/ReusableBuilderTest.cs @@ -3,17 +3,17 @@ using System.Collections.Generic; using System.ComponentModel; using System.Text; using Google.ProtocolBuffers.Collections; -using NUnit.Framework; +using Microsoft.VisualStudio.TestTools.UnitTesting; using Google.ProtocolBuffers.TestProtos; using Google.ProtocolBuffers.Serialization; using UnitTest.Issues.TestProtos; namespace Google.ProtocolBuffers { - [TestFixture] + [TestClass] public class ReusableBuilderTest { - [Test, Description("Issue 28: Circular message dependencies result in null defaults for DefaultInstance")] + [TestMethod, System.ComponentModel.Description("Issue 28: Circular message dependencies result in null defaults for DefaultInstance")] public void EnsureStaticCicularReference() { MyMessageAReferenceB ab = MyMessageAReferenceB.DefaultInstance; @@ -24,7 +24,7 @@ namespace Google.ProtocolBuffers Assert.IsNotNull(ba.Value); } - [Test] + [TestMethod] public void TestModifyDefaultInstance() { //verify that the default instance has correctly been marked as read-only @@ -33,7 +33,7 @@ namespace Google.ProtocolBuffers Assert.IsTrue(list.IsReadOnly); } - [Test] + [TestMethod] public void TestUnmodifiedDefaultInstance() { //Simply calling ToBuilder().Build() no longer creates a copy of the message @@ -41,7 +41,7 @@ namespace Google.ProtocolBuffers Assert.IsTrue(ReferenceEquals(TestAllTypes.DefaultInstance, builder.Build())); } - [Test] + [TestMethod] public void BuildMultipleWithoutChange() { //Calling Build() or BuildPartial() does not require a copy of the message @@ -55,7 +55,7 @@ namespace Google.ProtocolBuffers Assert.IsTrue(ReferenceEquals(first, builder.BuildPartial().ToBuilder().Build())); } - [Test] + [TestMethod] public void MergeFromDefaultInstance() { TestAllTypes.Builder builder = TestAllTypes.DefaultInstance.ToBuilder(); @@ -64,7 +64,7 @@ namespace Google.ProtocolBuffers Assert.IsTrue(ReferenceEquals(TestAllTypes.DefaultInstance, builder.Build())); } - [Test] + [TestMethod] public void BuildNewBuilderIsDefaultInstance() { Assert.IsTrue(ReferenceEquals(TestAllTypes.DefaultInstance, new TestAllTypes.Builder().Build())); @@ -74,7 +74,7 @@ namespace Google.ProtocolBuffers TestAllTypes.CreateBuilder().SetOptionalBool(true).Build().ToBuilder().Clear().Build())); } - [Test] + [TestMethod] public void BuildModifyAndRebuild() { TestAllTypes.Builder b1 = new TestAllTypes.Builder(); @@ -94,7 +94,7 @@ namespace Google.ProtocolBuffers Assert.AreEqual("{\"optional_foreign_message\":{\"c\":7},\"repeated_int32\":[2,6],\"default_int32\":5}", Extensions.ToJson(m2)); } - [Test] + [TestMethod] public void CloneOnChangePrimitive() { TestAllTypes.Builder builder = TestAllTypes.DefaultInstance.ToBuilder(); @@ -103,7 +103,7 @@ namespace Google.ProtocolBuffers Assert.IsFalse(ReferenceEquals(TestAllTypes.DefaultInstance, builder.Build())); } - [Test] + [TestMethod] public void CloneOnAddRepeatedBool() { TestAllTypes.Builder builder = TestAllTypes.DefaultInstance.ToBuilder(); @@ -112,7 +112,7 @@ namespace Google.ProtocolBuffers Assert.IsFalse(ReferenceEquals(TestAllTypes.DefaultInstance, builder.Build())); } - [Test] + [TestMethod] public void CloneOnGetRepeatedBoolList() { TestAllTypes.Builder builder = TestAllTypes.DefaultInstance.ToBuilder(); @@ -121,7 +121,7 @@ namespace Google.ProtocolBuffers Assert.IsFalse(ReferenceEquals(TestAllTypes.DefaultInstance, builder.Build())); } - [Test] + [TestMethod] public void CloneOnChangeMessage() { TestAllTypes.Builder builder = TestAllTypes.DefaultInstance.ToBuilder(); @@ -130,7 +130,7 @@ namespace Google.ProtocolBuffers Assert.IsFalse(ReferenceEquals(TestAllTypes.DefaultInstance, builder.Build())); } - [Test] + [TestMethod] public void CloneOnClearMessage() { TestAllTypes.Builder builder = TestAllTypes.DefaultInstance.ToBuilder(); @@ -139,7 +139,7 @@ namespace Google.ProtocolBuffers Assert.IsFalse(ReferenceEquals(TestAllTypes.DefaultInstance, builder.Build())); } - [Test] + [TestMethod] public void CloneOnGetRepeatedForeignMessageList() { TestAllTypes.Builder builder = TestAllTypes.DefaultInstance.ToBuilder(); @@ -148,7 +148,7 @@ namespace Google.ProtocolBuffers Assert.IsFalse(ReferenceEquals(TestAllTypes.DefaultInstance, builder.Build())); } - [Test] + [TestMethod] public void CloneOnChangeEnumValue() { TestAllTypes.Builder builder = TestAllTypes.DefaultInstance.ToBuilder(); @@ -157,7 +157,7 @@ namespace Google.ProtocolBuffers Assert.IsFalse(ReferenceEquals(TestAllTypes.DefaultInstance, builder.Build())); } - [Test] + [TestMethod] public void CloneOnGetRepeatedForeignEnumList() { TestAllTypes.Builder builder = TestAllTypes.DefaultInstance.ToBuilder(); diff --git a/src/ProtocolBuffers.Test/SerializableAttribute.cs b/src/ProtocolBuffers.Test/SerializableAttribute.cs new file mode 100644 index 0000000000..04fcdcbadd --- /dev/null +++ b/src/ProtocolBuffers.Test/SerializableAttribute.cs @@ -0,0 +1,12 @@ +#if SILVERLIGHT + +namespace System +{ + [AttributeUsage(AttributeTargets.Class)] + public class SerializableAttribute : Attribute + { + public SerializableAttribute () : base() { } + } +} + +#endif diff --git a/src/ProtocolBuffers.Test/SerializableTest.cs b/src/ProtocolBuffers.Test/SerializableTest.cs index f1073c1e45..edf6ce491d 100644 --- a/src/ProtocolBuffers.Test/SerializableTest.cs +++ b/src/ProtocolBuffers.Test/SerializableTest.cs @@ -5,11 +5,11 @@ using System.Runtime.Serialization; using System.Runtime.Serialization.Formatters.Binary; using System.Text; using Google.ProtocolBuffers.TestProtos; -using NUnit.Framework; +using Microsoft.VisualStudio.TestTools.UnitTesting; namespace Google.ProtocolBuffers { - [TestFixture] + [TestClass] public class SerializableTest { /// @@ -18,7 +18,7 @@ namespace Google.ProtocolBuffers public static readonly ISerializable CompileTimeCheckSerializableMessage = TestXmlMessage.DefaultInstance; public static readonly ISerializable CompileTimeCheckSerializableBuilder = new TestXmlMessage.Builder(); - [Test] + [TestMethod] public void TestPlainMessage() { TestXmlMessage message = TestXmlMessage.CreateBuilder() @@ -51,7 +51,7 @@ namespace Google.ProtocolBuffers Assert.AreEqual(message, copy); } - [Test] + [TestMethod] public void TestMessageWithExtensions() { TestXmlMessage message = TestXmlMessage.CreateBuilder() @@ -96,7 +96,7 @@ namespace Google.ProtocolBuffers Assert.AreEqual(message, copy); } - [Test] + [TestMethod] public void TestPlainBuilder() { TestXmlMessage.Builder builder = TestXmlMessage.CreateBuilder() @@ -129,7 +129,7 @@ namespace Google.ProtocolBuffers Assert.AreEqual(builder.Build(), copy.Build()); } - [Test] + [TestMethod] public void TestBuilderWithExtensions() { TestXmlMessage.Builder builder = TestXmlMessage.CreateBuilder() diff --git a/src/ProtocolBuffers.Test/ServiceTest.cs b/src/ProtocolBuffers.Test/ServiceTest.cs index dbfa10c939..ee28ca1c67 100644 --- a/src/ProtocolBuffers.Test/ServiceTest.cs +++ b/src/ProtocolBuffers.Test/ServiceTest.cs @@ -37,9 +37,7 @@ using System; using Google.ProtocolBuffers.Descriptors; using Google.ProtocolBuffers.TestProtos; -using NUnit.Framework; -using Rhino.Mocks; -using Rhino.Mocks.Constraints; +using Microsoft.VisualStudio.TestTools.UnitTesting; namespace Google.ProtocolBuffers { @@ -47,7 +45,7 @@ namespace Google.ProtocolBuffers /// Tests for generated service classes. /// TODO(jonskeet): Convert the mocking tests using Rhino.Mocks. /// - [TestFixture] + [TestClass] public class ServiceTest { private delegate void Action(T1 t1, T2 t2); @@ -55,7 +53,7 @@ namespace Google.ProtocolBuffers private static readonly MethodDescriptor FooDescriptor = TestGenericService.Descriptor.Methods[0]; private static readonly MethodDescriptor BarDescriptor = TestGenericService.Descriptor.Methods[1]; - [Test] + [TestMethod] public void GetRequestPrototype() { TestGenericService service = new TestServiceImpl(); @@ -64,7 +62,7 @@ namespace Google.ProtocolBuffers Assert.AreSame(service.GetRequestPrototype(BarDescriptor), BarRequest.DefaultInstance); } - [Test] + [TestMethod] public void GetResponsePrototype() { TestGenericService service = new TestServiceImpl(); @@ -73,13 +71,12 @@ namespace Google.ProtocolBuffers Assert.AreSame(service.GetResponsePrototype(BarDescriptor), BarResponse.DefaultInstance); } - [Test] + [TestMethod] public void CallMethodFoo() { - MockRepository mocks = new MockRepository(); FooRequest fooRequest = FooRequest.CreateBuilder().Build(); FooResponse fooResponse = FooResponse.CreateBuilder().Build(); - IRpcController controller = mocks.StrictMock(); + IRpcController controller = new RpcTestController(); bool fooCalled = false; @@ -97,60 +94,18 @@ namespace Google.ProtocolBuffers doneHandlerCalled = true; }); - using (mocks.Record()) - { - // No mock interactions to record - } - service.CallMethod(FooDescriptor, controller, fooRequest, doneHandler); Assert.IsTrue(doneHandlerCalled); Assert.IsTrue(fooCalled); - mocks.VerifyAll(); - } - - private delegate void CallFooDelegate(MethodDescriptor descriptor, IRpcController controller, - IMessage request, IMessage response, Action doneHandler); - - /// - /// Tests the generated stub handling of Foo. By this stage we're reasonably confident - /// that the choice between Foo and Bar is arbitrary, hence the lack of a corresponding Bar - /// test. - /// - [Test] - [Ignore("Crashes Mono - needs further investigation")] - public void GeneratedStubFooCall() - { - FooRequest fooRequest = FooRequest.CreateBuilder().Build(); - MockRepository mocks = new MockRepository(); - IRpcChannel mockChannel = mocks.StrictMock(); - IRpcController mockController = mocks.StrictMock(); - TestGenericService service = TestGenericService.CreateStub(mockChannel); - Action doneHandler = mocks.StrictMock>(); - - using (mocks.Record()) - { - // Nasty way of mocking out "the channel calls the done handler". - Expect.Call(() => mockChannel.CallMethod(null, null, null, null, null)) - .IgnoreArguments() - .Constraints(Is.Same(FooDescriptor), Is.Same(mockController), Is.Same(fooRequest), - Is.Same(FooResponse.DefaultInstance), Is.Anything()) - .Do((CallFooDelegate) ((p1, p2, p3, response, done) => done(response))); - doneHandler(FooResponse.DefaultInstance); - } - - service.Foo(mockController, fooRequest, doneHandler); - - mocks.VerifyAll(); } - [Test] + [TestMethod] public void CallMethodBar() { - MockRepository mocks = new MockRepository(); BarRequest barRequest = BarRequest.CreateBuilder().Build(); BarResponse barResponse = BarResponse.CreateBuilder().Build(); - IRpcController controller = mocks.StrictMock(); + IRpcController controller = new RpcTestController(); bool barCalled = false; @@ -168,19 +123,109 @@ namespace Google.ProtocolBuffers doneHandlerCalled = true; }); - using (mocks.Record()) - { - // No mock interactions to record - } - service.CallMethod(BarDescriptor, controller, barRequest, doneHandler); Assert.IsTrue(doneHandlerCalled); Assert.IsTrue(barCalled); - mocks.VerifyAll(); } + [TestMethod] + public void GeneratedStubFooCall() + { + IRpcChannel channel = new RpcTestChannel(); + IRpcController controller = new RpcTestController(); + TestGenericService service = TestGenericService.CreateStub(channel); + FooResponse fooResponse = null; + Action doneHandler = r => fooResponse = r; + + service.Foo(controller, FooRequest.DefaultInstance, doneHandler); + + Assert.IsNotNull(fooResponse); + Assert.IsFalse(controller.Failed); + } + + [TestMethod] + public void GeneratedStubBarCallFails() + { + IRpcChannel channel = new RpcTestChannel(); + IRpcController controller = new RpcTestController(); + TestGenericService service = TestGenericService.CreateStub(channel); + BarResponse barResponse = null; + Action doneHandler = r => barResponse = r; + + service.Bar(controller, BarRequest.DefaultInstance, doneHandler); + Assert.IsNull(barResponse); + Assert.IsTrue(controller.Failed); + } + + #region RpcTestController + private class RpcTestController : IRpcController + { + public string TestFailedReason { get; set; } + public bool TestCancelled { get; set; } + public Action TestCancelledCallback { get; set; } + + void IRpcController.Reset() + { + TestFailedReason = null; + TestCancelled = false; + TestCancelledCallback = null; + } + + bool IRpcController.Failed + { + get { return TestFailedReason != null; } + } + + string IRpcController.ErrorText + { + get { return TestFailedReason; } + } + + void IRpcController.StartCancel() + { + TestCancelled = true; + if (TestCancelledCallback != null) + TestCancelledCallback(this); + } + + void IRpcController.SetFailed(string reason) + { + TestFailedReason = reason; + } + + bool IRpcController.IsCanceled() + { + return TestCancelled; + } + + void IRpcController.NotifyOnCancel(Action callback) + { + TestCancelledCallback = callback; + } + } + #endregion + #region RpcTestChannel + private class RpcTestChannel : IRpcChannel + { + public MethodDescriptor TestMethodCalled { get; set; } + + void IRpcChannel.CallMethod(MethodDescriptor method, IRpcController controller, IMessage request, IMessage responsePrototype, Action done) + { + TestMethodCalled = method; + try + { + done(FooResponse.DefaultInstance); + } + catch (Exception e) + { + controller.SetFailed(e.Message); + } + } + } + #endregion + #region TestServiceImpl private class TestServiceImpl : TestGenericService { private readonly Action> fooHandler; @@ -212,5 +257,6 @@ namespace Google.ProtocolBuffers barHandler(request, done); } } + #endregion } } \ No newline at end of file diff --git a/src/ProtocolBuffers.Test/TestCornerCases.cs b/src/ProtocolBuffers.Test/TestCornerCases.cs index 8a3fe051d6..0be4e1d4e3 100644 --- a/src/ProtocolBuffers.Test/TestCornerCases.cs +++ b/src/ProtocolBuffers.Test/TestCornerCases.cs @@ -1,15 +1,15 @@ using System; using System.Collections.Generic; using System.Text; -using NUnit.Framework; +using Microsoft.VisualStudio.TestTools.UnitTesting; using UnitTest.Issues.TestProtos; namespace Google.ProtocolBuffers { - [TestFixture] + [TestClass] public class TestCornerCases { - [Test] + [TestMethod] public void TestRoundTripNegativeEnums() { NegativeEnumMessage msg = NegativeEnumMessage.CreateBuilder() diff --git a/src/ProtocolBuffers.Test/TestMimeMessageFormats.cs b/src/ProtocolBuffers.Test/TestMimeMessageFormats.cs index 619f4357bc..c16f567ffa 100644 --- a/src/ProtocolBuffers.Test/TestMimeMessageFormats.cs +++ b/src/ProtocolBuffers.Test/TestMimeMessageFormats.cs @@ -5,11 +5,11 @@ using System.Text; using Google.ProtocolBuffers.Serialization; using Google.ProtocolBuffers.Serialization.Http; using Google.ProtocolBuffers.TestProtos; -using NUnit.Framework; +using Microsoft.VisualStudio.TestTools.UnitTesting; namespace Google.ProtocolBuffers { - [TestFixture] + [TestClass] public class TestMimeMessageFormats { // There is a whole host of various json mime types in use around the net, this is the set we accept... @@ -17,7 +17,7 @@ namespace Google.ProtocolBuffers readonly IEnumerable XmlTypes = new string[] { "text/xml", "application/xml" }; readonly IEnumerable ProtobufTypes = new string[] { "application/binary", "application/x-protobuf", "application/vnd.google.protobuf" }; - [Test] + [TestMethod] public void TestReadJsonMimeTypes() { foreach (string type in JsonTypes) @@ -30,7 +30,7 @@ namespace Google.ProtocolBuffers MessageFormatFactory.CreateInputStream(new MessageFormatOptions() { DefaultContentType = "application/json" }, null, Stream.Null) is JsonFormatReader); } - [Test] + [TestMethod] public void TestWriteJsonMimeTypes() { foreach (string type in JsonTypes) @@ -43,7 +43,7 @@ namespace Google.ProtocolBuffers MessageFormatFactory.CreateOutputStream(new MessageFormatOptions() { DefaultContentType = "application/json" }, null, Stream.Null) is JsonFormatWriter); } - [Test] + [TestMethod] public void TestReadXmlMimeTypes() { foreach (string type in XmlTypes) @@ -56,7 +56,7 @@ namespace Google.ProtocolBuffers MessageFormatFactory.CreateInputStream(new MessageFormatOptions() { DefaultContentType = "application/xml" }, null, Stream.Null) is XmlFormatReader); } - [Test] + [TestMethod] public void TestWriteXmlMimeTypes() { foreach (string type in XmlTypes) @@ -69,7 +69,7 @@ namespace Google.ProtocolBuffers MessageFormatFactory.CreateOutputStream(new MessageFormatOptions() { DefaultContentType = "application/xml" }, null, Stream.Null) is XmlFormatWriter); } - [Test] + [TestMethod] public void TestReadProtoMimeTypes() { foreach (string type in ProtobufTypes) @@ -82,7 +82,7 @@ namespace Google.ProtocolBuffers MessageFormatFactory.CreateInputStream(new MessageFormatOptions() { DefaultContentType = "application/vnd.google.protobuf" }, null, Stream.Null) is CodedInputStream); } - [Test] + [TestMethod] public void TestWriteProtoMimeTypes() { foreach (string type in ProtobufTypes) @@ -95,29 +95,29 @@ namespace Google.ProtocolBuffers MessageFormatFactory.CreateOutputStream(new MessageFormatOptions() { DefaultContentType = "application/vnd.google.protobuf" }, null, Stream.Null) is CodedOutputStream); } - [Test] + [TestMethod] public void TestMergeFromJsonType() { TestXmlMessage msg = Extensions.MergeFrom(new TestXmlMessage.Builder(), - new MessageFormatOptions(), "application/json", new MemoryStream(Encoding.ASCII.GetBytes( + new MessageFormatOptions(), "application/json", new MemoryStream(Encoding.UTF8.GetBytes( Extensions.ToJson(TestXmlMessage.CreateBuilder().SetText("a").SetNumber(1).Build()) ))) .Build(); Assert.AreEqual("a", msg.Text); Assert.AreEqual(1, msg.Number); } - [Test] + [TestMethod] public void TestMergeFromXmlType() { TestXmlMessage msg = Extensions.MergeFrom(new TestXmlMessage.Builder(), - new MessageFormatOptions(), "application/xml", new MemoryStream(Encoding.ASCII.GetBytes( + new MessageFormatOptions(), "application/xml", new MemoryStream(Encoding.UTF8.GetBytes( Extensions.ToXml(TestXmlMessage.CreateBuilder().SetText("a").SetNumber(1).Build()) ))) .Build(); Assert.AreEqual("a", msg.Text); Assert.AreEqual(1, msg.Number); } - [Test] + [TestMethod] public void TestMergeFromProtoType() { TestXmlMessage msg = Extensions.MergeFrom(new TestXmlMessage.Builder(), @@ -128,25 +128,25 @@ namespace Google.ProtocolBuffers Assert.AreEqual("a", msg.Text); Assert.AreEqual(1, msg.Number); } - [Test] + [TestMethod] public void TestWriteToJsonType() { MemoryStream ms = new MemoryStream(); Extensions.WriteTo(TestXmlMessage.CreateBuilder().SetText("a").SetNumber(1).Build(), new MessageFormatOptions(), "application/json", ms); - Assert.AreEqual(@"{""text"":""a"",""number"":1}", Encoding.UTF8.GetString(ms.ToArray())); + Assert.AreEqual(@"{""text"":""a"",""number"":1}", Encoding.UTF8.GetString(ms.ToArray(), 0, (int)ms.Length)); } - [Test] + [TestMethod] public void TestWriteToXmlType() { MemoryStream ms = new MemoryStream(); Extensions.WriteTo(TestXmlMessage.CreateBuilder().SetText("a").SetNumber(1).Build(), new MessageFormatOptions(), "application/xml", ms); - Assert.AreEqual("a1", Encoding.UTF8.GetString(ms.ToArray())); + Assert.AreEqual("a1", Encoding.UTF8.GetString(ms.ToArray(), 0, (int)ms.Length)); } - [Test] + [TestMethod] public void TestWriteToProtoType() { MemoryStream ms = new MemoryStream(); @@ -154,9 +154,9 @@ namespace Google.ProtocolBuffers new MessageFormatOptions(), "application/vnd.google.protobuf", ms); byte[] bytes = TestXmlMessage.CreateBuilder().SetText("a").SetNumber(1).Build().ToByteArray(); - Assert.AreEqual(bytes, ms.ToArray()); + TestUtil.AssertBytesEqual(bytes, ms.ToArray()); } - [Test] + [TestMethod] public void TestXmlReaderOptions() { MemoryStream ms = new MemoryStream(); @@ -180,7 +180,7 @@ namespace Google.ProtocolBuffers Assert.AreEqual(2, msg.NumbersList[1]); } - [Test] + [TestMethod] public void TestXmlWriterOptions() { TestXmlMessage message = TestXmlMessage.CreateBuilder().SetText("a").AddNumbers(1).AddNumbers(2).Build(); @@ -203,26 +203,26 @@ namespace Google.ProtocolBuffers Assert.AreEqual(1, builder.NumbersList[0]); Assert.AreEqual(2, builder.NumbersList[1]); } - [Test] + [TestMethod] public void TestJsonFormatted() { MemoryStream ms = new MemoryStream(); Extensions.WriteTo(TestXmlMessage.CreateBuilder().SetText("a").SetNumber(1).Build(), new MessageFormatOptions() { FormattedOutput = true }, "application/json", ms); - Assert.AreEqual("{\r\n \"text\": \"a\",\r\n \"number\": 1\r\n}", Encoding.UTF8.GetString(ms.ToArray())); + Assert.AreEqual("{\r\n \"text\": \"a\",\r\n \"number\": 1\r\n}", Encoding.UTF8.GetString(ms.ToArray(), 0, (int)ms.Length)); } - [Test] + [TestMethod] public void TestXmlFormatted() { MemoryStream ms = new MemoryStream(); Extensions.WriteTo(TestXmlMessage.CreateBuilder().SetText("a").SetNumber(1).Build(), new MessageFormatOptions() { FormattedOutput = true }, "application/xml", ms); - Assert.AreEqual("\r\n a\r\n 1\r\n", Encoding.UTF8.GetString(ms.ToArray())); + Assert.AreEqual("\r\n a\r\n 1\r\n", Encoding.UTF8.GetString(ms.ToArray(), 0, (int)ms.Length)); } - [Test] + [TestMethod] public void TestReadCustomMimeTypes() { var options = new MessageFormatOptions(); @@ -232,7 +232,7 @@ namespace Google.ProtocolBuffers options.MimeInputTypes.Add("-custom-XML-mime-type-", XmlFormatReader.CreateInstance); Assert.AreEqual(1, options.MimeInputTypes.Count); - Stream xmlStream = new MemoryStream(Encoding.ASCII.GetBytes( + Stream xmlStream = new MemoryStream(Encoding.UTF8.GetBytes( Extensions.ToXml(TestXmlMessage.CreateBuilder().SetText("a").SetNumber(1).Build()) )); @@ -243,7 +243,7 @@ namespace Google.ProtocolBuffers Assert.AreEqual(1, msg.Number); } - [Test] + [TestMethod] public void TestWriteToCustomType() { var options = new MessageFormatOptions(); @@ -258,7 +258,7 @@ namespace Google.ProtocolBuffers Extensions.WriteTo(TestXmlMessage.CreateBuilder().SetText("a").SetNumber(1).Build(), options, "-custom-XML-mime-type-", ms); - Assert.AreEqual("a1", Encoding.UTF8.GetString(ms.ToArray())); + Assert.AreEqual("a1", Encoding.UTF8.GetString(ms.ToArray(), 0, (int)ms.Length)); } } } \ No newline at end of file diff --git a/src/ProtocolBuffers.Test/TestProtos/UnitTestRpcInterop.cs b/src/ProtocolBuffers.Test/TestProtos/UnitTestRpcInterop.cs index ce8f66d945..b9d9b0bec9 100644 --- a/src/ProtocolBuffers.Test/TestProtos/UnitTestRpcInterop.cs +++ b/src/ProtocolBuffers.Test/TestProtos/UnitTestRpcInterop.cs @@ -1391,7 +1391,7 @@ namespace Google.ProtocolBuffers.TestProtos { public SearchService(pb::IRpcDispatch dispatch) : this(dispatch, true) { } public SearchService(pb::IRpcDispatch dispatch, bool dispose) { - if (null == (this.dispatch = dispatch)) throw new global::System.ArgumentNullException(); + pb::ThrowHelper.ThrowIfNull(this.dispatch = dispatch, "dispatch"); this.dispose = dispose && dispatch is global::System.IDisposable; } @@ -1421,7 +1421,7 @@ namespace Google.ProtocolBuffers.TestProtos { public Dispatch(ISearchService implementation) : this(implementation, true) { } public Dispatch(ISearchService implementation, bool dispose) { - if (null == (this.implementation = implementation)) throw new global::System.ArgumentNullException(); + pb::ThrowHelper.ThrowIfNull(this.implementation = implementation, "implementation"); this.dispose = dispose && implementation is global::System.IDisposable; } @@ -1435,7 +1435,7 @@ namespace Google.ProtocolBuffers.TestProtos { switch(methodName) { case "Search": return response.MergeFrom(implementation.Search((global::Google.ProtocolBuffers.TestProtos.SearchRequest)request)).Build(); case "RefineSearch": return response.MergeFrom(implementation.RefineSearch((global::Google.ProtocolBuffers.TestProtos.RefineSearchRequest)request)).Build(); - default: throw new global::System.MissingMethodException(typeof(ISearchService).FullName, methodName); + default: throw pb::ThrowHelper.CreateMissingMethod(typeof(ISearchService), methodName); } } } @@ -1453,7 +1453,7 @@ namespace Google.ProtocolBuffers.TestProtos { public ServerStub(pb::IRpcDispatch implementation) : this(implementation, true) { } public ServerStub(pb::IRpcDispatch implementation, bool dispose) { - if (null == (this.implementation = implementation)) throw new global::System.ArgumentNullException(); + pb::ThrowHelper.ThrowIfNull(this.implementation = implementation, "implementation"); this.dispose = dispose && implementation is global::System.IDisposable; } @@ -1465,7 +1465,7 @@ namespace Google.ProtocolBuffers.TestProtos { switch(methodName) { case "Search": return implementation.CallMethod(methodName, global::Google.ProtocolBuffers.TestProtos.SearchRequest.ParseFrom(input, registry), global::Google.ProtocolBuffers.TestProtos.SearchResponse.CreateBuilder()); case "RefineSearch": return implementation.CallMethod(methodName, global::Google.ProtocolBuffers.TestProtos.RefineSearchRequest.ParseFrom(input, registry), global::Google.ProtocolBuffers.TestProtos.SearchResponse.CreateBuilder()); - default: throw new global::System.MissingMethodException(typeof(ISearchService).FullName, methodName); + default: throw pb::ThrowHelper.CreateMissingMethod(typeof(ISearchService), methodName); } } } diff --git a/src/ProtocolBuffers.Test/TestReaderForUrlEncoded.cs b/src/ProtocolBuffers.Test/TestReaderForUrlEncoded.cs index 7861e9860a..1c43e24da5 100644 --- a/src/ProtocolBuffers.Test/TestReaderForUrlEncoded.cs +++ b/src/ProtocolBuffers.Test/TestReaderForUrlEncoded.cs @@ -1,16 +1,16 @@ using System; using System.IO; using System.Text; -using NUnit.Framework; +using Microsoft.VisualStudio.TestTools.UnitTesting; using Google.ProtocolBuffers.TestProtos; using Google.ProtocolBuffers.Serialization.Http; namespace Google.ProtocolBuffers { - [TestFixture] + [TestClass] public class TestReaderForUrlEncoded { - [Test] + [TestMethod] public void Example_FromQueryString() { Uri sampleUri = new Uri("http://sample.com/Path/File.ext?text=two+three%20four&valid=true&numbers=1&numbers=2", UriKind.Absolute); @@ -28,7 +28,7 @@ namespace Google.ProtocolBuffers Assert.AreEqual(2, message.NumbersList[1]); } - [Test] + [TestMethod] public void Example_FromFormData() { Stream rawPost = new MemoryStream(Encoding.UTF8.GetBytes("text=two+three%20four&valid=true&numbers=1&numbers=2"), false); @@ -46,7 +46,7 @@ namespace Google.ProtocolBuffers Assert.AreEqual(2, message.NumbersList[1]); } - [Test] + [TestMethod] public void TestEmptyValues() { ICodedInputStream input = FormUrlEncodedReader.CreateInstance("valid=true&text=&numbers=1"); @@ -60,7 +60,7 @@ namespace Google.ProtocolBuffers Assert.AreEqual(1, builder.NumbersList[0]); } - [Test] + [TestMethod] public void TestNoValue() { ICodedInputStream input = FormUrlEncodedReader.CreateInstance("valid=true&text&numbers=1"); @@ -74,7 +74,7 @@ namespace Google.ProtocolBuffers Assert.AreEqual(1, builder.NumbersList[0]); } - [Test, ExpectedException(typeof(NotSupportedException))] + [TestMethod, ExpectedException(typeof(NotSupportedException))] public void FormUrlEncodedReaderDoesNotSupportChildren() { ICodedInputStream input = FormUrlEncodedReader.CreateInstance("child=uh0"); diff --git a/src/ProtocolBuffers.Test/TestRpcForMimeTypes.cs b/src/ProtocolBuffers.Test/TestRpcForMimeTypes.cs index 6575e0fd1b..68cb93da3f 100644 --- a/src/ProtocolBuffers.Test/TestRpcForMimeTypes.cs +++ b/src/ProtocolBuffers.Test/TestRpcForMimeTypes.cs @@ -38,7 +38,7 @@ using System; using Google.ProtocolBuffers; using Google.ProtocolBuffers.Serialization.Http; using Google.ProtocolBuffers.TestProtos; -using NUnit.Framework; +using Microsoft.VisualStudio.TestTools.UnitTesting; using System.IO; using Google.ProtocolBuffers.Serialization; using System.Text; @@ -49,7 +49,7 @@ namespace Google.ProtocolBuffers /// This class verifies the correct code is generated from unittest_rpc_interop.proto and provides a small demonstration /// of using the new IRpcDispatch to write a client/server /// - [TestFixture] + [TestClass] public class TestRpcForMimeTypes { /// @@ -181,7 +181,7 @@ namespace Google.ProtocolBuffers /// /// Test sending and recieving messages via text/json /// - [Test] + [TestMethod] public void TestClientServerWithJsonFormat() { ExampleHttpServer server = new ExampleHttpServer(new ExampleSearchImpl()); @@ -210,7 +210,7 @@ namespace Google.ProtocolBuffers /// /// Test sending and recieving messages via text/json /// - [Test] + [TestMethod] public void TestClientServerWithXmlFormat() { ExampleHttpServer server = new ExampleHttpServer(new ExampleSearchImpl()); @@ -239,7 +239,7 @@ namespace Google.ProtocolBuffers /// /// Test sending and recieving messages via text/json /// - [Test] + [TestMethod] public void TestClientServerWithProtoFormat() { ExampleHttpServer server = new ExampleHttpServer(new ExampleSearchImpl()); @@ -268,7 +268,7 @@ namespace Google.ProtocolBuffers /// /// Test sending and recieving messages via text/json /// - [Test] + [TestMethod] public void TestClientServerWithCustomFormat() { ExampleHttpServer server = new ExampleHttpServer(new ExampleSearchImpl()); @@ -308,7 +308,7 @@ namespace Google.ProtocolBuffers /// /// Test sending and recieving messages via text/json /// - [Test] + [TestMethod] public void TestServerWithUriFormat() { ExampleHttpServer server = new ExampleHttpServer(new ExampleSearchImpl()); @@ -336,7 +336,7 @@ namespace Google.ProtocolBuffers /// /// Test sending and recieving messages via text/json /// - [Test, ExpectedException(typeof(ArgumentOutOfRangeException))] + [TestMethod, ExpectedException(typeof(ArgumentOutOfRangeException))] public void TestInvalidMimeType() { ExampleHttpServer server = new ExampleHttpServer(new ExampleSearchImpl()); @@ -357,7 +357,7 @@ namespace Google.ProtocolBuffers /// /// Test sending and recieving messages via text/json /// - [Test] + [TestMethod] public void TestDefaultMimeType() { ExampleHttpServer server = new ExampleHttpServer(new ExampleSearchImpl()); diff --git a/src/ProtocolBuffers.Test/TestRpcGenerator.cs b/src/ProtocolBuffers.Test/TestRpcGenerator.cs index 5f159b6273..18532d6901 100644 --- a/src/ProtocolBuffers.Test/TestRpcGenerator.cs +++ b/src/ProtocolBuffers.Test/TestRpcGenerator.cs @@ -37,7 +37,7 @@ using System; using Google.ProtocolBuffers; using Google.ProtocolBuffers.TestProtos; -using NUnit.Framework; +using Microsoft.VisualStudio.TestTools.UnitTesting; namespace Google.ProtocolBuffers { @@ -45,7 +45,7 @@ namespace Google.ProtocolBuffers /// This class verifies the correct code is generated from unittest_rpc_interop.proto and provides a small demonstration /// of using the new IRpcDispatch to write a client/server /// - [TestFixture] + [TestClass] public class TestRpcGenerator { /// @@ -142,7 +142,7 @@ namespace Google.ProtocolBuffers /// Put it all together to create one seamless client/server experience full of rich-type goodness ;) /// All you need to do is send/recieve the method name and message bytes across the wire. /// - [Test] + [TestMethod] public void TestClientServerDispatch() { ExampleServerHost server = new ExampleServerHost(new ExampleSearchImpl()); diff --git a/src/ProtocolBuffers.Test/TestUtil.cs b/src/ProtocolBuffers.Test/TestUtil.cs index ae2c1164e1..dd1c981d94 100644 --- a/src/ProtocolBuffers.Test/TestUtil.cs +++ b/src/ProtocolBuffers.Test/TestUtil.cs @@ -41,14 +41,21 @@ using System.IO; using System.Text; using System.Threading; using Google.ProtocolBuffers.TestProtos; -using NUnit.Framework; +#if SILVERLIGHT +using TestClass = Microsoft.VisualStudio.TestTools.UnitTesting.TestClassAttribute; +using Test = Microsoft.VisualStudio.TestTools.UnitTesting.TestMethodAttribute; +using Assert = Microsoft.VisualStudio.TestTools.UnitTesting.Assert; +#else +using Microsoft.VisualStudio.TestTools.UnitTesting; +#endif + namespace Google.ProtocolBuffers { internal static class TestUtil { +#if !SILVERLIGHT private static string testDataDirectory; - private static ByteString goldenMessage = null; internal static string TestDataDirectory { @@ -76,6 +83,8 @@ namespace Google.ProtocolBuffers } } + private static ByteString goldenMessage = null; + internal static ByteString GoldenMessage { get @@ -88,6 +97,36 @@ namespace Google.ProtocolBuffers } } + internal static string ReadTextFromFile(string filePath) + { + return ReadBytesFromFile(filePath).ToStringUtf8(); + } + + internal static ByteString ReadBytesFromFile(String filename) + { + byte[] data = File.ReadAllBytes(Path.Combine(TestDataDirectory, filename)); + return ByteString.CopyFrom(data); + } + + private static ByteString goldenPackedFieldsMessage = null; + + /// + /// Get the bytes of the "golden packed fields message". This is a serialized + /// TestPackedTypes with all fields set as they would be by SetPackedFields, + /// but it is loaded from a file on disk rather than generated dynamically. + /// The file is actually generated by C++ code, so testing against it verifies compatibility + /// with C++. + /// + public static ByteString GetGoldenPackedFieldsMessage() + { + if (goldenPackedFieldsMessage == null) + { + goldenPackedFieldsMessage = ReadBytesFromFile("golden_packed_fields_message"); + } + return goldenPackedFieldsMessage; + } + +#endif /// /// Creates an unmodifiable ExtensionRegistry containing all the extensions /// of TestAllExtensions. @@ -193,17 +232,6 @@ namespace Google.ProtocolBuffers registry.Add(UnitTestProtoFile.PackedEnumExtension); } - internal static string ReadTextFromFile(string filePath) - { - return ReadBytesFromFile(filePath).ToStringUtf8(); - } - - internal static ByteString ReadBytesFromFile(String filename) - { - byte[] data = File.ReadAllBytes(Path.Combine(TestDataDirectory, filename)); - return ByteString.CopyFrom(data); - } - /// /// Helper to convert a String to ByteString. /// @@ -379,12 +407,12 @@ namespace Google.ProtocolBuffers Assert.AreEqual(101, message.OptionalInt32); Assert.AreEqual(102, message.OptionalInt64); - Assert.AreEqual(103, message.OptionalUint32); - Assert.AreEqual(104, message.OptionalUint64); + Assert.AreEqual(103u, message.OptionalUint32); + Assert.AreEqual(104u, message.OptionalUint64); Assert.AreEqual(105, message.OptionalSint32); Assert.AreEqual(106, message.OptionalSint64); - Assert.AreEqual(107, message.OptionalFixed32); - Assert.AreEqual(108, message.OptionalFixed64); + Assert.AreEqual(107u, message.OptionalFixed32); + Assert.AreEqual(108u, message.OptionalFixed64); Assert.AreEqual(109, message.OptionalSfixed32); Assert.AreEqual(110, message.OptionalSfixed64); Assert.AreEqual(111, message.OptionalFloat); @@ -436,12 +464,12 @@ namespace Google.ProtocolBuffers Assert.AreEqual(201, message.GetRepeatedInt32(0)); Assert.AreEqual(202, message.GetRepeatedInt64(0)); - Assert.AreEqual(203, message.GetRepeatedUint32(0)); - Assert.AreEqual(204, message.GetRepeatedUint64(0)); + Assert.AreEqual(203u, message.GetRepeatedUint32(0)); + Assert.AreEqual(204u, message.GetRepeatedUint64(0)); Assert.AreEqual(205, message.GetRepeatedSint32(0)); Assert.AreEqual(206, message.GetRepeatedSint64(0)); - Assert.AreEqual(207, message.GetRepeatedFixed32(0)); - Assert.AreEqual(208, message.GetRepeatedFixed64(0)); + Assert.AreEqual(207u, message.GetRepeatedFixed32(0)); + Assert.AreEqual(208u, message.GetRepeatedFixed64(0)); Assert.AreEqual(209, message.GetRepeatedSfixed32(0)); Assert.AreEqual(210, message.GetRepeatedSfixed64(0)); Assert.AreEqual(211, message.GetRepeatedFloat(0)); @@ -464,12 +492,12 @@ namespace Google.ProtocolBuffers Assert.AreEqual(301, message.GetRepeatedInt32(1)); Assert.AreEqual(302, message.GetRepeatedInt64(1)); - Assert.AreEqual(303, message.GetRepeatedUint32(1)); - Assert.AreEqual(304, message.GetRepeatedUint64(1)); + Assert.AreEqual(303u, message.GetRepeatedUint32(1)); + Assert.AreEqual(304u, message.GetRepeatedUint64(1)); Assert.AreEqual(305, message.GetRepeatedSint32(1)); Assert.AreEqual(306, message.GetRepeatedSint64(1)); - Assert.AreEqual(307, message.GetRepeatedFixed32(1)); - Assert.AreEqual(308, message.GetRepeatedFixed64(1)); + Assert.AreEqual(307u, message.GetRepeatedFixed32(1)); + Assert.AreEqual(308u, message.GetRepeatedFixed64(1)); Assert.AreEqual(309, message.GetRepeatedSfixed32(1)); Assert.AreEqual(310, message.GetRepeatedSfixed64(1)); Assert.AreEqual(311, message.GetRepeatedFloat(1), 0.0); @@ -517,12 +545,12 @@ namespace Google.ProtocolBuffers Assert.AreEqual(401, message.DefaultInt32); Assert.AreEqual(402, message.DefaultInt64); - Assert.AreEqual(403, message.DefaultUint32); - Assert.AreEqual(404, message.DefaultUint64); + Assert.AreEqual(403u, message.DefaultUint32); + Assert.AreEqual(404u, message.DefaultUint64); Assert.AreEqual(405, message.DefaultSint32); Assert.AreEqual(406, message.DefaultSint64); - Assert.AreEqual(407, message.DefaultFixed32); - Assert.AreEqual(408, message.DefaultFixed64); + Assert.AreEqual(407u, message.DefaultFixed32); + Assert.AreEqual(408u, message.DefaultFixed64); Assert.AreEqual(409, message.DefaultSfixed32); Assert.AreEqual(410, message.DefaultSfixed64); Assert.AreEqual(411, message.DefaultFloat); @@ -573,12 +601,12 @@ namespace Google.ProtocolBuffers // Optional fields without defaults are set to zero or something like it. Assert.AreEqual(0, message.OptionalInt32); Assert.AreEqual(0, message.OptionalInt64); - Assert.AreEqual(0, message.OptionalUint32); - Assert.AreEqual(0, message.OptionalUint64); + Assert.AreEqual(0u, message.OptionalUint32); + Assert.AreEqual(0u, message.OptionalUint64); Assert.AreEqual(0, message.OptionalSint32); Assert.AreEqual(0, message.OptionalSint64); - Assert.AreEqual(0, message.OptionalFixed32); - Assert.AreEqual(0, message.OptionalFixed64); + Assert.AreEqual(0u, message.OptionalFixed32); + Assert.AreEqual(0u, message.OptionalFixed64); Assert.AreEqual(0, message.OptionalSfixed32); Assert.AreEqual(0, message.OptionalSfixed64); Assert.AreEqual(0, message.OptionalFloat); @@ -661,12 +689,12 @@ namespace Google.ProtocolBuffers // Fields with defaults have their default values (duh). Assert.AreEqual(41, message.DefaultInt32); Assert.AreEqual(42, message.DefaultInt64); - Assert.AreEqual(43, message.DefaultUint32); - Assert.AreEqual(44, message.DefaultUint64); + Assert.AreEqual(43u, message.DefaultUint32); + Assert.AreEqual(44u, message.DefaultUint64); Assert.AreEqual(-45, message.DefaultSint32); Assert.AreEqual(46, message.DefaultSint64); - Assert.AreEqual(47, message.DefaultFixed32); - Assert.AreEqual(48, message.DefaultFixed64); + Assert.AreEqual(47u, message.DefaultFixed32); + Assert.AreEqual(48u, message.DefaultFixed64); Assert.AreEqual(49, message.DefaultSfixed32); Assert.AreEqual(-50, message.DefaultSfixed64); Assert.AreEqual(51.5, message.DefaultFloat, 0.0); @@ -1531,12 +1559,12 @@ namespace Google.ProtocolBuffers Assert.AreEqual(2, message.PackedEnumCount); Assert.AreEqual(601, message.GetPackedInt32(0)); Assert.AreEqual(602, message.GetPackedInt64(0)); - Assert.AreEqual(603, message.GetPackedUint32(0)); - Assert.AreEqual(604, message.GetPackedUint64(0)); + Assert.AreEqual(603u, message.GetPackedUint32(0)); + Assert.AreEqual(604u, message.GetPackedUint64(0)); Assert.AreEqual(605, message.GetPackedSint32(0)); Assert.AreEqual(606, message.GetPackedSint64(0)); - Assert.AreEqual(607, message.GetPackedFixed32(0)); - Assert.AreEqual(608, message.GetPackedFixed64(0)); + Assert.AreEqual(607u, message.GetPackedFixed32(0)); + Assert.AreEqual(608u, message.GetPackedFixed64(0)); Assert.AreEqual(609, message.GetPackedSfixed32(0)); Assert.AreEqual(610, message.GetPackedSfixed64(0)); Assert.AreEqual(611, message.GetPackedFloat(0), 0.0); @@ -1545,12 +1573,12 @@ namespace Google.ProtocolBuffers Assert.AreEqual(ForeignEnum.FOREIGN_BAR, message.GetPackedEnum(0)); Assert.AreEqual(701, message.GetPackedInt32(1)); Assert.AreEqual(702, message.GetPackedInt64(1)); - Assert.AreEqual(703, message.GetPackedUint32(1)); - Assert.AreEqual(704, message.GetPackedUint64(1)); + Assert.AreEqual(703u, message.GetPackedUint32(1)); + Assert.AreEqual(704u, message.GetPackedUint64(1)); Assert.AreEqual(705, message.GetPackedSint32(1)); Assert.AreEqual(706, message.GetPackedSint64(1)); - Assert.AreEqual(707, message.GetPackedFixed32(1)); - Assert.AreEqual(708, message.GetPackedFixed64(1)); + Assert.AreEqual(707u, message.GetPackedFixed32(1)); + Assert.AreEqual(708u, message.GetPackedFixed64(1)); Assert.AreEqual(709, message.GetPackedSfixed32(1)); Assert.AreEqual(710, message.GetPackedSfixed64(1)); Assert.AreEqual(711, message.GetPackedFloat(1), 0.0); @@ -1580,12 +1608,12 @@ namespace Google.ProtocolBuffers Assert.AreEqual(2, message.UnpackedEnumCount); Assert.AreEqual(601, message.GetUnpackedInt32(0)); Assert.AreEqual(602, message.GetUnpackedInt64(0)); - Assert.AreEqual(603, message.GetUnpackedUint32(0)); - Assert.AreEqual(604, message.GetUnpackedUint64(0)); + Assert.AreEqual(603u, message.GetUnpackedUint32(0)); + Assert.AreEqual(604u, message.GetUnpackedUint64(0)); Assert.AreEqual(605, message.GetUnpackedSint32(0)); Assert.AreEqual(606, message.GetUnpackedSint64(0)); - Assert.AreEqual(607, message.GetUnpackedFixed32(0)); - Assert.AreEqual(608, message.GetUnpackedFixed64(0)); + Assert.AreEqual(607u, message.GetUnpackedFixed32(0)); + Assert.AreEqual(608u, message.GetUnpackedFixed64(0)); Assert.AreEqual(609, message.GetUnpackedSfixed32(0)); Assert.AreEqual(610, message.GetUnpackedSfixed64(0)); Assert.AreEqual(611, message.GetUnpackedFloat(0), 0.0); @@ -1594,12 +1622,12 @@ namespace Google.ProtocolBuffers Assert.AreEqual(ForeignEnum.FOREIGN_BAR, message.GetUnpackedEnum(0)); Assert.AreEqual(701, message.GetUnpackedInt32(1)); Assert.AreEqual(702, message.GetUnpackedInt64(1)); - Assert.AreEqual(703, message.GetUnpackedUint32(1)); - Assert.AreEqual(704, message.GetUnpackedUint64(1)); + Assert.AreEqual(703u, message.GetUnpackedUint32(1)); + Assert.AreEqual(704u, message.GetUnpackedUint64(1)); Assert.AreEqual(705, message.GetUnpackedSint32(1)); Assert.AreEqual(706, message.GetUnpackedSint64(1)); - Assert.AreEqual(707, message.GetUnpackedFixed32(1)); - Assert.AreEqual(708, message.GetUnpackedFixed64(1)); + Assert.AreEqual(707u, message.GetUnpackedFixed32(1)); + Assert.AreEqual(708u, message.GetUnpackedFixed64(1)); Assert.AreEqual(709, message.GetUnpackedSfixed32(1)); Assert.AreEqual(710, message.GetUnpackedSfixed64(1)); Assert.AreEqual(711, message.GetUnpackedFloat(1), 0.0); @@ -1659,12 +1687,12 @@ namespace Google.ProtocolBuffers Assert.AreEqual(2, message.GetExtensionCount(UnitTestProtoFile.PackedEnumExtension)); Assert.AreEqual(601, message.GetExtension(UnitTestProtoFile.PackedInt32Extension, 0)); Assert.AreEqual(602L, message.GetExtension(UnitTestProtoFile.PackedInt64Extension, 0)); - Assert.AreEqual(603, message.GetExtension(UnitTestProtoFile.PackedUint32Extension, 0)); - Assert.AreEqual(604L, message.GetExtension(UnitTestProtoFile.PackedUint64Extension, 0)); + Assert.AreEqual(603u, message.GetExtension(UnitTestProtoFile.PackedUint32Extension, 0)); + Assert.AreEqual(604uL, message.GetExtension(UnitTestProtoFile.PackedUint64Extension, 0)); Assert.AreEqual(605, message.GetExtension(UnitTestProtoFile.PackedSint32Extension, 0)); Assert.AreEqual(606L, message.GetExtension(UnitTestProtoFile.PackedSint64Extension, 0)); - Assert.AreEqual(607, message.GetExtension(UnitTestProtoFile.PackedFixed32Extension, 0)); - Assert.AreEqual(608L, message.GetExtension(UnitTestProtoFile.PackedFixed64Extension, 0)); + Assert.AreEqual(607u, message.GetExtension(UnitTestProtoFile.PackedFixed32Extension, 0)); + Assert.AreEqual(608uL, message.GetExtension(UnitTestProtoFile.PackedFixed64Extension, 0)); Assert.AreEqual(609, message.GetExtension(UnitTestProtoFile.PackedSfixed32Extension, 0)); Assert.AreEqual(610L, message.GetExtension(UnitTestProtoFile.PackedSfixed64Extension, 0)); Assert.AreEqual(611F, message.GetExtension(UnitTestProtoFile.PackedFloatExtension, 0)); @@ -1674,12 +1702,12 @@ namespace Google.ProtocolBuffers message.GetExtension(UnitTestProtoFile.PackedEnumExtension, 0)); Assert.AreEqual(701, message.GetExtension(UnitTestProtoFile.PackedInt32Extension, 1)); Assert.AreEqual(702L, message.GetExtension(UnitTestProtoFile.PackedInt64Extension, 1)); - Assert.AreEqual(703, message.GetExtension(UnitTestProtoFile.PackedUint32Extension, 1)); - Assert.AreEqual(704L, message.GetExtension(UnitTestProtoFile.PackedUint64Extension, 1)); + Assert.AreEqual(703u, message.GetExtension(UnitTestProtoFile.PackedUint32Extension, 1)); + Assert.AreEqual(704uL, message.GetExtension(UnitTestProtoFile.PackedUint64Extension, 1)); Assert.AreEqual(705, message.GetExtension(UnitTestProtoFile.PackedSint32Extension, 1)); Assert.AreEqual(706L, message.GetExtension(UnitTestProtoFile.PackedSint64Extension, 1)); - Assert.AreEqual(707, message.GetExtension(UnitTestProtoFile.PackedFixed32Extension, 1)); - Assert.AreEqual(708L, message.GetExtension(UnitTestProtoFile.PackedFixed64Extension, 1)); + Assert.AreEqual(707u, message.GetExtension(UnitTestProtoFile.PackedFixed32Extension, 1)); + Assert.AreEqual(708uL, message.GetExtension(UnitTestProtoFile.PackedFixed64Extension, 1)); Assert.AreEqual(709, message.GetExtension(UnitTestProtoFile.PackedSfixed32Extension, 1)); Assert.AreEqual(710L, message.GetExtension(UnitTestProtoFile.PackedSfixed64Extension, 1)); Assert.AreEqual(711F, message.GetExtension(UnitTestProtoFile.PackedFloatExtension, 1)); @@ -1706,12 +1734,12 @@ namespace Google.ProtocolBuffers Assert.AreEqual(2, message.GetExtensionCount(UnitTestExtrasProtoFile.UnpackedEnumExtension)); Assert.AreEqual(601, message.GetExtension(UnitTestExtrasProtoFile.UnpackedInt32Extension, 0)); Assert.AreEqual(602L, message.GetExtension(UnitTestExtrasProtoFile.UnpackedInt64Extension, 0)); - Assert.AreEqual(603, message.GetExtension(UnitTestExtrasProtoFile.UnpackedUint32Extension, 0)); - Assert.AreEqual(604L, message.GetExtension(UnitTestExtrasProtoFile.UnpackedUint64Extension, 0)); + Assert.AreEqual(603u, message.GetExtension(UnitTestExtrasProtoFile.UnpackedUint32Extension, 0)); + Assert.AreEqual(604uL, message.GetExtension(UnitTestExtrasProtoFile.UnpackedUint64Extension, 0)); Assert.AreEqual(605, message.GetExtension(UnitTestExtrasProtoFile.UnpackedSint32Extension, 0)); Assert.AreEqual(606L, message.GetExtension(UnitTestExtrasProtoFile.UnpackedSint64Extension, 0)); - Assert.AreEqual(607, message.GetExtension(UnitTestExtrasProtoFile.UnpackedFixed32Extension, 0)); - Assert.AreEqual(608L, message.GetExtension(UnitTestExtrasProtoFile.UnpackedFixed64Extension, 0)); + Assert.AreEqual(607u, message.GetExtension(UnitTestExtrasProtoFile.UnpackedFixed32Extension, 0)); + Assert.AreEqual(608uL, message.GetExtension(UnitTestExtrasProtoFile.UnpackedFixed64Extension, 0)); Assert.AreEqual(609, message.GetExtension(UnitTestExtrasProtoFile.UnpackedSfixed32Extension, 0)); Assert.AreEqual(610L, message.GetExtension(UnitTestExtrasProtoFile.UnpackedSfixed64Extension, 0)); Assert.AreEqual(611F, message.GetExtension(UnitTestExtrasProtoFile.UnpackedFloatExtension, 0)); @@ -1721,12 +1749,12 @@ namespace Google.ProtocolBuffers message.GetExtension(UnitTestExtrasProtoFile.UnpackedEnumExtension, 0)); Assert.AreEqual(701, message.GetExtension(UnitTestExtrasProtoFile.UnpackedInt32Extension, 1)); Assert.AreEqual(702L, message.GetExtension(UnitTestExtrasProtoFile.UnpackedInt64Extension, 1)); - Assert.AreEqual(703, message.GetExtension(UnitTestExtrasProtoFile.UnpackedUint32Extension, 1)); - Assert.AreEqual(704L, message.GetExtension(UnitTestExtrasProtoFile.UnpackedUint64Extension, 1)); + Assert.AreEqual(703u, message.GetExtension(UnitTestExtrasProtoFile.UnpackedUint32Extension, 1)); + Assert.AreEqual(704uL, message.GetExtension(UnitTestExtrasProtoFile.UnpackedUint64Extension, 1)); Assert.AreEqual(705, message.GetExtension(UnitTestExtrasProtoFile.UnpackedSint32Extension, 1)); Assert.AreEqual(706L, message.GetExtension(UnitTestExtrasProtoFile.UnpackedSint64Extension, 1)); - Assert.AreEqual(707, message.GetExtension(UnitTestExtrasProtoFile.UnpackedFixed32Extension, 1)); - Assert.AreEqual(708L, message.GetExtension(UnitTestExtrasProtoFile.UnpackedFixed64Extension, 1)); + Assert.AreEqual(707u, message.GetExtension(UnitTestExtrasProtoFile.UnpackedFixed32Extension, 1)); + Assert.AreEqual(708uL, message.GetExtension(UnitTestExtrasProtoFile.UnpackedFixed64Extension, 1)); Assert.AreEqual(709, message.GetExtension(UnitTestExtrasProtoFile.UnpackedSfixed32Extension, 1)); Assert.AreEqual(710L, message.GetExtension(UnitTestExtrasProtoFile.UnpackedSfixed64Extension, 1)); Assert.AreEqual(711F, message.GetExtension(UnitTestExtrasProtoFile.UnpackedFloatExtension, 1)); @@ -1735,27 +1763,11 @@ namespace Google.ProtocolBuffers Assert.AreEqual(UnpackedExtensionsForeignEnum.FOREIGN_BAZ, message.GetExtension(UnitTestExtrasProtoFile.UnpackedEnumExtension, 1)); } - private static ByteString goldenPackedFieldsMessage = null; - - /// - /// Get the bytes of the "golden packed fields message". This is a serialized - /// TestPackedTypes with all fields set as they would be by SetPackedFields, - /// but it is loaded from a file on disk rather than generated dynamically. - /// The file is actually generated by C++ code, so testing against it verifies compatibility - /// with C++. - /// - public static ByteString GetGoldenPackedFieldsMessage() - { - if (goldenPackedFieldsMessage == null) - { - goldenPackedFieldsMessage = ReadBytesFromFile("golden_packed_fields_message"); - } - return goldenPackedFieldsMessage; - } - private static readonly string[] TestCultures = {"en-US", "en-GB", "fr-FR", "de-DE"}; - public static void TestInMultipleCultures(Action test) + public delegate void CultureAction(); + + public static void TestInMultipleCultures(CultureAction test) { CultureInfo originalCulture = Thread.CurrentThread.CurrentCulture; foreach (string culture in TestCultures) @@ -1785,6 +1797,22 @@ namespace Google.ProtocolBuffers return bytes; } + + internal delegate void Action(); + + internal static void AssertNotSupported(Action action) + { + try + { + action(); + Assert.Fail("Expected NotSupportedException"); + } + catch (NotSupportedException) + { + // Expected + } + } + internal static void AssertArgumentNullException(Action action) { try @@ -1797,5 +1825,25 @@ namespace Google.ProtocolBuffers // We expect this exception. } } + + internal static void AssertBytesEqual(byte[] a, byte[]b) + { + if (a == null || b == null) + { + Assert.AreEqual(a, b); + } + else + { + Assert.AreEqual(a.Length, b.Length, "The byte[] is not of the expected length."); + + for (int i = 0; i < a.Length; i++) + { + if (a[i] != b[i]) + { + Assert.AreEqual(a[i], b[i], "Byte[] differs at index " + i); + } + } + } + } } } \ No newline at end of file diff --git a/src/ProtocolBuffers.Test/TestWriterFormatJson.cs b/src/ProtocolBuffers.Test/TestWriterFormatJson.cs index 98215ebc9d..86a3e3002d 100644 --- a/src/ProtocolBuffers.Test/TestWriterFormatJson.cs +++ b/src/ProtocolBuffers.Test/TestWriterFormatJson.cs @@ -2,15 +2,15 @@ using System; using System.IO; using System.Text; using Google.ProtocolBuffers.Serialization; -using NUnit.Framework; +using Microsoft.VisualStudio.TestTools.UnitTesting; using Google.ProtocolBuffers.TestProtos; namespace Google.ProtocolBuffers { - [TestFixture] + [TestClass] public class TestWriterFormatJson { - [Test] + [TestMethod] public void Example_FromJson() { TestXmlMessage.Builder builder = TestXmlMessage.CreateBuilder(); @@ -22,7 +22,7 @@ namespace Google.ProtocolBuffers Assert.AreEqual(true, message.Valid); } - [Test] + [TestMethod] public void Example_ToJson() { TestXmlMessage message = @@ -36,7 +36,7 @@ namespace Google.ProtocolBuffers Assert.AreEqual(@"{""valid"":true}", json); } - [Test] + [TestMethod] public void Example_WriteJsonUsingICodedOutputStream() { TestXmlMessage message = @@ -63,7 +63,7 @@ namespace Google.ProtocolBuffers } } - [Test] + [TestMethod] public void Example_ReadJsonUsingICodedInputStream() { TestXmlMessage.Builder builder = TestXmlMessage.CreateBuilder(); @@ -98,7 +98,7 @@ namespace Google.ProtocolBuffers Assert.IsTrue(Content.IndexOf(expect) >= 0, "Expected to find content '{0}' in: \r\n{1}", expect, Content); } - [Test] + [TestMethod] public void TestToJsonParseFromJson() { TestAllTypes msg = new TestAllTypes.Builder().SetDefaultBool(true).Build(); @@ -109,7 +109,7 @@ namespace Google.ProtocolBuffers Assert.AreEqual(msg, copy); } - [Test] + [TestMethod] public void TestToJsonParseFromJsonReader() { TestAllTypes msg = new TestAllTypes.Builder().SetDefaultBool(true).Build(); @@ -120,7 +120,7 @@ namespace Google.ProtocolBuffers Assert.AreEqual(msg, copy); } - [Test] + [TestMethod] public void TestJsonFormatted() { TestXmlMessage message = TestXmlMessage.CreateBuilder() @@ -143,7 +143,7 @@ namespace Google.ProtocolBuffers Assert.AreEqual(message, copy); } - [Test] + [TestMethod] public void TestEmptyMessage() { FormatterAssert( @@ -152,7 +152,7 @@ namespace Google.ProtocolBuffers @"{}" ); } - [Test] + [TestMethod] public void TestRepeatedField() { FormatterAssert( @@ -163,7 +163,7 @@ namespace Google.ProtocolBuffers @"{""options"":[""ONE"",""TWO""]}" ); } - [Test] + [TestMethod] public void TestNestedEmptyMessage() { FormatterAssert( @@ -173,7 +173,7 @@ namespace Google.ProtocolBuffers @"{""child"":{}}" ); } - [Test] + [TestMethod] public void TestNestedMessage() { FormatterAssert( @@ -183,7 +183,7 @@ namespace Google.ProtocolBuffers @"{""child"":{""options"":[""TWO""]}}" ); } - [Test] + [TestMethod] public void TestBooleanTypes() { FormatterAssert( @@ -193,7 +193,7 @@ namespace Google.ProtocolBuffers @"{""valid"":true}" ); } - [Test] + [TestMethod] public void TestFullMessage() { FormatterAssert( @@ -222,7 +222,7 @@ namespace Google.ProtocolBuffers 0x1010101010L.ToString() ); } - [Test] + [TestMethod] public void TestMessageWithXmlText() { FormatterAssert( @@ -232,7 +232,7 @@ namespace Google.ProtocolBuffers @"{""text"":""<\/text>""}" ); } - [Test] + [TestMethod] public void TestWithEscapeChars() { FormatterAssert( @@ -242,7 +242,7 @@ namespace Google.ProtocolBuffers "{\"text\":\" \\t <- \\\"leading space and trailing\\\" -> \\\\ \\uef54 \\u0000 \\u00ff \\uffff \\b \\f \\r \\n \\t \"}" ); } - [Test] + [TestMethod] public void TestWithExtensionText() { FormatterAssert( @@ -253,7 +253,7 @@ namespace Google.ProtocolBuffers @"{""valid"":false,""extension_text"":"" extension text value ! ""}" ); } - [Test] + [TestMethod] public void TestWithExtensionNumber() { FormatterAssert( @@ -264,7 +264,7 @@ namespace Google.ProtocolBuffers @"{""number"":42}" ); } - [Test] + [TestMethod] public void TestWithExtensionArray() { FormatterAssert( @@ -276,7 +276,7 @@ namespace Google.ProtocolBuffers @"{""extension_number"":[100,101,102]}" ); } - [Test] + [TestMethod] public void TestWithExtensionEnum() { FormatterAssert( @@ -286,7 +286,7 @@ namespace Google.ProtocolBuffers @"{""extension_enum"":""ONE""}" ); } - [Test] + [TestMethod] public void TestMessageWithExtensions() { FormatterAssert( @@ -308,7 +308,7 @@ namespace Google.ProtocolBuffers @"""extension_message"":{""number"":42}" ); } - [Test] + [TestMethod] public void TestMessageMissingExtensions() { TestXmlMessage original = TestXmlMessage.CreateBuilder() @@ -340,7 +340,7 @@ namespace Google.ProtocolBuffers Assert.AreNotEqual(original, copy); Assert.AreEqual(message, copy); } - [Test] + [TestMethod] public void TestMergeFields() { TestXmlMessage.Builder builder = TestXmlMessage.CreateBuilder(); @@ -350,7 +350,7 @@ namespace Google.ProtocolBuffers Assert.AreEqual("text", builder.Text); Assert.AreEqual(411, builder.Number); } - [Test] + [TestMethod] public void TestMessageArray() { JsonFormatWriter writer = JsonFormatWriter.CreateInstance().Formatted(); @@ -374,7 +374,7 @@ namespace Google.ProtocolBuffers Assert.AreEqual(3, ordinal); Assert.AreEqual(3, builder.TextlinesCount); } - [Test] + [TestMethod] public void TestNestedMessageArray() { JsonFormatWriter writer = JsonFormatWriter.CreateInstance(); @@ -403,7 +403,7 @@ namespace Google.ProtocolBuffers Assert.AreEqual(3, ordinal); Assert.AreEqual(3, builder.TextlinesCount); } - [Test] + [TestMethod] public void TestReadWriteJsonWithoutRoot() { TestXmlMessage.Builder builder = TestXmlMessage.CreateBuilder(); @@ -425,7 +425,7 @@ namespace Google.ProtocolBuffers Assert.AreEqual(message, copy); } - [Test,ExpectedException(typeof(RecursionLimitExceededException))] + [TestMethod,ExpectedException(typeof(RecursionLimitExceededException))] public void TestRecursiveLimit() { StringBuilder sb = new StringBuilder(8192); @@ -433,25 +433,25 @@ namespace Google.ProtocolBuffers sb.Append("{\"child\":"); TestXmlRescursive msg = Extensions.MergeFromJson(new TestXmlRescursive.Builder(), sb.ToString()).Build(); } - [Test, ExpectedException(typeof(FormatException))] + [TestMethod, ExpectedException(typeof(FormatException))] public void FailWithEmptyText() { JsonFormatReader.CreateInstance("") .Merge(TestXmlMessage.CreateBuilder()); } - [Test, ExpectedException(typeof(FormatException))] + [TestMethod, ExpectedException(typeof(FormatException))] public void FailWithUnexpectedValue() { JsonFormatReader.CreateInstance("{{}}") .Merge(TestXmlMessage.CreateBuilder()); } - [Test, ExpectedException(typeof(FormatException))] + [TestMethod, ExpectedException(typeof(FormatException))] public void FailWithUnQuotedName() { JsonFormatReader.CreateInstance("{name:{}}") .Merge(TestXmlMessage.CreateBuilder()); } - [Test, ExpectedException(typeof(FormatException))] + [TestMethod, ExpectedException(typeof(FormatException))] public void FailWithUnexpectedType() { JsonFormatReader.CreateInstance("{\"valid\":{}}") diff --git a/src/ProtocolBuffers.Test/TestWriterFormatXml.cs b/src/ProtocolBuffers.Test/TestWriterFormatXml.cs index aa4db87520..13ea060b49 100644 --- a/src/ProtocolBuffers.Test/TestWriterFormatXml.cs +++ b/src/ProtocolBuffers.Test/TestWriterFormatXml.cs @@ -4,15 +4,15 @@ using System.IO; using System.Text; using System.Xml; using Google.ProtocolBuffers.Serialization; -using NUnit.Framework; +using Microsoft.VisualStudio.TestTools.UnitTesting; using Google.ProtocolBuffers.TestProtos; namespace Google.ProtocolBuffers { - [TestFixture] + [TestClass] public class TestWriterFormatXml { - [Test] + [TestMethod] public void Example_FromXml() { TestXmlMessage.Builder builder = TestXmlMessage.CreateBuilder(); @@ -25,7 +25,7 @@ namespace Google.ProtocolBuffers Assert.AreEqual(true, message.Valid); } - [Test] + [TestMethod] public void Example_ToXml() { TestXmlMessage message = @@ -39,7 +39,7 @@ namespace Google.ProtocolBuffers Assert.AreEqual(@"true", Xml); } - [Test] + [TestMethod] public void Example_WriteXmlUsingICodedOutputStream() { TestXmlMessage message = @@ -60,7 +60,7 @@ namespace Google.ProtocolBuffers } } - [Test] + [TestMethod] public void Example_ReadXmlUsingICodedInputStream() { TestXmlMessage.Builder builder = TestXmlMessage.CreateBuilder(); @@ -73,7 +73,7 @@ namespace Google.ProtocolBuffers reader.ReadMessageEnd(); //manually read the end message '}' } - [Test] + [TestMethod] public void TestToXmlParseFromXml() { TestAllTypes msg = new TestAllTypes.Builder().SetDefaultBool(true).Build(); @@ -84,7 +84,7 @@ namespace Google.ProtocolBuffers Assert.AreEqual(msg, copy); } - [Test] + [TestMethod] public void TestToXmlParseFromXmlWithRootName() { TestAllTypes msg = new TestAllTypes.Builder().SetDefaultBool(true).Build(); @@ -95,14 +95,14 @@ namespace Google.ProtocolBuffers Assert.AreEqual(msg, copy); } - [Test] + [TestMethod] public void TestEmptyMessage() { TestXmlChild message = TestXmlChild.CreateBuilder() .Build(); StringWriter sw = new StringWriter(); - XmlTextWriter xw = new XmlTextWriter(sw); + XmlWriter xw = XmlWriter.Create(sw); //When we call message.WriteTo, we are responsible for the root element xw.WriteStartElement("root"); @@ -115,7 +115,7 @@ namespace Google.ProtocolBuffers TestXmlChild copy = rdr.Merge(TestXmlChild.CreateBuilder()).Build(); Assert.AreEqual(message, copy); } - [Test] + [TestMethod] public void TestRepeatedField() { TestXmlChild message = TestXmlChild.CreateBuilder() @@ -132,7 +132,7 @@ namespace Google.ProtocolBuffers TestXmlChild copy = rdr.Merge(TestXmlChild.CreateBuilder()).Build(); Assert.AreEqual(message, copy); } - [Test] + [TestMethod] public void TestNestedEmptyMessage() { TestXmlMessage message = TestXmlMessage.CreateBuilder() @@ -147,7 +147,7 @@ namespace Google.ProtocolBuffers TestXmlMessage copy = rdr.Merge(TestXmlMessage.CreateBuilder()).Build(); Assert.AreEqual(message, copy); } - [Test] + [TestMethod] public void TestNestedMessage() { TestXmlMessage message = TestXmlMessage.CreateBuilder() @@ -162,7 +162,7 @@ namespace Google.ProtocolBuffers TestXmlMessage copy = rdr.Merge(TestXmlMessage.CreateBuilder()).Build(); Assert.AreEqual(message, copy); } - [Test] + [TestMethod] public void TestBooleanTypes() { TestXmlMessage message = TestXmlMessage.CreateBuilder() @@ -177,7 +177,7 @@ namespace Google.ProtocolBuffers TestXmlMessage copy = rdr.Merge(TestXmlMessage.CreateBuilder()).Build(); Assert.AreEqual(message, copy); } - [Test] + [TestMethod] public void TestFullMessage() { TestXmlMessage message = TestXmlMessage.CreateBuilder() @@ -206,7 +206,7 @@ namespace Google.ProtocolBuffers TestXmlMessage copy = rdr.Merge(TestXmlMessage.CreateBuilder()).Build(); Assert.AreEqual(message, copy); } - [Test] + [TestMethod] public void TestFullMessageWithRichTypes() { TestXmlMessage message = TestXmlMessage.CreateBuilder() @@ -238,7 +238,7 @@ namespace Google.ProtocolBuffers TestXmlMessage copy = rdr.Merge(TestXmlMessage.CreateBuilder()).Build(); Assert.AreEqual(message, copy); } - [Test] + [TestMethod] public void TestFullMessageWithUnknownFields() { TestXmlMessage origial = TestXmlMessage.CreateBuilder() @@ -281,7 +281,7 @@ namespace Google.ProtocolBuffers TestXmlMessage copy = rdr.Merge(TestXmlMessage.CreateBuilder()).Build(); Assert.AreEqual(TestXmlMessage.DefaultInstance, copy); } - [Test] + [TestMethod] public void TestMessageWithXmlText() { TestXmlMessage message = TestXmlMessage.CreateBuilder() @@ -296,7 +296,7 @@ namespace Google.ProtocolBuffers TestXmlMessage copy = rdr.Merge(TestXmlMessage.CreateBuilder()).Build(); Assert.AreEqual(message, copy); } - [Test] + [TestMethod] public void TestXmlWithWhitespace() { TestXmlMessage message = TestXmlMessage.CreateBuilder() @@ -311,7 +311,7 @@ namespace Google.ProtocolBuffers TestXmlMessage copy = rdr.Merge(TestXmlMessage.CreateBuilder()).Build(); Assert.AreEqual(message, copy); } - [Test] + [TestMethod] public void TestXmlWithExtensionText() { TestXmlMessage message = TestXmlMessage.CreateBuilder() @@ -330,7 +330,7 @@ namespace Google.ProtocolBuffers TestXmlMessage copy = rdr.Merge(TestXmlMessage.CreateBuilder(), registry).Build(); Assert.AreEqual(message, copy); } - [Test] + [TestMethod] public void TestXmlWithExtensionMessage() { TestXmlMessage message = TestXmlMessage.CreateBuilder() @@ -349,7 +349,7 @@ namespace Google.ProtocolBuffers TestXmlMessage copy = rdr.Merge(TestXmlMessage.CreateBuilder(), registry).Build(); Assert.AreEqual(message, copy); } - [Test] + [TestMethod] public void TestXmlWithExtensionArray() { TestXmlMessage message = TestXmlMessage.CreateBuilder() @@ -370,7 +370,7 @@ namespace Google.ProtocolBuffers TestXmlMessage copy = rdr.Merge(TestXmlMessage.CreateBuilder(), registry).Build(); Assert.AreEqual(message, copy); } - [Test] + [TestMethod] public void TestXmlWithExtensionEnum() { TestXmlMessage message = TestXmlMessage.CreateBuilder() @@ -389,7 +389,7 @@ namespace Google.ProtocolBuffers TestXmlMessage copy = rdr.Merge(TestXmlMessage.CreateBuilder(), registry).Build(); Assert.AreEqual(message, copy); } - [Test] + [TestMethod] public void TestXmlReadEmptyRoot() { TestXmlMessage.Builder builder = TestXmlMessage.CreateBuilder(); @@ -402,7 +402,7 @@ namespace Google.ProtocolBuffers reader.ReadMessageEnd(); //manually read the end message '}' } - [Test] + [TestMethod] public void TestXmlReadEmptyChild() { TestXmlMessage.Builder builder = TestXmlMessage.CreateBuilder(); @@ -415,7 +415,7 @@ namespace Google.ProtocolBuffers Assert.AreEqual(String.Empty, builder.Text); } - [Test] + [TestMethod] public void TestXmlReadWriteWithoutRoot() { TestXmlMessage.Builder builder = TestXmlMessage.CreateBuilder(); @@ -443,7 +443,7 @@ namespace Google.ProtocolBuffers Assert.AreEqual(message, copy); } - [Test, ExpectedException(typeof(RecursionLimitExceededException))] + [TestMethod, ExpectedException(typeof(RecursionLimitExceededException))] public void TestRecursiveLimit() { StringBuilder sb = new StringBuilder(8192); diff --git a/src/ProtocolBuffers.Test/TextFormatTest.cs b/src/ProtocolBuffers.Test/TextFormatTest.cs index 49dac2510e..299b2650d1 100644 --- a/src/ProtocolBuffers.Test/TextFormatTest.cs +++ b/src/ProtocolBuffers.Test/TextFormatTest.cs @@ -38,13 +38,13 @@ using System; using System.IO; using System.Text; using Google.ProtocolBuffers.TestProtos; -using NUnit.Framework; +using Microsoft.VisualStudio.TestTools.UnitTesting; using System.Globalization; using System.Threading; namespace Google.ProtocolBuffers { - [TestFixture] + [TestClass] public class TextFormatTest { private static readonly string AllFieldsSetText = TestUtil.ReadTextFromFile("text_format_unittest_data.txt"); @@ -90,7 +90,7 @@ namespace Google.ProtocolBuffers /// /// Print TestAllTypes and compare with golden file. /// - [Test] + [TestMethod] public void PrintMessage() { TestUtil.TestInMultipleCultures(() => @@ -104,7 +104,7 @@ namespace Google.ProtocolBuffers /// /// Print TestAllExtensions and compare with golden file. /// - [Test] + [TestMethod] public void PrintExtensions() { string text = TextFormat.PrintToString(TestUtil.GetAllExtensionsSet()); @@ -115,7 +115,7 @@ namespace Google.ProtocolBuffers /// /// Test printing of unknown fields in a message. /// - [Test] + [TestMethod] public void PrintUnknownFields() { TestEmptyMessage message = @@ -178,7 +178,7 @@ namespace Google.ProtocolBuffers return ByteString.CopyFrom(Encoding.GetEncoding(28591).GetBytes(str)); } - [Test] + [TestMethod] public void PrintExotic() { IMessage message = TestAllTypes.CreateBuilder() @@ -212,7 +212,7 @@ namespace Google.ProtocolBuffers Assert.AreEqual(ExoticText, message.ToString()); } - [Test] + [TestMethod] public void PrintMessageSet() { TestMessageSet messageSet = @@ -230,7 +230,7 @@ namespace Google.ProtocolBuffers // ================================================================= - [Test] + [TestMethod] public void Parse() { TestUtil.TestInMultipleCultures(() => @@ -241,7 +241,7 @@ namespace Google.ProtocolBuffers }); } - [Test] + [TestMethod] public void ParseReader() { TestAllTypes.Builder builder = TestAllTypes.CreateBuilder(); @@ -249,7 +249,7 @@ namespace Google.ProtocolBuffers TestUtil.AssertAllFieldsSet(builder.Build()); } - [Test] + [TestMethod] public void ParseExtensions() { TestAllExtensions.Builder builder = TestAllExtensions.CreateBuilder(); @@ -259,7 +259,7 @@ namespace Google.ProtocolBuffers TestUtil.AssertAllExtensionsSet(builder.Build()); } - [Test] + [TestMethod] public void ParseCompatibility() { string original = "repeated_float: inf\n" + @@ -291,7 +291,7 @@ namespace Google.ProtocolBuffers Assert.AreEqual(canonical, builder.Build().ToString()); } - [Test] + [TestMethod] public void ParseExotic() { TestAllTypes.Builder builder = TestAllTypes.CreateBuilder(); @@ -302,7 +302,7 @@ namespace Google.ProtocolBuffers Assert.AreEqual(ExoticText, builder.Build().ToString()); } - [Test] + [TestMethod] public void ParseMessageSet() { ExtensionRegistry extensionRegistry = ExtensionRegistry.CreateInstance(); @@ -319,7 +319,7 @@ namespace Google.ProtocolBuffers Assert.AreEqual("foo", messageSet.GetExtension(TestMessageSetExtension2.MessageSetExtension).Str); } - [Test] + [TestMethod] public void ParseNumericEnum() { TestAllTypes.Builder builder = TestAllTypes.CreateBuilder(); @@ -327,7 +327,7 @@ namespace Google.ProtocolBuffers Assert.AreEqual(TestAllTypes.Types.NestedEnum.BAR, builder.OptionalNestedEnum); } - [Test] + [TestMethod] public void ParseAngleBrackets() { TestAllTypes.Builder builder = TestAllTypes.CreateBuilder(); @@ -336,7 +336,7 @@ namespace Google.ProtocolBuffers Assert.AreEqual(1, builder.OptionalGroup.A); } - [Test] + [TestMethod] public void ParseComment() { TestAllTypes.Builder builder = TestAllTypes.CreateBuilder(); @@ -364,7 +364,7 @@ namespace Google.ProtocolBuffers } } - [Test] + [TestMethod] public void ParseErrors() { AssertParseError( @@ -454,7 +454,7 @@ namespace Google.ProtocolBuffers } } - [Test] + [TestMethod] public void Escape() { // Escape sequences. @@ -481,7 +481,7 @@ namespace Google.ProtocolBuffers AssertFormatException(() => TextFormat.UnescapeText("\\")); } - [Test] + [TestMethod] public void ParseInteger() { Assert.AreEqual(0, TextFormat.ParseInt32("0")); @@ -492,10 +492,10 @@ namespace Google.ProtocolBuffers Assert.AreEqual(2147483647, TextFormat.ParseInt32("2147483647")); Assert.AreEqual(-2147483648, TextFormat.ParseInt32("-2147483648")); - Assert.AreEqual(0, TextFormat.ParseUInt32("0")); - Assert.AreEqual(1, TextFormat.ParseUInt32("1")); - Assert.AreEqual(12345, TextFormat.ParseUInt32("12345")); - Assert.AreEqual(2147483647, TextFormat.ParseUInt32("2147483647")); + Assert.AreEqual(0u, TextFormat.ParseUInt32("0")); + Assert.AreEqual(1u, TextFormat.ParseUInt32("1")); + Assert.AreEqual(12345u, TextFormat.ParseUInt32("12345")); + Assert.AreEqual(2147483647u, TextFormat.ParseUInt32("2147483647")); Assert.AreEqual(2147483648U, TextFormat.ParseUInt32("2147483648")); Assert.AreEqual(4294967295U, TextFormat.ParseUInt32("4294967295")); @@ -511,12 +511,12 @@ namespace Google.ProtocolBuffers Assert.AreEqual(9223372036854775807L, TextFormat.ParseInt64("9223372036854775807")); Assert.AreEqual(-9223372036854775808L, TextFormat.ParseInt64("-9223372036854775808")); - Assert.AreEqual(0L, TextFormat.ParseUInt64("0")); - Assert.AreEqual(1L, TextFormat.ParseUInt64("1")); - Assert.AreEqual(12345L, TextFormat.ParseUInt64("12345")); - Assert.AreEqual(2147483647L, TextFormat.ParseUInt64("2147483647")); - Assert.AreEqual(4294967295L, TextFormat.ParseUInt64("4294967295")); - Assert.AreEqual(4294967296L, TextFormat.ParseUInt64("4294967296")); + Assert.AreEqual(0uL, TextFormat.ParseUInt64("0")); + Assert.AreEqual(1uL, TextFormat.ParseUInt64("1")); + Assert.AreEqual(12345uL, TextFormat.ParseUInt64("12345")); + Assert.AreEqual(2147483647uL, TextFormat.ParseUInt64("2147483647")); + Assert.AreEqual(4294967295uL, TextFormat.ParseUInt64("4294967295")); + Assert.AreEqual(4294967296uL, TextFormat.ParseUInt64("4294967296")); Assert.AreEqual(9223372036854775807UL, TextFormat.ParseUInt64("9223372036854775807")); Assert.AreEqual(9223372036854775808UL, TextFormat.ParseUInt64("9223372036854775808")); Assert.AreEqual(18446744073709551615UL, TextFormat.ParseUInt64("18446744073709551615")); @@ -543,7 +543,7 @@ namespace Google.ProtocolBuffers AssertFormatException(() => TextFormat.ParseInt32("abcd")); } - [Test] + [TestMethod] public void ParseLongString() { string longText = diff --git a/src/ProtocolBuffers.Test/UnknownFieldSetTest.cs b/src/ProtocolBuffers.Test/UnknownFieldSetTest.cs index bd3d950ae8..f9bfd84e75 100644 --- a/src/ProtocolBuffers.Test/UnknownFieldSetTest.cs +++ b/src/ProtocolBuffers.Test/UnknownFieldSetTest.cs @@ -38,11 +38,11 @@ using System; using System.Collections.Generic; using Google.ProtocolBuffers.Descriptors; using Google.ProtocolBuffers.TestProtos; -using NUnit.Framework; +using Microsoft.VisualStudio.TestTools.UnitTesting; namespace Google.ProtocolBuffers { - [TestFixture] + [TestClass] public class UnknownFieldSetTest { private MessageDescriptor descriptor; @@ -57,7 +57,7 @@ namespace Google.ProtocolBuffers private UnknownFieldSet unknownFields; - [SetUp] + [TestInitialize] public void SetUp() { descriptor = TestAllTypes.Descriptor; @@ -105,7 +105,7 @@ namespace Google.ProtocolBuffers // ================================================================= - [Test] + [TestMethod] public void Varint() { UnknownField field = GetField("optional_int32"); @@ -113,23 +113,23 @@ namespace Google.ProtocolBuffers Assert.AreEqual(allFields.OptionalInt32, (long) field.VarintList[0]); } - [Test] + [TestMethod] public void Fixed32() { UnknownField field = GetField("optional_fixed32"); Assert.AreEqual(1, field.Fixed32List.Count); - Assert.AreEqual(allFields.OptionalFixed32, (int) field.Fixed32List[0]); + Assert.AreEqual(allFields.OptionalFixed32, (int) field.Fixed32List[0]); } - [Test] + [TestMethod] public void Fixed64() { UnknownField field = GetField("optional_fixed64"); Assert.AreEqual(1, field.Fixed64List.Count); - Assert.AreEqual(allFields.OptionalFixed64, (long) field.Fixed64List[0]); + Assert.AreEqual((long)allFields.OptionalFixed64, (long)field.Fixed64List[0]); } - [Test] + [TestMethod] public void LengthDelimited() { UnknownField field = GetField("optional_bytes"); @@ -137,7 +137,7 @@ namespace Google.ProtocolBuffers Assert.AreEqual(allFields.OptionalBytes, field.LengthDelimitedList[0]); } - [Test] + [TestMethod] public void Group() { FieldDescriptor nestedFieldDescriptor = @@ -156,7 +156,7 @@ namespace Google.ProtocolBuffers Assert.AreEqual(allFields.OptionalGroup.A, (long) nestedField.VarintList[0]); } - [Test] + [TestMethod] public void Serialize() { // Check that serializing the UnknownFieldSet produces the original data again. @@ -164,7 +164,7 @@ namespace Google.ProtocolBuffers Assert.AreEqual(allFieldsData, data); } - [Test] + [TestMethod] public void CopyFrom() { TestEmptyMessage message = @@ -173,7 +173,7 @@ namespace Google.ProtocolBuffers Assert.AreEqual(emptyMessage.ToString(), message.ToString()); } - [Test] + [TestMethod] public void MergeFrom() { TestEmptyMessage source = @@ -210,7 +210,7 @@ namespace Google.ProtocolBuffers destination.ToString()); } - [Test] + [TestMethod] public void Clear() { UnknownFieldSet fields = @@ -218,7 +218,7 @@ namespace Google.ProtocolBuffers Assert.AreEqual(0, fields.FieldDictionary.Count); } - [Test] + [TestMethod] public void ClearMessage() { TestEmptyMessage message = @@ -226,7 +226,7 @@ namespace Google.ProtocolBuffers Assert.AreEqual(0, message.SerializedSize); } - [Test] + [TestMethod] public void ParseKnownAndUnknown() { // Test mixing known and unknown fields when parsing. @@ -248,7 +248,7 @@ namespace Google.ProtocolBuffers Assert.AreEqual(654321, (long) field.VarintList[0]); } - [Test] + [TestMethod] public void WrongTypeTreatedAsUnknown() { // Test that fields of the wrong wire type are treated like unknown fields @@ -263,7 +263,7 @@ namespace Google.ProtocolBuffers Assert.AreEqual(emptyMessage.ToString(), allTypesMessage.ToString()); } - [Test] + [TestMethod] public void UnknownExtensions() { // Make sure fields are properly parsed to the UnknownFieldSet even when @@ -277,7 +277,7 @@ namespace Google.ProtocolBuffers Assert.AreEqual(allFieldsData, message.ToByteString()); } - [Test] + [TestMethod] public void WrongExtensionTypeTreatedAsUnknown() { // Test that fields of the wrong wire type are treated like unknown fields @@ -293,7 +293,7 @@ namespace Google.ProtocolBuffers allExtensionsMessage.ToString()); } - [Test] + [TestMethod] public void ParseUnknownEnumValue() { FieldDescriptor singularField = @@ -342,7 +342,7 @@ namespace Google.ProtocolBuffers } } - [Test] + [TestMethod] public void LargeVarint() { ByteString data = @@ -359,7 +359,7 @@ namespace Google.ProtocolBuffers Assert.AreEqual(0x7FFFFFFFFFFFFFFFUL, field.VarintList[0]); } - [Test] + [TestMethod] public void EqualsAndHashCode() { UnknownField fixed32Field = UnknownField.CreateBuilder().AddFixed32(1).Build(); diff --git a/src/ProtocolBuffers.Test/WireFormatTest.cs b/src/ProtocolBuffers.Test/WireFormatTest.cs index e390ce0d22..415624e523 100644 --- a/src/ProtocolBuffers.Test/WireFormatTest.cs +++ b/src/ProtocolBuffers.Test/WireFormatTest.cs @@ -38,17 +38,17 @@ using System.IO; using System.Reflection; using Google.ProtocolBuffers.Descriptors; using Google.ProtocolBuffers.TestProtos; -using NUnit.Framework; +using Microsoft.VisualStudio.TestTools.UnitTesting; namespace Google.ProtocolBuffers { - [TestFixture] + [TestClass] public class WireFormatTest { /// /// Keeps the attributes on FieldType and the switch statement in WireFormat in sync. /// - [Test] + [TestMethod] public void FieldTypeToWireTypeMapping() { foreach (FieldInfo field in typeof (FieldType).GetFields(BindingFlags.Static | BindingFlags.Public)) @@ -60,7 +60,7 @@ namespace Google.ProtocolBuffers } } - [Test] + [TestMethod] public void Serialization() { TestAllTypes message = TestUtil.GetAllSet(); @@ -73,7 +73,7 @@ namespace Google.ProtocolBuffers TestUtil.AssertAllFieldsSet(message2); } - [Test] + [TestMethod] public void SerializationPacked() { TestPackedTypes message = TestUtil.GetPackedSet(); @@ -83,7 +83,7 @@ namespace Google.ProtocolBuffers TestUtil.AssertPackedFieldsSet(message2); } - [Test] + [TestMethod] public void SerializeExtensions() { // TestAllTypes and TestAllExtensions should have compatible wire formats, @@ -98,7 +98,7 @@ namespace Google.ProtocolBuffers TestUtil.AssertAllFieldsSet(message2); } - [Test] + [TestMethod] public void SerializePackedExtensions() { // TestPackedTypes and TestPackedExtensions should have compatible wire @@ -112,7 +112,7 @@ namespace Google.ProtocolBuffers Assert.AreEqual(rawBytes, rawBytes2); } - [Test] + [TestMethod] public void SerializeDelimited() { MemoryStream stream = new MemoryStream(); @@ -130,7 +130,7 @@ namespace Google.ProtocolBuffers Assert.AreEqual(-1, stream.ReadByte()); } - [Test] + [TestMethod] public void ParseExtensions() { // TestAllTypes and TestAllExtensions should have compatible wire formats, @@ -149,7 +149,7 @@ namespace Google.ProtocolBuffers TestUtil.AssertAllExtensionsSet(message2); } - [Test] + [TestMethod] public void ParsePackedExtensions() { // Ensure that packed extensions can be properly parsed. @@ -162,7 +162,7 @@ namespace Google.ProtocolBuffers TestUtil.AssertPackedExtensionsSet(message2); } - [Test] + [TestMethod] public void ExtensionsSerializedSize() { Assert.AreEqual(TestUtil.GetAllSet().SerializedSize, TestUtil.GetAllExtensionsSet().SerializedSize); @@ -183,7 +183,7 @@ namespace Google.ProtocolBuffers } } - [Test] + [TestMethod] public void InterleavedFieldsAndExtensions() { // Tests that fields are written in order even when extension ranges @@ -214,7 +214,7 @@ namespace Google.ProtocolBuffers private static readonly int TypeId1 = TestMessageSetExtension1.Descriptor.Extensions[0].FieldNumber; private static readonly int TypeId2 = TestMessageSetExtension2.Descriptor.Extensions[0].FieldNumber; - [Test] + [TestMethod] public void SerializeMessageSet() { // Set up a TestMessageSet with two known messages and an unknown one. @@ -256,7 +256,7 @@ namespace Google.ProtocolBuffers Assert.AreEqual("bar", raw.GetItem(2).Message.ToStringUtf8()); } - [Test] + [TestMethod] public void ParseMessageSet() { ExtensionRegistry extensionRegistry = ExtensionRegistry.CreateInstance(); diff --git a/src/ProtocolBuffers.sln b/src/ProtocolBuffers.sln index 62f9a26f6e..f9c7550247 100644 --- a/src/ProtocolBuffers.sln +++ b/src/ProtocolBuffers.sln @@ -75,6 +75,28 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ProtocolBuffers.Serializati EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ProtocolBuffersLite.Serialization", "ProtocolBuffers.Serialization\ProtocolBuffersLite.Serialization.csproj", "{E067A59D-9D0A-4A1F-92B1-38E4457241D1}" EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ProtocolBuffers(Silverlight)", "ProtocolBuffers\ProtocolBuffers(Silverlight).csproj", "{7E4E681E-5D09-43FB-8D9E-35A454730A85}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ProtocolBuffersLite(Silverlight)", "ProtocolBuffers\ProtocolBuffersLite(Silverlight).csproj", "{2275EE6B-195B-485C-B6F6-CCA01C1B5AE0}" +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Tools", "Tools", "{0D7CDA8F-1BBF-4E0F-8D35-31AEA21A96E6}" +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Tests", "Tests", "{C7B69674-7A51-4AC6-8674-0330BA742CE4}" +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Samples", "Samples", "{75D5D25A-01A6-4594-957F-5993FB83F450}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ProtocolBuffers.Serialization(Silverlight)", "ProtocolBuffers.Serialization\ProtocolBuffers.Serialization(Silverlight).csproj", "{72B69A15-E28E-4738-A779-18D76C87D225}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ProtocolBuffersLite.Serialization(Silverlight)", "ProtocolBuffers.Serialization\ProtocolBuffersLite.Serialization(Silverlight).csproj", "{B6CDC03B-EBBD-4F38-9F84-736EC0948090}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ProtocolBuffers.Test(Silverlight)", "ProtocolBuffers.Test\ProtocolBuffers.Test(Silverlight).csproj", "{D6C6BFB0-831A-444A-B0D9-11E3E30DA2C2}" +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Silverlight", "Silverlight", "{AC305C07-0DBD-4247-B458-1B739F84F172}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ProtocolBuffersLite.Test(Silverlight)", "ProtocolBuffersLite.Test\ProtocolBuffersLite.Test(Silverlight).csproj", "{C56950B0-9F97-4250-8945-4B3C2D441FEA}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ProtocolBuffersLiteMixed.Test(Silverlight)", "ProtocolBuffersLite.Test\ProtocolBuffersLiteMixed.Test(Silverlight).csproj", "{63B8D05E-4581-4B92-B8D5-77E702535C7F}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug_Silverlight|Any CPU = Debug_Silverlight|Any CPU @@ -83,12 +105,10 @@ Global Release|Any CPU = Release|Any CPU EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution - {6908BDCE-D925-43F3-94AC-A531E6DF2591}.Debug_Silverlight|Any CPU.ActiveCfg = Debug_Silverlight|Any CPU - {6908BDCE-D925-43F3-94AC-A531E6DF2591}.Debug_Silverlight|Any CPU.Build.0 = Debug_Silverlight|Any CPU + {6908BDCE-D925-43F3-94AC-A531E6DF2591}.Debug_Silverlight|Any CPU.ActiveCfg = Debug|Any CPU {6908BDCE-D925-43F3-94AC-A531E6DF2591}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {6908BDCE-D925-43F3-94AC-A531E6DF2591}.Debug|Any CPU.Build.0 = Debug|Any CPU - {6908BDCE-D925-43F3-94AC-A531E6DF2591}.Release_Silverlight|Any CPU.ActiveCfg = Release_Silverlight|Any CPU - {6908BDCE-D925-43F3-94AC-A531E6DF2591}.Release_Silverlight|Any CPU.Build.0 = Release_Silverlight|Any CPU + {6908BDCE-D925-43F3-94AC-A531E6DF2591}.Release_Silverlight|Any CPU.ActiveCfg = Release|Any CPU {6908BDCE-D925-43F3-94AC-A531E6DF2591}.Release|Any CPU.ActiveCfg = Release|Any CPU {6908BDCE-D925-43F3-94AC-A531E6DF2591}.Release|Any CPU.Build.0 = Release|Any CPU {DD01ED24-3750-4567-9A23-1DB676A15610}.Debug_Silverlight|Any CPU.ActiveCfg = Debug|Any CPU @@ -133,12 +153,10 @@ Global {D7282E99-2DC3-405B-946F-177DB2FD2AE2}.Release_Silverlight|Any CPU.ActiveCfg = Release|Any CPU {D7282E99-2DC3-405B-946F-177DB2FD2AE2}.Release|Any CPU.ActiveCfg = Release|Any CPU {D7282E99-2DC3-405B-946F-177DB2FD2AE2}.Release|Any CPU.Build.0 = Release|Any CPU - {6969BDCE-D925-43F3-94AC-A531E6DF2591}.Debug_Silverlight|Any CPU.ActiveCfg = Debug_Silverlight|Any CPU - {6969BDCE-D925-43F3-94AC-A531E6DF2591}.Debug_Silverlight|Any CPU.Build.0 = Debug_Silverlight|Any CPU + {6969BDCE-D925-43F3-94AC-A531E6DF2591}.Debug_Silverlight|Any CPU.ActiveCfg = Debug|Any CPU {6969BDCE-D925-43F3-94AC-A531E6DF2591}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {6969BDCE-D925-43F3-94AC-A531E6DF2591}.Debug|Any CPU.Build.0 = Debug|Any CPU - {6969BDCE-D925-43F3-94AC-A531E6DF2591}.Release_Silverlight|Any CPU.ActiveCfg = Release_Silverlight|Any CPU - {6969BDCE-D925-43F3-94AC-A531E6DF2591}.Release_Silverlight|Any CPU.Build.0 = Release_Silverlight|Any CPU + {6969BDCE-D925-43F3-94AC-A531E6DF2591}.Release_Silverlight|Any CPU.ActiveCfg = Release|Any CPU {6969BDCE-D925-43F3-94AC-A531E6DF2591}.Release|Any CPU.ActiveCfg = Release|Any CPU {6969BDCE-D925-43F3-94AC-A531E6DF2591}.Release|Any CPU.Build.0 = Release|Any CPU {EE01ED24-3750-4567-9A23-1DB676A15610}.Debug_Silverlight|Any CPU.ActiveCfg = Debug|Any CPU @@ -153,27 +171,80 @@ Global {EEFFED24-3750-4567-9A23-1DB676A15610}.Release_Silverlight|Any CPU.ActiveCfg = Release|Any CPU {EEFFED24-3750-4567-9A23-1DB676A15610}.Release|Any CPU.ActiveCfg = Release|Any CPU {EEFFED24-3750-4567-9A23-1DB676A15610}.Release|Any CPU.Build.0 = Release|Any CPU - {231391AF-449C-4A39-986C-AD7F270F4750}.Debug_Silverlight|Any CPU.ActiveCfg = Debug_Silverlight|Any CPU - {231391AF-449C-4A39-986C-AD7F270F4750}.Debug_Silverlight|Any CPU.Build.0 = Debug_Silverlight|Any CPU + {231391AF-449C-4A39-986C-AD7F270F4750}.Debug_Silverlight|Any CPU.ActiveCfg = Debug|Any CPU {231391AF-449C-4A39-986C-AD7F270F4750}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {231391AF-449C-4A39-986C-AD7F270F4750}.Debug|Any CPU.Build.0 = Debug|Any CPU - {231391AF-449C-4A39-986C-AD7F270F4750}.Release_Silverlight|Any CPU.ActiveCfg = Release_Silverlight|Any CPU - {231391AF-449C-4A39-986C-AD7F270F4750}.Release_Silverlight|Any CPU.Build.0 = Release_Silverlight|Any CPU + {231391AF-449C-4A39-986C-AD7F270F4750}.Release_Silverlight|Any CPU.ActiveCfg = Release|Any CPU {231391AF-449C-4A39-986C-AD7F270F4750}.Release|Any CPU.ActiveCfg = Release|Any CPU {231391AF-449C-4A39-986C-AD7F270F4750}.Release|Any CPU.Build.0 = Release|Any CPU - {E067A59D-9D0A-4A1F-92B1-38E4457241D1}.Debug_Silverlight|Any CPU.ActiveCfg = Debug_Silverlight|Any CPU - {E067A59D-9D0A-4A1F-92B1-38E4457241D1}.Debug_Silverlight|Any CPU.Build.0 = Debug_Silverlight|Any CPU + {E067A59D-9D0A-4A1F-92B1-38E4457241D1}.Debug_Silverlight|Any CPU.ActiveCfg = Debug|Any CPU {E067A59D-9D0A-4A1F-92B1-38E4457241D1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {E067A59D-9D0A-4A1F-92B1-38E4457241D1}.Debug|Any CPU.Build.0 = Debug|Any CPU - {E067A59D-9D0A-4A1F-92B1-38E4457241D1}.Release_Silverlight|Any CPU.ActiveCfg = Release_Silverlight|Any CPU - {E067A59D-9D0A-4A1F-92B1-38E4457241D1}.Release_Silverlight|Any CPU.Build.0 = Release_Silverlight|Any CPU + {E067A59D-9D0A-4A1F-92B1-38E4457241D1}.Release_Silverlight|Any CPU.ActiveCfg = Release|Any CPU {E067A59D-9D0A-4A1F-92B1-38E4457241D1}.Release|Any CPU.ActiveCfg = Release|Any CPU {E067A59D-9D0A-4A1F-92B1-38E4457241D1}.Release|Any CPU.Build.0 = Release|Any CPU + {7E4E681E-5D09-43FB-8D9E-35A454730A85}.Debug_Silverlight|Any CPU.ActiveCfg = Debug_Silverlight|Any CPU + {7E4E681E-5D09-43FB-8D9E-35A454730A85}.Debug_Silverlight|Any CPU.Build.0 = Debug_Silverlight|Any CPU + {7E4E681E-5D09-43FB-8D9E-35A454730A85}.Debug|Any CPU.ActiveCfg = Debug_Silverlight|Any CPU + {7E4E681E-5D09-43FB-8D9E-35A454730A85}.Release_Silverlight|Any CPU.ActiveCfg = Release_Silverlight|Any CPU + {7E4E681E-5D09-43FB-8D9E-35A454730A85}.Release_Silverlight|Any CPU.Build.0 = Release_Silverlight|Any CPU + {7E4E681E-5D09-43FB-8D9E-35A454730A85}.Release|Any CPU.ActiveCfg = Release_Silverlight|Any CPU + {2275EE6B-195B-485C-B6F6-CCA01C1B5AE0}.Debug_Silverlight|Any CPU.ActiveCfg = Debug_Silverlight|Any CPU + {2275EE6B-195B-485C-B6F6-CCA01C1B5AE0}.Debug_Silverlight|Any CPU.Build.0 = Debug_Silverlight|Any CPU + {2275EE6B-195B-485C-B6F6-CCA01C1B5AE0}.Debug|Any CPU.ActiveCfg = Debug_Silverlight|Any CPU + {2275EE6B-195B-485C-B6F6-CCA01C1B5AE0}.Release_Silverlight|Any CPU.ActiveCfg = Release_Silverlight|Any CPU + {2275EE6B-195B-485C-B6F6-CCA01C1B5AE0}.Release_Silverlight|Any CPU.Build.0 = Release_Silverlight|Any CPU + {2275EE6B-195B-485C-B6F6-CCA01C1B5AE0}.Release|Any CPU.ActiveCfg = Release_Silverlight|Any CPU + {72B69A15-E28E-4738-A779-18D76C87D225}.Debug_Silverlight|Any CPU.ActiveCfg = Debug_Silverlight|Any CPU + {72B69A15-E28E-4738-A779-18D76C87D225}.Debug_Silverlight|Any CPU.Build.0 = Debug_Silverlight|Any CPU + {72B69A15-E28E-4738-A779-18D76C87D225}.Debug|Any CPU.ActiveCfg = Debug_Silverlight|Any CPU + {72B69A15-E28E-4738-A779-18D76C87D225}.Release_Silverlight|Any CPU.ActiveCfg = Release_Silverlight|Any CPU + {72B69A15-E28E-4738-A779-18D76C87D225}.Release_Silverlight|Any CPU.Build.0 = Release_Silverlight|Any CPU + {72B69A15-E28E-4738-A779-18D76C87D225}.Release|Any CPU.ActiveCfg = Release_Silverlight|Any CPU + {B6CDC03B-EBBD-4F38-9F84-736EC0948090}.Debug_Silverlight|Any CPU.ActiveCfg = Debug_Silverlight|Any CPU + {B6CDC03B-EBBD-4F38-9F84-736EC0948090}.Debug_Silverlight|Any CPU.Build.0 = Debug_Silverlight|Any CPU + {B6CDC03B-EBBD-4F38-9F84-736EC0948090}.Debug|Any CPU.ActiveCfg = Debug_Silverlight|Any CPU + {B6CDC03B-EBBD-4F38-9F84-736EC0948090}.Release_Silverlight|Any CPU.ActiveCfg = Release_Silverlight|Any CPU + {B6CDC03B-EBBD-4F38-9F84-736EC0948090}.Release_Silverlight|Any CPU.Build.0 = Release_Silverlight|Any CPU + {B6CDC03B-EBBD-4F38-9F84-736EC0948090}.Release|Any CPU.ActiveCfg = Release_Silverlight|Any CPU + {D6C6BFB0-831A-444A-B0D9-11E3E30DA2C2}.Debug_Silverlight|Any CPU.ActiveCfg = Debug_Silverlight|Any CPU + {D6C6BFB0-831A-444A-B0D9-11E3E30DA2C2}.Debug_Silverlight|Any CPU.Build.0 = Debug_Silverlight|Any CPU + {D6C6BFB0-831A-444A-B0D9-11E3E30DA2C2}.Debug|Any CPU.ActiveCfg = Debug_Silverlight|Any CPU + {D6C6BFB0-831A-444A-B0D9-11E3E30DA2C2}.Release_Silverlight|Any CPU.ActiveCfg = Release_Silverlight|Any CPU + {D6C6BFB0-831A-444A-B0D9-11E3E30DA2C2}.Release_Silverlight|Any CPU.Build.0 = Release_Silverlight|Any CPU + {D6C6BFB0-831A-444A-B0D9-11E3E30DA2C2}.Release|Any CPU.ActiveCfg = Release_Silverlight|Any CPU + {C56950B0-9F97-4250-8945-4B3C2D441FEA}.Debug_Silverlight|Any CPU.ActiveCfg = Debug_Silverlight|Any CPU + {C56950B0-9F97-4250-8945-4B3C2D441FEA}.Debug_Silverlight|Any CPU.Build.0 = Debug_Silverlight|Any CPU + {C56950B0-9F97-4250-8945-4B3C2D441FEA}.Debug|Any CPU.ActiveCfg = Debug_Silverlight|Any CPU + {C56950B0-9F97-4250-8945-4B3C2D441FEA}.Release_Silverlight|Any CPU.ActiveCfg = Release_Silverlight|Any CPU + {C56950B0-9F97-4250-8945-4B3C2D441FEA}.Release_Silverlight|Any CPU.Build.0 = Release_Silverlight|Any CPU + {C56950B0-9F97-4250-8945-4B3C2D441FEA}.Release|Any CPU.ActiveCfg = Release_Silverlight|Any CPU + {63B8D05E-4581-4B92-B8D5-77E702535C7F}.Debug_Silverlight|Any CPU.ActiveCfg = Debug_Silverlight|Any CPU + {63B8D05E-4581-4B92-B8D5-77E702535C7F}.Debug_Silverlight|Any CPU.Build.0 = Debug_Silverlight|Any CPU + {63B8D05E-4581-4B92-B8D5-77E702535C7F}.Debug|Any CPU.ActiveCfg = Debug_Silverlight|Any CPU + {63B8D05E-4581-4B92-B8D5-77E702535C7F}.Release_Silverlight|Any CPU.ActiveCfg = Release_Silverlight|Any CPU + {63B8D05E-4581-4B92-B8D5-77E702535C7F}.Release_Silverlight|Any CPU.Build.0 = Release_Silverlight|Any CPU + {63B8D05E-4581-4B92-B8D5-77E702535C7F}.Release|Any CPU.ActiveCfg = Release_Silverlight|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE EndGlobalSection GlobalSection(NestedProjects) = preSolution {C8D3015A-EA39-4F03-AEEC-3FF1F2087A12} = {1F896D5C-5FC2-4671-9216-781CB8187EC7} + {C268DA4C-4004-47DA-AF23-44C983281A68} = {C7B69674-7A51-4AC6-8674-0330BA742CE4} + {EE01ED24-3750-4567-9A23-1DB676A15610} = {C7B69674-7A51-4AC6-8674-0330BA742CE4} + {EEFFED24-3750-4567-9A23-1DB676A15610} = {C7B69674-7A51-4AC6-8674-0330BA742CE4} + {DD01ED24-3750-4567-9A23-1DB676A15610} = {C7B69674-7A51-4AC6-8674-0330BA742CE4} + {A31F5FB2-4FF3-432A-B35B-5CD203606311} = {75D5D25A-01A6-4594-957F-5993FB83F450} + {C7A4A435-2813-41C8-AA87-BD914BA5223D} = {0D7CDA8F-1BBF-4E0F-8D35-31AEA21A96E6} + {D7282E99-2DC3-405B-946F-177DB2FD2AE2} = {0D7CDA8F-1BBF-4E0F-8D35-31AEA21A96E6} + {8F09AF72-3327-4FA7-BC09-070B80221AB9} = {0D7CDA8F-1BBF-4E0F-8D35-31AEA21A96E6} + {2275EE6B-195B-485C-B6F6-CCA01C1B5AE0} = {AC305C07-0DBD-4247-B458-1B739F84F172} + {72B69A15-E28E-4738-A779-18D76C87D225} = {AC305C07-0DBD-4247-B458-1B739F84F172} + {B6CDC03B-EBBD-4F38-9F84-736EC0948090} = {AC305C07-0DBD-4247-B458-1B739F84F172} + {D6C6BFB0-831A-444A-B0D9-11E3E30DA2C2} = {AC305C07-0DBD-4247-B458-1B739F84F172} + {7E4E681E-5D09-43FB-8D9E-35A454730A85} = {AC305C07-0DBD-4247-B458-1B739F84F172} + {C56950B0-9F97-4250-8945-4B3C2D441FEA} = {AC305C07-0DBD-4247-B458-1B739F84F172} + {63B8D05E-4581-4B92-B8D5-77E702535C7F} = {AC305C07-0DBD-4247-B458-1B739F84F172} EndGlobalSection EndGlobal diff --git a/src/ProtocolBuffers/ProtocolBuffers(Silverlight).csproj b/src/ProtocolBuffers/ProtocolBuffers(Silverlight).csproj new file mode 100644 index 0000000000..c539c68f29 --- /dev/null +++ b/src/ProtocolBuffers/ProtocolBuffers(Silverlight).csproj @@ -0,0 +1,162 @@ + + + + Debug + AnyCPU + 9.0.30729 + 2.0 + {7E4E681E-5D09-43FB-8D9E-35A454730A85} + Library + Properties + Google.ProtocolBuffers + Google.ProtocolBuffers + v2.0 + 512 + true + ..\..\keys\Google.ProtocolBuffers.snk + 3.5 + {A1591282-1198-4647-A2B1-27E5FF5F6F3B};{fae04ec0-301f-11d3-bf4b-00c04f79efbc} + v3.5 + false + true + true + v2.0 + + + true + full + false + bin\Debug_Silverlight\ + $(OutputPath)\$(AssemblyName).xml + 1591, 1570, 1571, 1572, 1573, 1574 + DEBUG;TRACE;SILVERLIGHT + prompt + 4 + true + + + pdbonly + true + bin\Release_Silverlight\ + $(OutputPath)\$(AssemblyName).xml + 1591, 1570, 1571, 1572, 1573, 1574 + TRACE;SILVERLIGHT + prompt + 4 + true + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/ProtocolBuffers/ProtocolBuffers.csproj b/src/ProtocolBuffers/ProtocolBuffers.csproj index 6edab53e27..e473f8b5fd 100644 --- a/src/ProtocolBuffers/ProtocolBuffers.csproj +++ b/src/ProtocolBuffers/ProtocolBuffers.csproj @@ -14,27 +14,7 @@ 512 true ..\..\keys\Google.ProtocolBuffers.snk - - - - 3.5 - publish\ - true - Disk - false - Foreground - 7 - Days - false - false - true - 0 - 1.0.0.%2a - false - false - true - v2.0 true @@ -47,7 +27,6 @@ prompt 4 true - AllRules.ruleset pdbonly @@ -59,32 +38,6 @@ prompt 4 true - AllRules.ruleset - - - true - full - false - bin\Debug_Silverlight\ - $(OutputPath)\$(AssemblyName).xml - 1591, 1570, 1571, 1572, 1573, 1574 - DEBUG;TRACE;SILVERLIGHT - prompt - 4 - true - AllRules.ruleset - - - pdbonly - true - bin\Release_Silverlight\ - $(OutputPath)\$(AssemblyName).xml - 1591, 1570, 1571, 1572, 1573, 1574 - TRACE;SILVERLIGHT - prompt - 4 - true - AllRules.ruleset @@ -93,13 +46,9 @@ - - Code - + - - Code - + @@ -140,9 +89,7 @@ - - Code - + @@ -164,9 +111,7 @@ - - Code - + @@ -193,27 +138,7 @@ - - - False - .NET Framework 3.5 SP1 Client Profile - false - - - False - .NET Framework 3.5 SP1 - true - - - False - Windows Installer 3.1 - true - - - - - - + + + + + + + + + \ No newline at end of file diff --git a/src/ProtocolBuffers/ProtocolBuffersLite.csproj b/src/ProtocolBuffers/ProtocolBuffersLite.csproj index 0162d6f1dc..4773c5ad0c 100644 --- a/src/ProtocolBuffers/ProtocolBuffersLite.csproj +++ b/src/ProtocolBuffers/ProtocolBuffersLite.csproj @@ -14,11 +14,7 @@ 512 true ..\..\keys\Google.ProtocolBuffers.snk - - 3.5 - - v2.0 true @@ -27,7 +23,7 @@ bin\Debug\ $(OutputPath)\$(AssemblyName).xml 1591, 1570, 1571, 1572, 1573, 1574 - TRACE;DEBUG;LITE + DEBUG;TRACE;LITE prompt 4 true @@ -43,38 +39,11 @@ 4 true - - true - full - false - bin\Debug_Silverlight\ - $(OutputPath)\$(AssemblyName).xml - 1591, 1570, 1571, 1572, 1573, 1574 - DEBUG;TRACE;SILVERLIGHT;LITE - prompt - 4 - true - AllRules.ruleset - - - pdbonly - true - bin\Release_Silverlight\ - $(OutputPath)\$(AssemblyName).xml - 1591, 1570, 1571, 1572, 1573, 1574 - TRACE;SILVERLIGHT;LITE - prompt - 4 - true - AllRules.ruleset - - - @@ -106,19 +75,14 @@ - - Code - + - - - - + + + + + + + + + \ No newline at end of file diff --git a/src/ProtocolBuffersLite.Test/ProtocolBuffersLite.Test.csproj b/src/ProtocolBuffersLite.Test/ProtocolBuffersLite.Test.csproj index b846ff1a3f..0adb9135d4 100644 --- a/src/ProtocolBuffersLite.Test/ProtocolBuffersLite.Test.csproj +++ b/src/ProtocolBuffersLite.Test/ProtocolBuffersLite.Test.csproj @@ -39,13 +39,9 @@ true - + False - ..\..\lib\NUnit 2.2.8.0\nunit.framework.dll - - - False - ..\..\lib\Rhino.Mocks.dll + ..\..\lib\NUnit\lib\nunit.framework.dll @@ -53,6 +49,9 @@ + + Microsoft.VisualStudio.TestTools.cs + Properties\AssemblyInfo.cs @@ -73,6 +72,7 @@ + @@ -93,4 +93,10 @@ --> + + Program + $(ProjectDir)..\..\lib\NUnit\tools\nunit-console.exe + /nologo /noshadow /labels /wait $(AssemblyName).dll + $(ProjectDir)$(OutputPath) + \ No newline at end of file diff --git a/src/ProtocolBuffersLite.Test/ProtocolBuffersLiteMixed.Test(Silverlight).csproj b/src/ProtocolBuffersLite.Test/ProtocolBuffersLiteMixed.Test(Silverlight).csproj new file mode 100644 index 0000000000..424ee70f96 --- /dev/null +++ b/src/ProtocolBuffersLite.Test/ProtocolBuffersLiteMixed.Test(Silverlight).csproj @@ -0,0 +1,142 @@ + + + Debug_Silverlight + AnyCPU + 9.0.30729 + 2.0 + {63B8D05E-4581-4B92-B8D5-77E702535C7F} + {A1591282-1198-4647-A2B1-27E5FF5F6F3B};{fae04ec0-301f-11d3-bf4b-00c04f79efbc} + Library + Properties + Google.ProtocolBuffers + Google.ProtocolBuffersLiteMixed.Test + v2.0 + true + + + true + true + Google.ProtocolBuffersLiteMixed.Test.xap + Properties\AppManifest.xml + Google.ProtocolBuffers.App + TestPage.html + true + false + false + + + 3.5 + + + publish\ + true + Disk + false + Foreground + 7 + Days + false + false + true + 0 + 1.0.0.%2a + false + false + true + v2.0 + + + true + full + false + bin\Debug_Silverlight + DEBUG;TRACE;SILVERLIGHT + true + true + prompt + 4 + 3021 + + + pdbonly + true + bin\Release_Silverlight + TRACE;SILVERLIGHT + true + true + prompt + 4 + 3021 + + + + False + ..\..\lib\Microsoft.Silverlight.Testing\April2010\Microsoft.Silverlight.Testing.dll + + + False + ..\..\lib\Microsoft.Silverlight.Testing\April2010\Microsoft.VisualStudio.QualityTools.UnitTesting.Silverlight.dll + + + + + + + + + + + Properties\AssemblyInfo.cs + + + App.xaml + + + + + + + + + + + + + + + + + + + + + + MSBuild:Compile + Designer + + + + + {7E4E681E-5D09-43FB-8D9E-35A454730A85} + ProtocolBuffers%28Silverlight%29 + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/ProtocolBuffersLite.Test/ProtocolBuffersLiteMixed.Test.csproj b/src/ProtocolBuffersLite.Test/ProtocolBuffersLiteMixed.Test.csproj index d61d6651f2..e516198a43 100644 --- a/src/ProtocolBuffersLite.Test/ProtocolBuffersLiteMixed.Test.csproj +++ b/src/ProtocolBuffersLite.Test/ProtocolBuffersLiteMixed.Test.csproj @@ -39,13 +39,9 @@ 4 - + False - ..\..\lib\NUnit 2.2.8.0\nunit.framework.dll - - - False - ..\..\lib\Rhino.Mocks.dll + ..\..\lib\NUnit\lib\nunit.framework.dll @@ -53,6 +49,9 @@ + + Microsoft.VisualStudio.TestTools.cs + Properties\AssemblyInfo.cs @@ -71,6 +70,7 @@ + @@ -86,4 +86,10 @@ --> + + Program + $(ProjectDir)..\..\lib\NUnit\tools\nunit-console.exe + /nologo /noshadow /labels /wait $(AssemblyName).dll + $(ProjectDir)$(OutputPath) + \ No newline at end of file diff --git a/src/ProtocolBuffersLite.Test/SerializableAttribute.cs b/src/ProtocolBuffersLite.Test/SerializableAttribute.cs new file mode 100644 index 0000000000..04fcdcbadd --- /dev/null +++ b/src/ProtocolBuffersLite.Test/SerializableAttribute.cs @@ -0,0 +1,12 @@ +#if SILVERLIGHT + +namespace System +{ + [AttributeUsage(AttributeTargets.Class)] + public class SerializableAttribute : Attribute + { + public SerializableAttribute () : base() { } + } +} + +#endif diff --git a/src/ProtocolBuffersLite.Test/SerializableLiteTest.cs b/src/ProtocolBuffersLite.Test/SerializableLiteTest.cs index 7c12ef4033..a688a909e0 100644 --- a/src/ProtocolBuffersLite.Test/SerializableLiteTest.cs +++ b/src/ProtocolBuffersLite.Test/SerializableLiteTest.cs @@ -5,11 +5,11 @@ using System.Runtime.Serialization; using System.Runtime.Serialization.Formatters.Binary; using System.Text; using Google.ProtocolBuffers.TestProtos; -using NUnit.Framework; +using Microsoft.VisualStudio.TestTools.UnitTesting; namespace Google.ProtocolBuffers { - [TestFixture] + [TestClass] public class SerializableLiteTest { /// @@ -18,7 +18,7 @@ namespace Google.ProtocolBuffers public static readonly ISerializable CompileTimeCheckSerializableMessage = TestRequiredLite.DefaultInstance; public static readonly ISerializable CompileTimeCheckSerializableBuilder = new TestRequiredLite.Builder(); - [Test] + [TestMethod] public void TestPlainMessage() { TestRequiredLite message = TestRequiredLite.CreateBuilder() @@ -34,7 +34,7 @@ namespace Google.ProtocolBuffers Assert.AreEqual(message, copy); } - [Test] + [TestMethod] public void TestPlainBuilder() { TestRequiredLite.Builder builder = TestRequiredLite.CreateBuilder() diff --git a/src/ProtocolBuffersLite.Test/TestLiteByApi.cs b/src/ProtocolBuffersLite.Test/TestLiteByApi.cs index 5fee2ecbc3..ce37302860 100644 --- a/src/ProtocolBuffersLite.Test/TestLiteByApi.cs +++ b/src/ProtocolBuffersLite.Test/TestLiteByApi.cs @@ -35,14 +35,14 @@ #endregion using Google.ProtocolBuffers.TestProtos; -using NUnit.Framework; +using Microsoft.VisualStudio.TestTools.UnitTesting; namespace Google.ProtocolBuffers { - [TestFixture] + [TestClass] public class TestLiteByApi { - [Test] + [TestMethod] public void TestAllTypesEquality() { TestAllTypesLite msg = TestAllTypesLite.DefaultInstance; @@ -57,7 +57,7 @@ namespace Google.ProtocolBuffers Assert.IsTrue(msg.Equals(copy)); } - [Test] + [TestMethod] public void TestEqualityOnExtensions() { TestAllExtensionsLite msg = TestAllExtensionsLite.DefaultInstance; @@ -72,13 +72,13 @@ namespace Google.ProtocolBuffers Assert.IsTrue(msg.Equals(copy)); } - [Test] + [TestMethod] public void TestAllTypesToString() { TestAllTypesLite msg = TestAllTypesLite.DefaultInstance; TestAllTypesLite copy = msg.ToBuilder().Build(); Assert.AreEqual(msg.ToString(), copy.ToString()); - Assert.IsEmpty(msg.ToString()); + Assert.AreEqual(0, msg.ToString().Length); msg = msg.ToBuilder().SetOptionalInt32(-1).Build(); Assert.AreEqual("optional_int32: -1", msg.ToString().TrimEnd()); msg = msg.ToBuilder().SetOptionalString("abc123").Build(); @@ -86,16 +86,16 @@ namespace Google.ProtocolBuffers msg.ToString().Replace("\r", "").TrimEnd()); } - [Test] + [TestMethod] public void TestAllTypesDefaultedRoundTrip() { TestAllTypesLite msg = TestAllTypesLite.DefaultInstance; Assert.IsTrue(msg.IsInitialized); TestAllTypesLite copy = TestAllTypesLite.CreateBuilder().MergeFrom(msg.ToByteArray()).Build(); - Assert.AreEqual(msg.ToByteArray(), copy.ToByteArray()); + TestUtil.AssertBytesEqual(msg.ToByteArray(), copy.ToByteArray()); } - [Test] + [TestMethod] public void TestAllTypesModifiedRoundTrip() { TestAllTypesLite msg = TestAllTypesLite.DefaultInstance; @@ -115,7 +115,7 @@ namespace Google.ProtocolBuffers .AddRepeatedGroup(TestAllTypesLite.Types.RepeatedGroup.CreateBuilder().SetA('A').Build()) ; TestAllTypesLite copy = TestAllTypesLite.CreateBuilder().MergeFrom(msg.ToByteArray()).Build(); - Assert.AreEqual(msg.ToByteArray(), copy.ToByteArray()); + TestUtil.AssertBytesEqual(msg.ToByteArray(), copy.ToByteArray()); } } } \ No newline at end of file diff --git a/src/ProtocolBuffersLite.Test/TestProtos/UnitTestRpcInteropLite.cs b/src/ProtocolBuffersLite.Test/TestProtos/UnitTestRpcInteropLite.cs index 25f488404c..535f21e6b2 100644 --- a/src/ProtocolBuffersLite.Test/TestProtos/UnitTestRpcInteropLite.cs +++ b/src/ProtocolBuffersLite.Test/TestProtos/UnitTestRpcInteropLite.cs @@ -1319,7 +1319,7 @@ namespace Google.ProtocolBuffers.TestProtos { public SearchService(pb::IRpcDispatch dispatch) : this(dispatch, true) { } public SearchService(pb::IRpcDispatch dispatch, bool dispose) { - if (null == (this.dispatch = dispatch)) throw new global::System.ArgumentNullException(); + pb::ThrowHelper.ThrowIfNull(this.dispatch = dispatch, "dispatch"); this.dispose = dispose && dispatch is global::System.IDisposable; } @@ -1349,7 +1349,7 @@ namespace Google.ProtocolBuffers.TestProtos { public Dispatch(ISearchService implementation) : this(implementation, true) { } public Dispatch(ISearchService implementation, bool dispose) { - if (null == (this.implementation = implementation)) throw new global::System.ArgumentNullException(); + pb::ThrowHelper.ThrowIfNull(this.implementation = implementation, "implementation"); this.dispose = dispose && implementation is global::System.IDisposable; } @@ -1363,7 +1363,7 @@ namespace Google.ProtocolBuffers.TestProtos { switch(methodName) { case "Search": return response.MergeFrom(implementation.Search((global::Google.ProtocolBuffers.TestProtos.SearchRequest)request)).Build(); case "RefineSearch": return response.MergeFrom(implementation.RefineSearch((global::Google.ProtocolBuffers.TestProtos.RefineSearchRequest)request)).Build(); - default: throw new global::System.MissingMethodException(typeof(ISearchService).FullName, methodName); + default: throw pb::ThrowHelper.CreateMissingMethod(typeof(ISearchService), methodName); } } } @@ -1381,7 +1381,7 @@ namespace Google.ProtocolBuffers.TestProtos { public ServerStub(pb::IRpcDispatch implementation) : this(implementation, true) { } public ServerStub(pb::IRpcDispatch implementation, bool dispose) { - if (null == (this.implementation = implementation)) throw new global::System.ArgumentNullException(); + pb::ThrowHelper.ThrowIfNull(this.implementation = implementation, "implementation"); this.dispose = dispose && implementation is global::System.IDisposable; } @@ -1393,7 +1393,7 @@ namespace Google.ProtocolBuffers.TestProtos { switch(methodName) { case "Search": return implementation.CallMethod(methodName, global::Google.ProtocolBuffers.TestProtos.SearchRequest.ParseFrom(input, registry), global::Google.ProtocolBuffers.TestProtos.SearchResponse.CreateBuilder()); case "RefineSearch": return implementation.CallMethod(methodName, global::Google.ProtocolBuffers.TestProtos.RefineSearchRequest.ParseFrom(input, registry), global::Google.ProtocolBuffers.TestProtos.SearchResponse.CreateBuilder()); - default: throw new global::System.MissingMethodException(typeof(ISearchService).FullName, methodName); + default: throw pb::ThrowHelper.CreateMissingMethod(typeof(ISearchService), methodName); } } } diff --git a/src/ProtocolBuffersLite.Test/TestUtil.cs b/src/ProtocolBuffersLite.Test/TestUtil.cs new file mode 100644 index 0000000000..44c09b9c53 --- /dev/null +++ b/src/ProtocolBuffersLite.Test/TestUtil.cs @@ -0,0 +1,31 @@ +using System; +using System.Collections.Generic; +using System.Text; +using Microsoft.VisualStudio.TestTools.UnitTesting; + +namespace Google.ProtocolBuffers +{ + class TestUtil + { + internal static void AssertBytesEqual(byte[] a, byte[] b) + { + if (a == null || b == null) + { + Assert.AreEqual(a, b); + } + else + { + Assert.AreEqual(a.Length, b.Length, "The byte[] is not of the expected length."); + + for (int i = 0; i < a.Length; i++) + { + if (a[i] != b[i]) + { + Assert.AreEqual(a[i], b[i], "Byte[] differs at index " + i); + } + } + } + } + + } +} diff --git a/src/UseVS2008.bat b/src/UseVS2008.bat new file mode 100644 index 0000000000..4cf973818c --- /dev/null +++ b/src/UseVS2008.bat @@ -0,0 +1,8 @@ +@ECHO OFF +REM ---- Converts the solution to Visual Studio 2008 ---- +PUSHD %~dp0 +ECHO Microsoft Visual Studio Solution File, Format Version 10.00> Temp.sln +ECHO # Visual Studio 2008>> Temp.sln +type ProtocolBuffers.sln | FIND /V " Visual Studio " >> Temp.sln +move /Y Temp.sln ProtocolBuffers.sln +POPD diff --git a/src/UseVS2010.bat b/src/UseVS2010.bat new file mode 100644 index 0000000000..376a08f72d --- /dev/null +++ b/src/UseVS2010.bat @@ -0,0 +1,8 @@ +@ECHO OFF +REM ---- Converts the solution to Visual Studio 2010 ---- +PUSHD %~dp0 +ECHO Microsoft Visual Studio Solution File, Format Version 11.00> Temp.sln +ECHO # Visual Studio 2010>> Temp.sln +type ProtocolBuffers.sln | FIND /V " Visual Studio " >> Temp.sln +move /Y Temp.sln ProtocolBuffers.sln +POPD diff --git a/src/copysolution.bat b/src/copysolution.bat deleted file mode 100644 index 6521e6e800..0000000000 --- a/src/copysolution.bat +++ /dev/null @@ -1,24 +0,0 @@ -@ECHO OFF -IF "%1" == "2008" GOTO COPY2008 -IF "%1" == "2010" GOTO COPY2010 -GOTO HELP - -:COPY2008 -type ProtocolBuffers.sln | FIND " Visual Studio " > Temp.sln -type ProtocolBuffers2008.sln | FIND /V " Visual Studio " >> Temp.sln -move /Y Temp.sln ProtocolBuffers.sln -GOTO EXIT - -:COPY2010 -type ProtocolBuffers2008.sln | FIND " Visual Studio " > Temp.sln -type ProtocolBuffers.sln | FIND /V " Visual Studio " >> Temp.sln -move /Y Temp.sln ProtocolBuffers2008.sln -GOTO EXIT - -:HELP -ECHO. -ECHO Specify the Visiual Studio edition (2008/2010) -ECHO Example: %~nx0 2008 -ECHO. - -:EXIT \ No newline at end of file