diff --git a/.gitignore b/.gitignore index 5697f04..62840e3 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,35 @@ -*.csproj.user + +#ignore thumbnails created by windows +Thumbs.db +#Ignore files build by Visual Studio +*.obj +*.exe +*.pdb +*.user +*.aps +*.pch +*.vspscc +*_i.c +*_p.c +*.ncb *.suo -bin -obj -packages +*.tlb +*.tlh +*.bak +*.cache +*.ilk +*.log +[Bb]in +[Dd]ebug*/ +*.lib +*.sbr +obj/ +[Rr]elease*/ +_ReSharper*/ +[Tt]est[Rr]esult* +build/ +deploy/ +docs/ +tools/FAKE/templates/ +test/ +*_Spliced.* diff --git a/HttpMachine.Tests/packages.config b/HttpMachine.Tests/packages.config deleted file mode 100644 index 5aef580..0000000 --- a/HttpMachine.Tests/packages.config +++ /dev/null @@ -1,4 +0,0 @@ - - - - \ No newline at end of file diff --git a/HttpMachine.sln b/HttpMachine.sln index df6e85e..1e91dbe 100644 --- a/HttpMachine.sln +++ b/HttpMachine.sln @@ -1,9 +1,17 @@  Microsoft Visual Studio Solution File, Format Version 11.00 # Visual Studio 2010 -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HttpMachine", "HttpMachine\HttpMachine.csproj", "{76FB25C5-15B1-4541-8D19-D78790257C95}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HttpMachine", "src\HttpMachine\HttpMachine.csproj", "{76FB25C5-15B1-4541-8D19-D78790257C95}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HttpMachine.Tests", "HttpMachine.Tests\HttpMachine.Tests.csproj", "{75BEA10B-761A-474F-9522-57E8974B52D6}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HttpMachine.Tests", "src\HttpMachine.Tests\HttpMachine.Tests.csproj", "{75BEA10B-761A-474F-9522-57E8974B52D6}" +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{53A0F2F3-7516-49F0-A6E6-FFB9FF0D9FD1}" + ProjectSection(SolutionItems) = preProject + build.bat = build.bat + build.fsx = build.fsx + LICENSE.txt = LICENSE.txt + README.md = README.md + EndProjectSection EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution diff --git a/LICENSE b/LICENSE.txt similarity index 100% rename from LICENSE rename to LICENSE.txt diff --git a/build.bat b/build.bat new file mode 100644 index 0000000..ac4e760 --- /dev/null +++ b/build.bat @@ -0,0 +1,4 @@ +@echo off +cls +"lib\FAKE\Fake.exe" "build.fsx" +pause diff --git a/build.fsx b/build.fsx new file mode 100644 index 0000000..41a2a7c --- /dev/null +++ b/build.fsx @@ -0,0 +1,130 @@ +#I "lib/FAKE" +#r "FakeLib.dll" +open Fake +open Fake.MSBuild + +(* properties *) +let projectName = "HttpMachine" +let version = "1.0.0-pre" +let projectSummary = "HttpMachine is a .NET HTTP request parser." +let projectDescription = "HttpMachine is a .NET HTTP request parser." +let authors = ["Benjamin van der Veen"] +let mail = "b@bvanderveen.com" +let homepage = "https://github.com/bvanderveen/httpmachine" + +(* Directories *) +let buildDir = "./build/" +let docsDir = "./docs/" +let deployDir = "./deploy/" +let testDir = "./test/" +let nugetDir = "./nuget/" + +(* Tools *) +let nunitPath = "./packages/NUnit.2.5.9.10348/Tools" +let nunitOutput = testDir + "TestResults.xml" +let zipFileName = deployDir + sprintf "%s-%s.zip" projectName version + +(* files *) +let appReferences = + !+ @"src\**\*.csproj" + ++ @"src\**\*.fsproj" + -- "**\*_Spliced*" + |> Scan + +let filesToZip = + !+ (buildDir + "/**/*.*") + -- "*.zip" + |> Scan + +(* Targets *) +Target? Clean <- + fun _ -> CleanDirs [buildDir; testDir; deployDir; docsDir; nugetDir] + +Target? BuildApp <- + fun _ -> + if not isLocalBuild then + AssemblyInfo + (fun p -> + {p with + CodeLanguage = FSharp; + AssemblyVersion = buildVersion; + AssemblyTitle = projectName; + AssemblyDescription = projectDescription; + Guid = "1e95a279-c2a9-498b-bc72-6e7a0d6854ce"; + OutputFileName = "./src/AssemblyInfo.fs"}) + + appReferences + |> MSBuildRelease buildDir "Build" + |> Log "AppBuild-Output: " + +Target? BuildTest <- + fun _ -> + appReferences + |> MSBuildDebug testDir "Build" + |> Log "TestBuild-Output: " + +Target? Test <- + fun _ -> + !+ (testDir + "/*.dll") + |> Scan + |> NUnit (fun p -> + {p with + ToolPath = nunitPath; + DisableShadowCopy = true; + OutputFile = nunitOutput}) + +Target? GenerateDocumentation <- + fun _ -> + !+ (buildDir + "Cashel.dll") + |> Scan + |> Docu (fun p -> + {p with + ToolPath = "./lib/FAKE/docu.exe" + TemplatesPath = "./lib/FAKE/templates" + OutputPath = docsDir }) + +Target? CopyLicense <- + fun _ -> + [ "LICENSE.txt" ] |> CopyTo buildDir + +Target? BuildZip <- + fun _ -> Zip buildDir zipFileName filesToZip + +Target? ZipDocumentation <- + fun _ -> + let docFiles = + !+ (docsDir + "/**/*.*") + |> Scan + let zipFileName = deployDir + sprintf "Documentation-%s.zip" version + Zip docsDir zipFileName docFiles + +Target? CreateNuGet <- + fun _ -> + let nugetDocsDir = nugetDir @@ "docs/" + let nugetToolsDir = nugetDir @@ "lib/" + + XCopy docsDir nugetDocsDir + XCopy buildDir nugetToolsDir + + NuGet (fun p -> + {p with + Authors = authors + Project = projectName + Description = projectDescription + OutputPath = nugetDir }) "Cashel.nuspec" + +Target? Default <- DoNothing +Target? Deploy <- DoNothing + +// Dependencies +For? BuildApp <- Dependency? Clean +For? Test <- Dependency? BuildApp |> And? BuildTest +For? GenerateDocumentation <- Dependency? BuildApp +For? ZipDocumentation <- Dependency? GenerateDocumentation +For? BuildZip <- Dependency? BuildApp |> And? CopyLicense +For? CreateNuGet <- Dependency? Test |> And? BuildZip |> And? ZipDocumentation +For? Deploy <- Dependency? Test |> And? BuildZip |> And? ZipDocumentation +For? Default <- Dependency? Deploy + +// start build +Run? Default diff --git a/lib/FAKE/DocuLicense.txt b/lib/FAKE/DocuLicense.txt new file mode 100644 index 0000000..e0711f4 --- /dev/null +++ b/lib/FAKE/DocuLicense.txt @@ -0,0 +1,10 @@ +Copyright (c) 2009, James Gregory +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. + * The name of James Gregory may not 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 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/lib/FAKE/FAKE.exe b/lib/FAKE/FAKE.exe new file mode 100644 index 0000000..d7ad6f4 Binary files /dev/null and b/lib/FAKE/FAKE.exe differ diff --git a/lib/FAKE/FAKE.exe.config b/lib/FAKE/FAKE.exe.config new file mode 100644 index 0000000..40c6695 --- /dev/null +++ b/lib/FAKE/FAKE.exe.config @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/lib/FAKE/FSharp.Core.dll b/lib/FAKE/FSharp.Core.dll new file mode 100644 index 0000000..5150818 Binary files /dev/null and b/lib/FAKE/FSharp.Core.dll differ diff --git a/lib/FAKE/FSharp.Core.optdata b/lib/FAKE/FSharp.Core.optdata new file mode 100644 index 0000000..260d9c6 Binary files /dev/null and b/lib/FAKE/FSharp.Core.optdata differ diff --git a/lib/FAKE/FSharp.Core.sigdata b/lib/FAKE/FSharp.Core.sigdata new file mode 100644 index 0000000..4c4e843 Binary files /dev/null and b/lib/FAKE/FSharp.Core.sigdata differ diff --git a/lib/FAKE/FSharp.Core.xml b/lib/FAKE/FSharp.Core.xml new file mode 100644 index 0000000..05f4184 --- /dev/null +++ b/lib/FAKE/FSharp.Core.xml @@ -0,0 +1,9219 @@ + + +FSharp.Core + + + + + + + + + + + + + + + + + + + + + + + + + + + Gets the tail of the list, which is a list containing all the elements of the list, excluding the first element + + + Gets the number of items contained in the list + + + Gets the element of the list at the given position. + Lists are represented as linked lists so this is an O(n) operation. + The index. + The value at the given index. + + + Gets a value indicating if the list contains no entries + + + Gets the first element of the list + + + Returns an empty list of a particular type + + + Returns a list with head as its first element and tail as its subsequent elements + A new head value for the list. + The existing list. + The list with head appended to the front of tail. + + + The type of immutable singly-linked lists. + + Use the constructors [] and :: (infix) to create values of this type, or + the notation [1;2;3]. Use the values in the List module to manipulate + values of this type, or pattern match against the values directly. + + + Lookup an element in the map. Raise KeyNotFoundException if no binding + exists in the map. + The input key. + Thrown when the key is not found. + The value mapped to the key. + + + Returns true if there are no bindings in the map. + + + The number of bindings in the map. + + + Lookup an element in the map, returning a Some value if the element is in the domain + of the map and None if not. + The input key. + The mapped value, or None if the key is not in the map. + + + Removes an element from the domain of the map. No exception is raised if the element is not present. + The input key. + The resulting map. + + + + + + Tests if an element is in the domain of the map. + The input key. + True if the map contains the given key. + + + Returns a new map with the binding added to the given map. + The input key. + The resulting map. + + + Builds a map that contains the bindings of the given IEnumerable. + The input sequence of key/value pairs. + The resulting map. + + + Immutable maps. Keys are ordered by F# generic comparison. + + Maps based on generic comparison are efficient for small keys. They are not a suitable choice if keys are recursive data structures + or if keys require bespoke comparison semantics. + + All members of this class are thread-safe and may be used concurrently from multiple threads. + + + An abbreviation for the CLI type System.Collections.Generic.List<_> + + + Returns a new set with the elements of the second set removed from the first. + The first input set. + The second input set. + A set containing elements of the first set that are not contained in the second set. + + + Compute the union of the two sets. + The first input set. + The second input set. + The union of the two input sets. + + + Returns the lowest element in the set according to the ordering being used for the set. + + + Returns the highest element in the set according to the ordering being used for the set. + + + A useful shortcut for Set.isEmpty. See the Set module for further operations on sets. + + + The number of elements in the set + + + A useful shortcut for Set.remove. Note this operation produces a new set + and does not mutate the original set. The new set will share many storage + nodes with the original. See the Set module for further operations on sets. + The value to remove from the set. + The result set. + + + Evaluates to "true" if all elements of the second set are in the first. + The set to test against. + True if this set is a superset of otherSet. + + + Evaluates to "true" if all elements of the first set are in the second. + The set to test against. + True if this set is a subset of otherSet. + + + Evaluates to "true" if all elements of the second set are in the first, and at least + one element of the first is not in the second. + The set to test against. + True if this set is a proper superset of otherSet. + + + Evaluates to "true" if all elements of the first set are in the second, and at least + one element of the second is not in the first. + The set to test against. + True if this set is a proper subset of otherSet. + + + + + + A useful shortcut for Set.contains. See the Set module for further operations on sets. + The value to check. + True if the set contains value. + + + A useful shortcut for Set.add. Note this operation produces a new set + and does not mutate the original set. The new set will share many storage + nodes with the original. See the Set module for further operations on sets. + The value to add to the set. + The result set. + + + Create a set containing elements drawn from the given sequence. + The input sequence. + The result set. + + + Immutable sets based on binary trees, where comparison is the + F# structural comparison function, potentially using implementations + of the IComparable interface on key values. + + See the Set module for further operations on sets. + + All members of this class are thread-safe and may be used concurrently from multiple threads. + + + An abbreviation for the type of immutable singly-linked lists. + + Use the constructors [] and :: (infix) to create values of this type, or + the notation [1;2;3]. Use the values in the List module to manipulate + values of this type, or pattern match against the values directly. + + + An abbreviation for the CLI type System.Collections.Generic.IEnumerable<_> + + + Fetches an element from a 2D array. You can also use the syntax array.[index1,index2]. + + The input array. + The index along the first dimension. + The index along the second dimension. + + The value of the array at the given index. + Thrown when the indices are negative or exceed the bounds of the array. + + + Sets the value of an element in an array. You can also use the syntax array.[index1,index2] <- value. + + The input array. + The index along the first dimension. + The index along the second dimension. + The value to set in the array. + Thrown when the indices are negative or exceed the bounds of the array. + + + Builds a new array whose elements are the same as the input array but + where a non-zero-based input array generates a corresponding zero-based + output array. + + The input array. + + The zero-based output array. + + + Builds a new array whose elements are the results of applying the given function + to each of the elements of the array. The integer indices passed to the + function indicates the element being transformed. + + For non-zero-based arrays the basing on an input array will be propagated to the output + array. + + A function that is applied to transform each element of the array. The two integers + provide the index of the element. + The input array. + + An array whose elements have been transformed by the given mapping. + + + Builds a new array whose elements are the results of applying the given function + to each of the elements of the array. + + For non-zero-based arrays the basing on an input array will be propogated to the output + array. + + A function that is applied to transform each item of the input array. + The input array. + + An array whose elements have been transformed by the given mapping. + + + Returns the length of an array in the second dimension. + + The input array. + + The length of the array in the second dimension. + + + Returns the length of an array in the first dimension. + + The input array. + + The length of the array in the first dimension. + + + Applies the given function to each element of the array. The integer indices passed to the + function indicates the index of element. + + A function to apply to each element of the array with the indices available as an argument. + The input array. + + + Applies the given function to each element of the array. + + A function to apply to each element of the array. + The input array. + + + Creates a based array where the entries are initially Unchecked.defaultof<'T>. + + The base for the first dimension of the array. + The base for the second dimension of the array. + The length of the first dimension of the array. + The length of the second dimension of the array. + + The created array. + Thrown when base1, base2, length1, or length2 is negative. + + + Creates a based array whose elements are all initially the given value. + + The base for the first dimension of the array. + The base for the second dimension of the array. + The length of the first dimension of the array. + The length of the second dimension of the array. + The value to populate the new array. + + The created array. + Thrown when base1, base2, length1, or length2 is negative. + + + Creates a based array given the dimensions and a generator function to compute the elements. + + The base for the first dimension of the array. + The base for the second dimension of the array. + The length of the first dimension of the array. + The length of the second dimension of the array. + A function to produce elements of the array given the two indices. + + The created array. + Thrown when base1, base2, length1, or length2 is negative. + + + Creates an array where the entries are initially Unchecked.defaultof<'T>. + + The length of the first dimension of the array. + The length of the second dimension of the array. + + The created array. + Thrown when length1 or length2 is negative. + + + Creates an array whose elements are all initially the given value. + + The length of the first dimension of the array. + The length of the second dimension of the array. + The value to populate the new array. + + The created array. + Thrown when length1 or length2 is negative. + + + Creates an array given the dimensions and a generator function to compute the elements. + + The length of the first dimension of the array. + The length of the second dimension of the array. + A function to produce elements of the array given the two indices. + + The generated array. + Thrown when either of the lengths is negative. + + + Reads a range of elements from the first array and write them into the second. + + The source array. + The first-dimension index to begin copying from in the source array. + The second-dimension index to begin copying from in the source array. + The target array. + The first-dimension index to begin copying into in the target array. + The second-dimension index to begin copying into in the target array. + The number of elements to copy across the first dimension of the arrays. + The number of elements to copy across the second dimension of the arrays. + Thrown when any of the indices are negative or if either of + the counts are larger than the dimensions of the array allow. + + + Builds a new array whose elements are the same as the input array. + + For non-zero-based arrays the basing on an input array will be propogated to the output + array. + + The input array. + + A copy of the input array. + + + Fetches the base-index for the second dimension of the array. + + The input array. + + The base-index of the second dimension of the array. + + + Fetches the base-index for the first dimension of the array. + + The input array. + + The base-index of the first dimension of the array. + + + Basic operations on 2-dimensional arrays. + + F# and CLI multi-dimensional arrays are typically zero-based. + However, CLI multi-dimensional arrays used in conjunction with external + libraries (e.g. libraries associated with Visual Basic) be + non-zero based, using a potentially different base for each dimension. + The operations in this module will accept such arrays, and + the basing on an input array will be propagated to a matching output + array on the Array2D.map and Array2D.mapi operations. + Non-zero-based arrays can also be created using Array2D.zeroCreateBased, + Array2D.createBased and Array2D.initBased. + + + Creates an array where the entries are initially the "default" value. + The length of the first dimension. + The length of the second dimension. + The length of the third dimension. + The created array. + + + Sets the value of an element in an array. You can also + use the syntax 'array.[index1,index2,index3] <- value'. + The input array. + The index along the first dimension. + The index along the second dimension. + The index along the third dimension. + The value to set at the given index. + + + Builds a new array whose elements are the results of applying the given function + to each of the elements of the array. The integer indices passed to the + function indicates the element being transformed. + + For non-zero-based arrays the basing on an input array will be propogated to the output + array. + The function to transform the elements at each index in the array. + The input array. + The array created from the transformed elements. + + + Builds a new array whose elements are the results of applying the given function + to each of the elements of the array. + + For non-zero-based arrays the basing on an input array will be propogated to the output + array. + The function to transform each element of the array. + The input array. + The array created from the transformed elements. + + + Returns the length of an array in the third dimension. + The input array. + The length of the array in the third dimension. + + + Returns the length of an array in the second dimension. + The input array. + The length of the array in the second dimension. + + + Returns the length of an array in the first dimension + The input array. + The length of the array in the first dimension. + + + Applies the given function to each element of the array. The integer indicies passed to the + function indicates the index of element. + The function to apply to each element of the array. + The input array. + + + Applies the given function to each element of the array. + The function to apply to each element of the array. + The input array. + + + Fetches an element from a 3D array. You can also use the syntax 'array.[index1,index2,index3]' + The input array. + The index along the first dimension. + The index along the second dimension. + The index along the third dimension. + The value at the given index. + + + Creates an array given the dimensions and a generator function to compute the elements. + The length of the first dimension. + The length of the second dimension. + The length of the third dimension. + The function to create an initial value at each index into the array. + The created array. + + + Creates an array whose elements are all initially the given value. + The length of the first dimension. + The length of the second dimension. + The length of the third dimension. + The value of the array elements. + The created array. + + + Basic operations on rank 3 arrays. + + + Sets the value of an element in an array. You can also + use the syntax 'array.[index1,index2,index3,index4] <- value'. + The input array. + The index along the first dimension. + The index along the second dimension. + The index along the third dimension. + The index along the fourth dimension. + The value to set. + + + Fetches an element from a 4D array. You can also use the syntax 'array.[index1,index2,index3,index4]' + The input array. + The index along the first dimension. + The index along the second dimension. + The index along the third dimension. + The index along the fourth dimension. + The value at the given index. + + + Creates an array where the entries are initially the "default" value. + The length of the first dimension. + The length of the second dimension. + The length of the third dimension. + The length of the fourth dimension. + The created array. + + + Returns the length of an array in the fourth dimension. + The input array. + The length of the array in the fourth dimension. + + + Returns the length of an array in the third dimension. + The input array. + The length of the array in the third dimension. + + + Returns the length of an array in the second dimension. + The input array. + The length of the array in the second dimension. + + + Returns the length of an array in the first dimension + The input array. + The length of the array in the first dimension. + + + Creates an array given the dimensions and a generator function to compute the elements. + The length of the first dimension. + The length of the second dimension. + The length of the third dimension. + The length of the fourth dimension. + The function to create an initial value at each index in the array. + The created array. + + + Creates an array whose elements are all initially the given value + The length of the first dimension. + The length of the second dimension. + The length of the third dimension. + The length of the fourth dimension. + The initial value for each element of the array. + The created array. + + + Basic operations on rank 4 arrays. + + + Combines three arrays into an array of pairs. The three arrays must have equal lengths, otherwise an ArgumentException is + raised. + The first input array. + The second input array. + The third input array. + Thrown when the input arrays differ in length. + The array of tupled elements. + + + Combines the two arrays into an array of pairs. The two arrays must have equal lengths, otherwise an ArgumentException is + raised. + The first input array. + The second input array. + Thrown when the input arrays differ in length. + The array of tupled elements. + + + Splits an array of triples into three arrays. + The input array. + The tuple of three arrays. + + + Splits an array of pairs into two arrays. + The input array. + The two arrays. + + + Returns the index of the first element in the array + that satisfies the given predicate. + The function to test the input elements. + The input array. + The index of the first element that satisfies the predicate, or None. + + + Returns the first element for which the given function returns true. + Return None if no such element exists. + The function to test the input elements. + The input array. + The first element that satisfies the predicate, or None. + + + Views the given array as a sequence. + The input array. + The sequence of array elements. + + + Builds a list from the given array. + The input array. + The list of array elements. + + + Returns the sum of the results generated by applying the function to each element of the array. + The function to transform the array elements into the type to be summed. + The input array. + The resulting sum. + + + Returns the sum of the elements in the array. + The input array. + The resulting sum. + + + Sorts the elements of an array by mutating the array in-place, using the given comparison function. + Elements are compared using Operators.compare. + The input array. + + + Sorts the elements of an array by mutating the array in-place, using the given comparison function as the order. + The function to compare pairs of array elements. + The input array. + + + Sorts the elements of an array by mutating the array in-place, using the given projection for the keys. + Elements are compared using Operators.compare. + + This is not a stable sort, i.e. the original order of equal elements is not necessarily preserved. + For a stable sort, consider using Seq.sort. + The function to transform array elements into the type that is compared. + The input array. + + + Sorts the elements of an array, using the given comparison function as the order, returning a new array. + + This is not a stable sort, i.e. the original order of equal elements is not necessarily preserved. + For a stable sort, consider using Seq.sort. + The function to compare pairs of array elements. + The input array. + The sorted array. + + + Sorts the elements of an array, using the given projection for the keys and returning a new array. + Elements are compared using Operators.compare. + + This is not a stable sort, i.e. the original order of equal elements is not necessarily preserved. + For a stable sort, consider using Seq.sort. + The function to transform array elements into the type that is compared. + The input array. + The sorted array. + + + Sorts the elements of an array, returning a new array. Elements are compared using Operators.compare. + + This is not a stable sort, i.e. the original order of equal elements is not necessarily preserved. + For a stable sort, consider using Seq.sort. + The input array. + The sorted array. + + + Builds a new array that contains the given subrange specified by + starting index and length. + The input array. + The index of the first element of the sub array. + The length of the sub array. + The created sub array. + + + Sets an element of an array. + The input array. + The input index. + The input value. + + + Like foldBack, but return both the intermediary and final results. + The function to update the state given the input elements. + The input array. + The initial state. + The array of state values. + + + Like fold, but return the intermediary and final results. + The function to update the state given the input elements. + The initial state. + The input array. + The array of state values. + + + Returns a new array with the elements in reverse order. + The input array. + The reversed array. + + + Applies a function to each element of the array, threading an accumulator argument + through the computation. If the input function is f and the elements are i0...iN + then computes f i0 (...(f iN-1 iN)). + Raises ArgumentException if the array has size zero. + The function to reduce a pair of elements to a single element. + The input array. + Thrown when the input array is empty. + The final result of the reductions. + + + Applies a function to each element of the array, threading an accumulator argument + through the computation. If the input function is f and the elements are i0...iN + then computes f (... (f i0 i1)...) iN. + Raises ArgumentException if the array has size zero. + The function to reduce a pair of elements to a single element. + The input array. + Thrown when the input array is empty. + The final result of the redcutions. + + + Returns an array with all elements permuted according to the + specified permutation. + The function that maps input indices to output indices. + The input array. + The output array. + + + Splits the collection into two collections, containing the + elements for which the given predicate returns "true" and "false" + respectively. + The function to test the input elements. + The input array. + A pair of arrays. The first containing the elements the predicate evaluated to true, + and the second containing those evaluated to false. + + + Builds a new array from the given enumerable object. + The input sequence. + The array of elements from the sequence. + + + Builds an array from the given list. + The input list. + The array of elements from the list. + + + Returns the lowest of all elements of the array, compared via Operators.min on the function result. + + Throws ArgumentException for empty arrays. + The function to transform the elements into a type supporting comparison. + The input array. + Thrown when the input array is empty. + The minimum element. + + + Returns the lowest of all elements of the array, compared via Operators.min. + + Throws ArgumentException for empty arrays + The input array. + Thrown when the input array is empty. + The minimum element. + + + Returns the greatest of all elements of the array, compared via Operators.max on the function result. + + Throws ArgumentException for empty arrays. + The function to transform the elements into a type supporting comparison. + The input array. + Thrown when the input array is empty. + The maximum element. + + + Returns the greatest of all elements of the array, compared via Operators.max on the function result. + + Throws ArgumentException for empty arrays. + The input array. + Thrown when the input array is empty. + The maximum element. + + + Builds a new array whose elements are the results of applying the given function + to each of the elements of the array. The integer index passed to the + function indicates the index of element being transformed. + The function to transform elements and their indices. + The input array. + The array of transformed elements. + + + Builds a new collection whose elements are the results of applying the given function + to the corresponding elements of the two collections pairwise, also passing the index of + the elements. The two input arrays must have the same lengths, otherwise an ArgumentException is + raised. + The function to transform pairs of input elements and their indices. + The first input array. + The second input array. + Thrown when the input arrays differ in length. + The array of transformed elements. + + + Builds a new collection whose elements are the results of applying the given function + to the corresponding elements of the two collections pairwise. The two input + arrays must have the same lengths, otherwise an ArgumentException is + raised. + The function to transform the pairs of the input elements. + The first input array. + The second input array. + Thrown when the input arrays differ in length. + The array of transformed elements. + + + Builds a new array whose elements are the results of applying the given function + to each of the elements of the array. + The function to transform elements of the array. + The input array. + The array of transformed elements. + + + Returns the length of an array. You can also use property arr.Length. + The input array. + The length of the array. + + + Applies the given function to pair of elements drawn from matching indices in two arrays, + also passing the index of the elements. The two arrays must have the same lengths, + otherwise an ArgumentException is raised. + The function to apply to each index and pair of elements. + The first input array. + The second input array. + Thrown when the input arrays differ in length. + + + Applies the given function to each element of the array. The integer passed to the + function indicates the index of element. + The function to apply to each index and element. + The input array. + + + Applies the given function to pair of elements drawn from matching indices in two arrays. The + two arrays must have the same lengths, otherwise an ArgumentException is + raised. + The function to apply. + The first input array. + The second input array. + Thrown when the input arrays differ in length. + + + Applies the given function to each element of the array. + The function to apply. + The input array. + + + Returns true if the given array is empty, otherwise false. + The input array. + True if the array is empty. + + + Creates an array where the entries are initially the default value Unchecked.defaultof<'T>. + The length of the array to create. + The created array. + + + Creates an array given the dimension and a generator function to compute the elements. + The number of elements to initialize. + The function to generate the initial values for each index. + The created array. + + + Gets an element from an array. + The input array. + The input index. + The value of the array at the given index. + + + Apply a function to pairs of elements drawn from the two collections, right-to-left, + threading an accumulator argument through the computation. The two input + arrays must have the same lengths, otherwise an ArgumentException is + raised. + The function to update the state given the input elements. + The first input array. + The second input array. + The initial state. + Thrown when the input arrays differ in length. + The final state. + + + Applies a function to pairs of elements drawn from the two collections, + left-to-right, threading an accumulator argument + through the computation. The two input + arrays must have the same lengths, otherwise an ArgumentException is + raised. + The function to update the state given the input elements. + The initial state. + The first input array. + The second input array. + Thrown when the input arrays differ in length. + The final state. + + + Applies a function to each element of the array, threading an accumulator argument + through the computation. If the input function is f and the elements are i0...iN then computes + f i0 (...(f iN s)) + The function to update the state given the input elements. + The input array. + The initial state. + The final state. + + + Applies a function to each element of the collection, threading an accumulator argument + through the computation. If the input function is f and the elements are i0...iN then computes + f (... (f s i0)...) iN + The function to update the state given the input elements. + The initial state. + The input array. + The final state. + + + Tests if all corresponding elements of the array satisfy the given predicate pairwise. + + The predicate is applied to matching elements in the two collections up to the lesser of the + two lengths of the collections. If any application returns false then the overall result is + false and no further elements are tested. Otherwise, if one collection is longer + than the other then the ArgumentException exception is raised. + Otherwise, true is returned. + The function to test the input elements. + The first input array. + The second input array. + Thrown when the input arrays differ in length. + True if all of the array elements satisfy the predicate. + + + Tests if all elements of the array satisfy the given predicate. + + The predicate is applied to the elements of the input collection. If any application + returns false then the overall result is false and no further elements are tested. + Otherwise, true is returned. + The function to test the input elements. + The input array. + True if all of the array elements satisfy the predicate. + + + Returns the index of the first element in the array + that satisfies the given predicate. Raise KeyNotFoundException if + none of the elements satisy the predicate. + The function to test the input elements. + The input array. + Thrown if predicate + never returns true. + The index of the first element in the array that satisfies the given predicate. + + + Returns the first element for which the given function returns 'true'. + Raise KeyNotFoundException if no such element exists. + The function to test the input elements. + The input array. + Thrown if predicate + never returns true. + The first element for which predicate returns true. + + + Returns a new collection containing only the elements of the collection + for which the given predicate returns "true". + The function to test the input elements. + The input array. + An array containing the elements for which the given predicate returns true. + + + Tests if any pair of corresponding elements of the arrays satisfies the given predicate. + + The predicate is applied to matching elements in the two collections up to the lesser of the + two lengths of the collections. If any application returns true then the overall result is + true and no further elements are tested. Otherwise, if one collections is longer + than the other then the ArgumentException exception is raised. + Otherwise, false is returned. + The function to test the input elements. + The first input array. + The second input array. + True if any result from predicate is true. + + + Tests if any element of the array satisfies the given predicate. + + The predicate is applied to the elements of the input array. If any application + returns true then the overall result is true and no further elements are tested. + Otherwise, false is returned. + The function to test the input elements. + The input array. + True if any result from predicate is true. + + + Returns an empty array of the given type. + + + Applies the given function to each element of the array. Returns + the array comprised of the results "x" for each element where + the function returns Some(x) + The function to generate options from the elements. + The input array. + The array of results. + + + Applies the given function to successive elements, returning the first + result where function returns Some(x) for some x. If the function + never returns Some(x) then KeyNotFoundException is raised. + The function to generate options from the elements. + The input array. + Thrown if every result from + chooser is None. + The first result. + + + Fills a range of elements of the array with the given value. + The target array. + The index of the first element to set. + The number of elements to set. + The value to set. + + + Applies the given function to successive elements, returning the first + result where function returns Some(x) for some x. If the function + never returns Some(x) then None is returned. + The function to transform the array elements into options. + The input array. + The first transformed element that is Some(x). + + + Creates an array whose elements are all initially the given value. + The length of the array to create. + The value for the elements. + The created array. + + + Builds a new array that contains the elements of the given array. + The input array. + A copy of the input array. + + + Builds a new array that contains the elements of each of the given sequence of arrays. + The input sequence of arrays. + The concatenation of the sequence of input arrays. + + + For each element of the array, applies the given function. Concatenates all the results and return the combined array. + The function to create sub-arrays from the input array elements. + The input array. + The concatenation of the sub-arrays. + + + Reads a range of elements from the first array and write them into the second. + The source array. + The starting index of the source array. + The target array. + The starting index of the target array. + The number of elements to copy. + + + Returns the average of the elements generated by applying the function to each element of the array. + The function to transform the array elements before averaging. + The input array. + Thrown when array is empty. + The computed average. + + + Returns the average of the elements in the array. + The input array. + Thrown when array is empty. + The average of the elements in the array. + + + Builds a new array that contains the elements of the first array followed by the elements of the second array. + The first input array. + The second input array. + The resulting array. + + + Basic operations on arrays. + + + Compare using the given comparer function. + A function to compare two values. + An object implementing IComparer using the supplied comparer. + + + Structural comparison. Compare using Operators.compare. + + + Common notions of comparison identity used with sorted data structures. + + + Hash using the given hashing and equality functions. + A function to generate a hash code from a value. + A function to test equality of two values. + An object implementing IEqualityComparer using the supplied functions. + + + Physical hashing (hash on reference identity of objects, and the contents of value types). + Hash using LanguagePrimitives.PhysicalEquality and LanguagePrimitives.PhysicalHash, + That is, for value types use GetHashCode and Object.Equals (if no other optimization available), + and for reference types use System.Runtime.CompilerServices.RuntimeHelpers.GetHashCode and + reference equality. + + + + + + Structural hashing. Hash using Operators.(=) and Operators.hash. + + + Common notions of value identity used with hash tables. + + + Combines the three lists into a list of triples. The lists must have equal lengths. + The first input list. + The second input list. + The third input list. + A single list containing triples of matching elements from the input lists. + + + Combines the two lists into a list of pairs. The two lists must have equal lengths. + The first input list. + The second input list. + A single list containing pairs of matching elements from the input lists. + + + Splits a list of triples into three lists. + The input list. + Three lists of split elements. + + + Splits a list of pairs into two lists. + The input list. + Two lists of split elements. + + + Returns the index of the first element in the list + that satisfies the given predicate. + Return None if no such element exists. + The function to test the input elements. + The input list. + The index of the first element for which the predicate returns true, or None if + every element evaluates to false. + + + Returns the first element for which the given function returns true.. + Return None if no such element exists. + The function to test the input elements. + The input list. + The first element for which the predicate returns true, or None if + every element evaluates to false. + + + Applies the given function to successive elements, returning Some(x) the first + result where function returns Some(x) for some x. If no such element + exists then return None. + The function to generate options from the elements. + The input list. + The first resulting value or None. + + + Views the given list as a sequence. + The input list. + The sequence of elements in the list. + + + Builds an array from the given list. + The input list. + The array containing the elements of the list. + + + + + + Returns the sum of the results generated by applying the function to each element of the list. + The function to transform the list elements into the type to be summed. + The input list. + The resulting sum. + + + Returns the sum of the elements in the list. + The input list. + The resulting sum. + + + Sorts the given list using Operators.compare. + + This is a stable sort, i.e. the original order of equal elements is preserved. + The input list. + The sorted list. + + + Sorts the given list using keys given by the given projection. Keys are compared using Operators.compare. + + This is a stable sort, i.e. the original order of equal elements is preserved. + The function to transform the list elements into the type to be compared. + The input list. + The sorted list. + + + Sorts the given list using the given comparison function. + + This is a stable sort, i.e. the original order of equal elements is preserved. + The function to compare the list elements. + The input list. + The sorted list. + + + Like foldBack, but returns both the intermediary and final results + The function to update the state given the input elements. + The input list. + The initial state. + The list of states. + + + Applies a function to each element of the collection, threading an accumulator argument + through the computation. Take the second argument, and apply the function to it + and the first element of the list. Then feed this result into the function along + with the second element and so on. Returns the list of intermediate results and the final result. + The function to update the state given the input elements. + The initial state. + The input list. + The list of states. + + + Returns a new list with the elements in reverse order. + The input list. + The reversed list. + + + Creates a list by calling the given generator on each index. + The number of elements to replicate. + The value to replicate + The generated list. + + + Applies a function to each element of the collection, threading an accumulator argument + through the computation. If the input function is f and the elements are i0...iN then computes + f i0 (...(f iN-1 iN)). + + Raises System.ArgumentException if list is empty + The function to reduce two list elements to a single element. + The input list. + Thrown when the list is empty. + The final reduced value. + + + Apply a function to each element of the collection, threading an accumulator argument + through the computation. Apply the function to the first two elements of the list. + Then feed this result into the function along with the third element and so on. + Return the final result. If the input function is f and the elements are i0...iN then computes + f (... (f i0 i1) i2 ...) iN. + + Raises System.ArgumentException if list is empty + The function to reduce two list elements to a single element. + The input list. + Thrown when the list is empty. + The final reduced value. + + + Returns a list with all elements permuted according to the + specified permutation. + The function to map input indices to output indices. + The input list. + The permutated list. + + + Applies the given function to successive elements, returning the first + result where function returns Some(x) for some x. If no such + element exists then raise System.Collections.Generic.KeyNotFoundException + The function to generate options from the elements. + The input list. + Thrown when the list is empty. + The first resulting value. + + + Splits the collection into two collections, containing the + elements for which the given predicate returns true and false + respectively. + The function to test the input elements. + The input list. + A list containing the elements for which the predicate evaluated to false and a list + containing the elements for which the predicate evaluated to true. + + + Builds a new list from the given enumerable object. + The input sequence. + The list of elements from the sequence. + + + Builds a list from the given array. + The input array. + The list of elements from the array. + + + Indexes into the list. The first element has index 0. + The input list. + The index to retrieve. + The value at the given index. + + + Returns the lowest of all elements of the list, compared via Operators.min on the function result + + Raises System.ArgumentException if list is empty. + The function to transform list elements into the type to be compared. + The input list. + Thrown when the list is empty. + The minimum value. + + + Returns the lowest of all elements of the list, compared via Operators.min. + + Raises System.ArgumentException if list is empty + The input list. + Thrown when the list is empty. + The minimum value. + + + Returns the greatest of all elements of the list, compared via Operators.max on the function result. + + Raises System.ArgumentException if list is empty. + The function to transform the list elements into the type to be compared. + The input list. + Thrown when the list is empty. + The maximum element. + + + Return the greatest of all elements of the list, compared via Operators.max. + + Raises System.ArgumentException if list is empty + The input list. + Thrown when the list is empty. + The maximum element. + + + Like mapi, but mapping corresponding elements from two lists of equal length. + The function to transform pairs of elements from the two lists and their index. + The first input list. + The second input list. + The list of transformed elements. + + + Builds a new collection whose elements are the results of applying the given function + to each of the elements of the collection. The integer index passed to the + function indicates the index (from 0) of element being transformed. + The function to transform elements and their indices. + The input list. + The list of transformed elements. + + + Builds a new collection whose elements are the results of applying the given function + to the corresponding elements of the three collections simultaneously. + The function to transform triples of elements from the input lists. + The first input list. + The second input list. + The third input list. + The list of transformed elements. + + + Builds a new collection whose elements are the results of applying the given function + to the corresponding elements of the two collections pairwise. + The function to transform pairs of elements from the input lists. + The first input list. + The second input list. + The list of transformed elements. + + + Builds a new collection whose elements are the results of applying the given function + to each of the elements of the collection. + The function to transform elements from the input list. + The input list. + The list of transformed elements. + + + Returns the length of the list. + The input list. + The length of the list. + + + Applies the given function to two collections simultaneously. The + collections must have identical size. The integer passed to the + function indicates the index of element. + The function to apply to a pair of elements from the input lists along with their index. + The first input list. + The second input list. + + + Applies the given function to each element of the collection. The integer passed to the + function indicates the index of element. + The function to apply to the elements of the list along with their index. + The input list. + + + Applies the given function to two collections simultaneously. The + collections must have identical size. + The function to apply to pairs of elements from the input lists. + The first input list. + The second input list. + + + Applies the given function to each element of the collection. + The function to apply to elements from the input list. + The input list. + + + Returns true if the list contains no elements, false otherwise. + The input list. + True if the list is empty. + + + Creates a list by calling the given generator on each index. + The length of the list to generate. + The function to generate an element from an index. + The list of generated elements. + + + Returns the first element of the list. + + Raises System.ArgumentException if list is empty + The input list. + Thrown when the list is empty. + The first element of the list. + + + Tests if all corresponding elements of the collection satisfy the given predicate pairwise. + + The predicate is applied to matching elements in the two collections up to the lesser of the + two lengths of the collections. If any application returns false then the overall result is + false and no further elements are tested. Otherwise, if one collection is longer + than the other then the System.ArgumentException exception is raised. + Otherwise, true is returned. + The function to test the input elements. + The first input list. + The second input list. + Thrown when the input lists differ in length. + True if all of the pairs of elements satisfy the predicate. + + + Tests if all elements of the collection satisfy the given predicate. + + The predicate is applied to the elements of the input list. If any application + returns false then the overall result is false and no further elements are tested. + Otherwise, true is returned. + The function to test the input elements. + The input list. + True if all of the elements satisfy the predicate. + + + Applies a function to corresponding elements of two collections, threading an accumulator argument + through the computation. The collections must have identical sizes. + If the input function is f and the elements are i0...iN and j0...jN + then computes f i0 j0 (...(f iN jN s)). + The function to update the state given the input elements. + The first input list. + The second input list. + The initial state. + The final state value. + + + Applies a function to each element of the collection, threading an accumulator argument + through the computation. If the input function is f and the elements are i0...iN then + computes f i0 (...(f iN s)). + The function to update the state given the input elements. + The input list. + The initial state. + The final state value. + + + Applies a function to corresponding elements of two collections, threading an accumulator argument + through the computation. The collections must have identical sizes. + If the input function is f and the elements are i0...iN and j0...jN + then computes f (... (f s i0 j0)...) iN jN. + The function to update the state given the input elements. + The initial state. + The first input list. + The second input list. + The final state value. + + + Applies a function to each element of the collection, threading an accumulator argument + through the computation. Take the second argument, and apply the function to it + and the first element of the list. Then feed this result into the function along + with the second element and so on. Return the final result. + If the input function is f and the elements are i0...iN then + computes f (... (f s i0) i1 ...) iN. + The function to update the state given the input elements. + The initial state. + The input list. + The final state value. + + + Returns a new collection containing only the elements of the collection + for which the given predicate returns "true" + The function to test the input elements. + The input list. + A list containing only the elements that satisfy the predicate. + + + Returns the index of the first element in the list + that satisfies the given predicate. + Raises KeyNotFoundException if no such element exists. + The function to test the input elements. + The input list. + Thrown if the predicate evaluates to false for all the + elements of the list. + The index of the first element that satisfies the predicate. + + + Returns the first element for which the given function returns true. + Raises KeyNotFoundException if no such element exists. + The function to test the input elements. + The input list. + Thrown if the predicate evaluates to false for + all the elements of the list. + The first element that satisfies the predicate. + + + Tests if any pair of corresponding elements of the lists satisfies the given predicate. + + The predicate is applied to matching elements in the two collections up to the lesser of the + two lengths of the collections. If any application returns true then the overall result is + true and no further elements are tested. Otherwise, if one collections is longer + than the other then the System.ArgumentException exception is raised. + Otherwise, false is returned. + The function to test the input elements. + The first input list. + The second input list. + Thrown when the input lists differ in length. + True if any pair of elements satisfy the predicate. + + + Tests if any element of the list satisfies the given predicate. + + The predicate is applied to the elements of the input list. If any application + returns true then the overall result is true and no further elements are tested. + Otherwise, false is returned. + The function to test the input elements. + The input list. + True if any element satisfies the predicate. + + + Returns an empty list of the given type. + + + Returns a new list that contains the elements of each the lists in order. + The input sequence of lists. + The resulting concatenated list. + + + For each element of the list, applies the given function. Concatenates all the results and return the combined list. + The function to transform each input element into a sublist to be concatenated. + The input list. + The concatenation of the transformed sublists. + + + Applies the given function to each element of the list. Returns + the list comprised of the results x for each element where + the function returns Some(x) + The function to generate options from the elements. + The input list. + The list comprising the values selected from the chooser function. + + + Returns the average of the elements generated by applying the function to each element of the list. + + Raises System.ArgumentException if list is empty. + The function to transform the list elements into the type to be averaged. + The input list. + Thrown when the list is empty. + The resulting average. + + + Returns the average of the elements in the list. + + Raises System.ArgumentException if list is empty. + The input list. + Thrown when the list is empty. + The resulting average. + + + Returns a new list that contains the elements of the first list + followed by elements of the second. + The first input list. + The second input list. + The resulting list. + + + Basic operations on lists. + + + Returns the key of the first mapping in the collection that satisfies the given predicate. + Returns 'None' if no such element exists. + The function to test the input elements. + The input map. + The first key for which the predicate returns true or None if the predicate evaluates to false for each key/value pair. + + + Evaluates the function on each mapping in the collection. Returns the key for the first mapping + where the function returns 'true'. Raise KeyNotFoundException if no such element exists. + The function to test the input elements. + The input map. + Thrown if the key does not exist in the map. + The first key for which the predicate evaluates true. + + + Lookup an element in the map, returning a Some value if the element is in the domain + of the map and None if not. + The input key. + The input map. + The found Some value or None. + + + Removes an element from the domain of the map. No exception is raised if the element is not present. + The input key. + The input map. + The resulting map. + + + Builds two new maps, one containing the bindings for which the given predicate returns 'true', + and the other the remaining bindings. + The function to test the input elements. + The input map. + A pair of maps in which the first contains the elements for which the predicate returned true + and the second containing the elements for which the predicated returned false. + + + Tests if an element is in the domain of the map. + The input key. + The input map. + True if the map contains the key. + + + Builds a new collection whose elements are the results of applying the given function + to each of the elements of the collection. The key passed to the + function indicates the key of element being transformed. + The function to transform the key/value pairs. + The input map. + The resulting map of keys and transformed values. + + + Returns true if the given predicate returns true for all of the + bindings in the map. + The function to test the input elements. + The input map. + True if the predicate evaluates to true for all of the bindings in the map. + + + Builds a new map containing only the bindings for which the given predicate returns 'true'. + The function to test the key/value pairs. + The input map. + The filtered map. + + + Returns true if the given predicate returns true for one of the + bindings in the map. + The function to test the input elements. + The input map. + True if the predicate returns true for one of the key/value pairs. + + + Applies the given function to each binding in the dictionary + The function to apply to each key/value pair. + The input map. + + + Folds over the bindings in the map + The function to update the state given the input key/value pairs. + The initial state. + The input map. + The final state value. + + + Folds over the bindings in the map. + The function to update the state given the input key/value pairs. + The input map. + The initial state. + The final state value. + + + Searches the map looking for the first element where the given function returns a Some value + The function to generate options from the key/value pairs. + The input map. + The first result. + + + Searches the map looking for the first element where the given function returns a Some value. + The function to generate options from the key/value pairs. + The input map. + The first result. + + + Lookup an element in the map, raising KeyNotFoundException if no binding + exists in the map. + The input key. + The input map. + Thrown when the key does not exist in the map. + The value mapped to the given key. + + + The empty map. + + + Is the map empty? + The input map. + True if the map is empty. + + + Returns an array of all key-value pairs in the mapping. + The array will be ordered by the keys of the map. + The input map. + The array of key/value pairs. + + + Returns a list of all key-value pairs in the mapping. + The list will be ordered by the keys of the map. + The input map. + The list of key/value pairs. + + + Views the collection as an enumerable sequence of pairs. + The sequence will be ordered by the keys of the map. + The input map. + The sequence of key/value pairs. + + + Returns a new map made from the given bindings. + The input sequence of key/value pairs. + The resulting map. + + + Returns a new map made from the given bindings. + The input array of key/value pairs. + The resulting map. + + + Returns a new map made from the given bindings. + The input list of key/value pairs. + The resulting map. + + + Returns a new map with the binding added to the given map. + The input key. + The input value. + The input map. + The resulting map. + + + Functional programming operators related to the Map<_,_> type. + + + Combines the three sequences into a list of triples. The sequences need not have equal lengths: + when one sequence is exhausted any remaining elements in the other + sequences are ignored. + + The first input sequence. + The second input sequence. + The third input sequence. + + The result sequence. + + Thrown when any of the input sequences is null. + + + Combines the two sequences into a list of pairs. The two sequences need not have equal lengths: + when one sequence is exhausted any remaining elements in the other + sequence are ignored. + + The first input sequence. + The second input sequence. + + The result sequence. + + Thrown when either of the input sequences is null. + + + Returns a sequence that yields sliding windows of containing elements drawn from the input + sequence. Each window is returned as a fresh array. + + The number of elements in each window. + The input sequence. + + The result sequence. + + Thrown when the input sequence is null. + Thrown when the input sequence is empty. + + + Returns a sequence that contains the elements generated by the given computation. + The given initial state argument is passed to the element generator. + For each IEnumerator elements in the stream are generated on-demand by applying the element + generator, until a None value is returned by the element generator. Each call to the element + generator returns a new residual state. + + The stream will be recomputed each time an IEnumerator is requested and iterated for the Seq. + + The returned sequence may be passed between threads safely. However, + individual IEnumerator values generated from the returned sequence should not be accessed concurrently. + + A function that takes in the current state and returns an option tuple of the next + element of the sequence and the next state value. + The initial state value. + + The result sequence. + + + Returns a sequence that when enumerated returns at most N elements. + + The maximum number of items to enumerate. + The input sequence. + + The result sequence. + + Thrown when the input sequence is null. + + + Applies the given function to successive elements, returning the first + result where the function returns "Some(x)". + + A function that transforms items from the input sequence into options. + The input sequence. + + The result sequence. + + Thrown when the input sequence is null. + + + Returns the index of the first element in the sequence + that satisfies the given predicate. Return None if no such element exists. + + A function that evaluates to a Boolean when given an item in the sequence. + The input sequence. + + The result sequence. + + Thrown when the input sequence is null. + + + Returns the first element for which the given function returns true. + Return None if no such element exists. + + A function that evaluates to a Boolean when given an item in the sequence. + The input sequence. + + The result sequence. + + Thrown when the input sequence is null. + + + Builds a list from the given collection. + + The input sequence. + + The result sequence. + + Thrown when the input sequence is null. + + + Builds an array from the given collection. + + The input sequence. + + The result sequence. + + Thrown when the input sequence is null. + + + Returns a sequence that, when iterated, yields elements of the underlying sequence while the + given predicate returns true, and then returns no further elements. + + A function that evaluates to false when no more items should be returned. + The input sequence. + + The result sequence. + + Thrown when the input sequence is null. + + + Returns the first N elements of the sequence. + Throws InvalidOperationException + if the count exceeds the number of elements in the sequence. Seq.truncate + returns as many items as the sequence contains instead of throwing an exception. + + The number of items to take. + The input sequence. + + The result sequence. + + Thrown when the input sequence is null. + Thrown when the input sequence is empty. + Thrown when count exceeds the number of elements + in the sequence. + + + Returns the sum of the results generated by applying the function to each element of the sequence. + The generated elements are summed using the + operator and Zero property associated with the generated type. + + A function to transform items from the input sequence into the type that will be summed. + The input sequence. + + The result sequence. + + + Returns the sum of the elements in the sequence. + + The elements are summed using the + operator and Zero property associated with the generated type. + + The input sequence. + + The result sequence. + + + Applies a key-generating function to each element of a sequence and yield a sequence ordered + by keys. The keys are compared using generic comparison as implemented by Operators.compare. + + This function returns a sequence that digests the whole initial sequence as soon as + that sequence is iterated. As a result this function should not be used with + large or infinite sequences. The function makes no assumption on the ordering of the original + sequence. + + This is a stable sort, that is the original order of equal elements is preserved. + + A function to transform items of the input sequence into comparable keys. + The input sequence. + + The result sequence. + + Thrown when the input sequence is null. + + + Yields a sequence ordered by keys. + + This function returns a sequence that digests the whole initial sequence as soon as + that sequence is iterated. As a result this function should not be used with + large or infinite sequences. The function makes no assumption on the ordering of the original + sequence. + + This is a stable sort, that is the original order of equal elements is preserved. + + The input sequence. + + The result sequence. + + Thrown when the input sequence is null. + + + Returns a sequence that, when iterated, skips elements of the underlying sequence while the + given predicate returns true, and then yields the remaining elements of the sequence. + + A function that evaluates an element of the sequence to a boolean value. + The input sequence. + + The result sequence. + + Thrown when the input sequence is null. + + + Returns a sequence that skips N elements of the underlying sequence and then yields the + remaining elements of the sequence. + + The number of items to skip. + The input sequence. + + The result sequence. + + Thrown when the input sequence is null. + Thrown when count exceeds the number of elements + in the sequence. + + + Returns a sequence that yields one item only. + + The input item. + + The result sequence. + + + Like fold, but computes on-demand and returns the sequence of intermediary and final results. + + A function that updates the state with each element from the sequence. + The initial state. + The input sequence. + + The result sequence. + + Thrown when the input sequence is null. + + + Applies a function to each element of the sequence, threading an accumulator argument + through the computation. Begin by applying the function to the first two elements. + Then feed this result into the function along with the third element and so on. + Return the final result. + + A function that takes in the current accumulated result and the next + element of the sequence to produce the next accumulated result. + The input sequence. + + The result sequence. + + Thrown when the input sequence is null. + Thrown when the input sequence is empty. + + + Builds a new sequence object that delegates to the given sequence object. This ensures + the original sequence cannot be rediscovered and mutated by a type cast. For example, + if given an array the returned sequence will return the elements of the array, but + you cannot cast the returned sequence object to an array. + + The input sequence. + + The result sequence. + + Thrown when the input sequence is null. + + + Applies the given function to successive elements, returning the first + x where the function returns "Some(x)". + + A function to transform each item of the input sequence into an option of the output type. + The input sequence. + + The result sequence. + + Thrown when the input sequence is null. + Thrown when every item of the sequence + evaluates to None when the given function is applied. + + + Returns a sequence of each element in the input sequence and its predecessor, with the + exception of the first element which is only returned as the predecessor of the second element. + + The input sequence. + + The result sequence. + + Thrown when the input sequence is null. + + + Views the given list as a sequence. + + The input list. + + The result sequence. + + + Views the given array as a sequence. + + The input array. + + The result sequence. + + Thrown when the input sequence is null. + + + Computes the nth element in the collection. + + The index of element to retrieve. + The input sequence. + + The result sequence. + + Thrown when the input sequence is null. + + + Returns the lowest of all elements of the sequence, compared via Operators.min on the function result. + + A function to transform items from the input sequence into comparable keys. + The input sequence. + + The result sequence. + + Thrown when the input sequence is null. + Thrown when the input sequence is empty. + + + Returns the lowest of all elements of the sequence, compared via Operators.min. + + The input sequence. + + The result sequence. + + Thrown when the input sequence is null. + Thrown when the input sequence is empty. + + + Returns the greatest of all elements of the sequence, compared via Operators.max on the function result. + + A function to transform items from the input sequence into comparable keys. + The input sequence. + + The result sequence. + + Thrown when the input sequence is null. + Thrown when the input sequence is empty. + + + Returns the greatest of all elements of the sequence, compared via Operators.max + + The input sequence. + + Thrown when the input sequence is null. + Thrown when the input sequence is empty. + + The result sequence. + + + Builds a new collection whose elements are the results of applying the given function + to each of the elements of the collection. The integer index passed to the + function indicates the index (from 0) of element being transformed. + + A function to transform items from the input sequence that also supplies the current index. + The input sequence. + + The result sequence. + + Thrown when the input sequence is null. + + + Builds a new collection whose elements are the results of applying the given function + to the corresponding pairs of elements from the two sequences. If one input sequence is shorter than + the other then the remaining elements of the longer sequence are ignored. + + A function to transform pairs of items from the input sequences. + The first input sequence. + The second input sequence. + + The result sequence. + + Thrown when either of the input sequences is null. + + + Builds a new collection whose elements are the results of applying the given function + to each of the elements of the collection. The given function will be applied + as elements are demanded using the MoveNext method on enumerators retrieved from the + object. + + The returned sequence may be passed between threads safely. However, + individual IEnumerator values generated from the returned sequence should not be accessed concurrently. + + A function to transform items from the input sequence. + The input sequence. + + The result sequence. + + Thrown when the input sequence is null. + + + Returns the length of the sequence + + The input sequence. + + The result sequence. + + Thrown when the input sequence is null. + + + Applies the given function to two collections simultaneously. If one sequence is shorter than + the other then the remaining elements of the longer sequence are ignored. + + A function to apply to each pair of elements from the input sequences. + The first input sequence. + The second input sequence. + + The result sequence. + + Thrown when either of the input sequences is null. + + + Applies the given function to each element of the collection. The integer passed to the + function indicates the index of element. + + A function to apply to each element of the sequence that can also access the current index. + The input sequence. + + The result sequence. + + Thrown when the input sequence is null. + + + Applies the given function to each element of the collection. + + A function to apply to each element of the sequence. + The input sequence. + + The result sequence. + + Thrown when the input sequence is null. + + + Generates a new sequence which, when iterated, will return successive + elements by calling the given function. The results of calling the function + will not be saved, that is the function will be reapplied as necessary to + regenerate the elements. The function is passed the index of the item being + generated. + + The returned sequence may be passed between threads safely. However, + individual IEnumerator values generated from the returned sequence should not be accessed concurrently. + Iteration can continue up to Int32.MaxValue. + + A function that generates an item in the sequence from a given index. + + The result sequence. + + + Generates a new sequence which, when iterated, will return successive + elements by calling the given function, up to the given count. The results of calling the function + will not be saved, that is the function will be reapplied as necessary to + regenerate the elements. The function is passed the index of the item being + generated. + + The returned sequence may be passed between threads safely. However, + individual IEnumerator values generated from the returned sequence should not be accessed concurrently. + + The maximum number of items to generate for the sequence. + A function that generates an item in the sequence from a given index. + + The result sequence. + + Thrown when count is negative. + + + Returns true if the sequence contains no elements, false otherwise. + + The input sequence. + + The result sequence. + + Thrown when the input sequence is null. + + + Returns the first element of the sequence. + + The input sequence. + + The result sequence. + + Thrown when the input sequence is null. + Thrown when the input does not have any elements. + + + Applies a key-generating function to each element of a sequence and yields a sequence of + unique keys. Each unique key has also contains a sequence of all elements that match + to this key. + + This function returns a sequence that digests the whole initial sequence as soon as + that sequence is iterated. As a result this function should not be used with + large or infinite sequences. The function makes no assumption on the ordering of the original + sequence. + + A function that transforms an element of the sequence into a comparable key. + The input sequence. + + The result sequence. + + + Tests the all pairs of elements drawn from the two sequences satisfy the + given predicate. If one sequence is shorter than + the other then the remaining elements of the longer sequence are ignored. + + A function to test pairs of elements from the input sequences. + The first input sequence. + The second input sequence. + + The result sequence. + + Thrown when either of the input sequences is null. + + + Tests if all elements of the sequence satisfy the given predicate. + + The predicate is applied to the elements of the input sequence. If any application + returns false then the overall result is false and no further elements are tested. + Otherwise, true is returned. + + A function to test an element of the input sequence. + The input sequence. + + The result sequence. + + Thrown when the input sequence is null. + + + Applies a function to each element of the collection, threading an accumulator argument + through the computation. If the input function is f and the elements are i0...iN + then computes f (... (f s i0)...) iN + + A function that updates the state with each element from the sequence. + The initial state. + The input sequence. + + The result sequence. + + Thrown when the input sequence is null. + + + Returns the index of the first element for which the given function returns true. + + A function to test whether the index of a particular element should be returned. + The input sequence. + + The result sequence. + + Thrown if no element returns true when + evaluated by the predicate + Thrown when the input sequence is null + + + Returns the first element for which the given function returns true. + + A function to test whether an item in the sequence should be returned. + The input sequence. + + The result sequence. + + Thrown if no element returns true when + evaluated by the predicate + Thrown when the input sequence is null + + + Returns a new collection containing only the elements of the collection + for which the given predicate returns "true". + + The returned sequence may be passed between threads safely. However, + individual IEnumerator values generated from the returned sequence should not be accessed concurrently. + + Remember sequence is lazy, effects are delayed until it is enumerated. + + A function to test whether each item in the input sequence should be included in the output. + The input sequence. + + The result sequence. + + Thrown when the input sequence is null. + + + Tests if any pair of corresponding elements of the input sequences satisfies the given predicate. + + The predicate is applied to matching elements in the two sequences up to the lesser of the + two lengths of the collections. If any application returns true then the overall result is + true and no further elements are tested. Otherwise, false is returned. If one sequence is shorter than + the other then the remaining elements of the longer sequence are ignored. + + A function to test each pair of items from the input sequences. + The first input sequence. + The second input sequence. + + The result sequence. + + Thrown when either of the two input sequences is null. + + + Tests if any element of the sequence satisfies the given predicate. + + The predicate is applied to the elements of the input sequence. If any application + returns true then the overall result is true and no further elements are tested. + Otherwise, false is returned. + + A function to test each item of the input sequence. + The input sequence. + + The result sequence. + + Thrown when the input sequence is null. + + + Creates an empty sequence. + + The result sequence. + + + Returns a sequence that contains no duplicate entries according to the + generic hash and equality comparisons on the keys returned by the given key-generating function. + If an element occurs multiple times in the sequence then the later occurrences are discarded. + + A function transforming the sequence items into comparable keys. + The input sequence. + + The result sequence. + + Thrown when the input sequence is null. + + + Returns a sequence that contains no duplicate entries according to generic hash and + equality comparisons on the entries. + If an element occurs multiple times in the sequence then the later occurrences are discarded. + + The input sequence. + + The result sequence. + + Thrown when the input sequence is null. + + + Returns a sequence that is built from the given delayed specification of a + sequence. + + The input function is evaluated each time an IEnumerator for the sequence + is requested. + + The generating function for the sequence. + + + Applies a key-generating function to each element of a sequence and return a sequence yielding unique + keys and their number of occurrences in the original sequence. + + Note that this function returns a sequence that digests the whole initial sequence as soon as + that sequence is iterated. As a result this function should not be used with + large or infinite sequences. The function makes no assumption on the ordering of the original + sequence. + + A function transforming each item of input sequence into a key to be + compared against the others. + The input sequence. + + The result sequence. + + Thrown when the input sequence is null. + + + Combines the given enumeration-of-enumerations as a single concatenated + enumeration. + + The returned sequence may be passed between threads safely. However, + individual IEnumerator values generated from the returned sequence should not be accessed concurrently. + + The input enumeration-of-enumerations. + + The result sequence. + + Thrown when the input sequence is null. + + + Compares two sequences using the given comparison function, element by element. + Returns the first non-zero result from the comparison function. If the end of a sequence + is reached it returns a -1 if the first sequence is shorter and a 1 if the second sequence + is shorter. + + A function that takes an element from each sequence and returns an int. + If it evaluates to a non-zero value iteration is stopped and that value is returned. + The first input sequence. + The second input sequence. + + The result sequence. + + Thrown when either of the input sequences + is null. + + + Applies the given function to each element of the sequence and concatenates all the + results. + + Remember sequence is lazy, effects are delayed until it is enumerated. + + A function to transform elements of the input sequence into the sequences + that will then be concatenated. + The input sequence. + + The result sequence. + + Thrown when the input sequence is null. + + + Applies the given function to each element of the list. Return + the list comprised of the results "x" for each element where + the function returns Some(x). + + The returned sequence may be passed between threads safely. However, + individual IEnumerator values generated from the returned sequence should not + be accessed concurrently. + + A function to transform items of type T into options of type U. + The input sequence of type T. + + The result sequence. + + Thrown when the input sequence is null. + + + Wraps a loosely-typed System.Collections sequence as a typed sequence. + + The use of this function usually requires a type annotation. + An incorrect type annotation may result in runtime type + errors. + Individual IEnumerator values generated from the returned sequence should not be accessed concurrently. + + The input sequence. + + The result sequence. + + Thrown when the input sequence is null. + + + Returns a sequence that corresponds to a cached version of the input sequence. + This result sequence will have the same elements as the input sequence. The result + can be enumerated multiple times. The input sequence will be enumerated at most + once and only as far as is necessary. Caching a sequence is typically useful when repeatedly + evaluating items in the original sequence is computationally expensive or if + iterating the sequence causes side-effects that the user does not want to be + repeated multiple times. + + Enumeration of the result sequence is thread safe in the sense that multiple independent IEnumerator + values may be used simultaneously from different threads (accesses to + the internal lookaside table are thread safe). Each individual IEnumerator + is not typically thread safe and should not be accessed concurrently. + + Once enumeration of the input sequence has started, + it's enumerator will be kept live by this object until the enumeration has completed. + At that point, the enumerator will be disposed. + + The enumerator may be disposed and underlying cache storage released by + converting the returned sequence object to type IDisposable, and calling the Dispose method + on this object. The sequence object may then be re-enumerated and a fresh enumerator will + be used. + + The input sequence. + + The result sequence. + + Thrown when the input sequence is null. + + + Returns the average of the results generated by applying the function to each element + of the sequence. + + The elements are averaged using the + operator, DivideByInt method and Zero property + associated with the generated type. + + A function applied to transform each element of the sequence. + The input sequence. + + The result sequence. + + Thrown when the input sequence is null. + Thrown when the input sequence has zero elements. + + + Returns the average of the elements in the sequence. + + The elements are averaged using the + operator, DivideByInt method and Zero property + associated with the element type. + + The input sequence. + + The result sequence. + + Thrown when the input sequence is null. + Thrown when the input sequence has zero elements. + + + Wraps the two given enumerations as a single concatenated + enumeration. + + The returned sequence may be passed between threads safely. However, + individual IEnumerator values generated from the returned sequence should not be accessed + concurrently. + + The first sequence. + The second sequence. + + The result sequence. + + Thrown when either of the two provided sequences is + null. + + + Basic operations on IEnumerables. + + + Returns a new set with the elements of the second set removed from the first. + The first input set. + The set whose elements will be removed from set1. + The set with the elements of set2 removed from set1. + + + Builds a new collection from the given enumerable object. + The input sequence. + The set containing elements. + + + Returns an ordered view of the collection as an enumerable object. + The input set. + An ordered sequence of the elements of set. + + + Builds an array that contains the elements of the set in order. + The input set. + An ordered array of the elements of set. + + + Builds a set that contains the same elements as the given array. + The input array. + A set containing the elements of array. + + + Builds a list that contains the elements of the set in order. + The input set. + An ordered list of the elements of set. + + + Builds a set that contains the same elements as the given list. + The input list. + A set containing the elements form the input list. + + + Returns the highest element in the set according to the ordering being used for the set. + The input set. + The max value from the set. + + + Returns the lowest element in the set according to the ordering being used for the set. + The input set. + The min value from the set. + + + Returns a new set with the given element removed. No exception is raised if + the set doesn't contain the given element. + The element to remove. + The input set. + The input set with value removed. + + + Splits the set into two sets containing the elements for which the given predicate + returns true and false respectively. + The function to test set elements. + The input set. + A pair of sets with the first containing the elements for which predicate returns + true and the second containing the elements for which predicate returns false. + + + Applies the given function to each element of the set, in order according + to the comparison function. + The function to apply to each element. + The input set. + + + Returns "true" if the set is empty. + The input set. + True if set is empty. + + + Computes the union of a sequence of sets. + The sequence of sets to untion. + The union of the input sets. + + + Computes the union of the two sets. + The first input set. + The second input set. + The union of set1 and set2. + + + Computes the intersection of a sequence of sets. The sequence must be non-empty. + The sequence of sets to intersect. + The intersection of the input sets. + + + Computes the intersection of the two sets. + The first input set. + The second input set. + The intersection of set1 and set2. + + + Tests if all elements of the collection satisfy the given predicate. + If the input function is f and the elements are i0...iN and "j0...jN" + then computes p i0 && ... && p iN. + The function to test set elements. + The input set. + True if all elements of set satisfy predicate. + + + Applies the given accumulating function to all the elements of the set. + The accumulating function. + The input set. + The initial state. + The final state. + + + Applies the given accumulating function to all the elements of the set + The accumulating function. + The initial state. + The input set. + The final state. + + + Returns a new collection containing the results of applying the + given function to each element of the input set. + The function to transform elements of the input set. + The input set. + A set containing the transformed elements. + + + Returns a new collection containing only the elements of the collection + for which the given predicate returns true. + The function to test set elements. + The input set. + The set containing only the elements for which predicate returns true. + + + Tests if any element of the collection satisfies the given predicate. + If the input function is predicate and the elements are i0...iN + then computes p i0 or ... or p iN. + The function to test set elements. + The input set. + True if any element of set satisfies predicate. + + + Returns the number of elements in the set. Same as size. + The input set. + The number of elements in the set. + + + Evaluates to "true" if all elements of the second set are in the first, and at least + one element of the first is not in the second. + The potential superset. + The set to test against. + True if set1 is a proper superset of set2. + + + Evaluates to "true" if all elements of the second set are in the first. + The potential superset. + The set to test against. + True if set1 is a superset of set2. + + + Evaluates to "true" if all elements of the first set are in the second, and at least + one element of the second is not in the first. + The potential subset. + The set to test against. + True if set1 is a proper subset of set2. + + + Evaluates to "true" if all elements of the first set are in the second + The potential subset. + The set to test against. + True if set1 is a subset of set2. + + + Evaluates to "true" if the given element is in the given set. + The element to test. + The input set. + True if element is in set. + + + Returns a new set with an element added to the set. No exception is raised if + the set already contains the given element. + The value to add. + The input set. + A new set containing value. + + + The set containing the given element. + The value for the set to contain. + The set containing value. + + + The empty set for the type 'T. + + + Functional programming operators related to the Set<_> type. + + + Gets the default cancellation token for executing asynchronous computations. + The default CancellationToken. + + + Creates an asynchronous computation that returns the CancellationToken governing the execution + of the computation. + In async { let! token = Async.CancellationToken ...} token can be used to initiate other + asynchronous operations that will cancel cooperatively with this workflow. + An asynchronous computation capable of retrieving the CancellationToken from a computation + expression. + + + Creates an asynchronous computation that executes computation. + If this computation is cancelled before it completes then the computation generated by + running compensation is executed. + The input asynchronous computation. + The function to be run if the computation is cancelled. + An asynchronous computation that runs the compensation if the input computation + is cancelled. + + + Creates an asynchronous computation that queues a work item that runs + its continuation. + A computation that generates a new work item in the thread pool. + + + Creates an asynchronous computation that creates a new thread and runs + its continuation in that thread. + A computation that will execute on a new thread. + + + Creates an asynchronous computation that runs + its continuation using syncContext.Post. If syncContext is null + then the asynchronous computation is equivalent to SwitchToThreadPool(). + The synchronization context to accept the posted computation. + An asynchronous computation that uses the syncContext context to execute. + + + Runs an asynchronous computation, starting immediately on the current operating system + thread. Call one of the three continuations when the operation completes. + If no cancellation token is provided then the default cancellation token + is used. + The asynchronous computation to execute. + The function called on success. + The function called on exception. + The function called on cancellation. + The CancellationToken to associate with the computation. + The default is used if this parameter is not provided. + + + Runs an asynchronous computation, starting immediately on the current operating system + thread. + If no cancellation token is provided then the default cancellation token is used. + The asynchronous computation to execute. + The CancellationToken to associate with the computation. + The default is used if this parameter is not provided. + + + Starts a child computation within an asynchronous workflow. + This allows multiple asynchronous computations to be executed simultaneously. + + This method should normally be used as the immediate + right-hand-side of a let! binding in an F# asynchronous workflow, that is, + + async { ... + let! completor1 = childComputation1 |> Async.StartChild + let! completor2 = childComputation2 |> Async.StartChild + ... + let! result1 = completor1 + let! result2 = completor2 + ... } + + When used in this way, each use of StartChild starts an instance of childComputation + and returns a completor object representing a computation to wait for the completion of the operation. + When executed, the completor awaits the completion of childComputation. + The child computation. + The timeout value in milliseconds. If one is not provided + then the default value of -1 corresponding to System.Threading.Timeout.Infinite. + A new computation that waits for the input computation to finish. + + + Starts the asynchronous computation in the thread pool. Do not await its result. + + If no cancellation token is provided then the default cancellation token is used. + The computation to run asynchronously. + The cancellation token to be associated with the computation. + If one is not supplied, the default cancellation token is used. + + + Creates an asynchronous computation that will sleep for the given time. This is scheduled + using a System.Threading.Timer object. The operation will not block operating system threads + for the duration of the wait. + The number of milliseconds to sleep. + An asynchronous computation that will sleep for the given time. + Thrown when the due time is negative + and not infinite. + + + Runs the asynchronous computation and await its result. + + If an exception occurs in the asynchronous computation then an exception is re-raised by this + function. + + If no cancellation token is provided then the default cancellation token is used. + + The timeout parameter is given in milliseconds. A value of -1 is equivalent to + System.Threading.Timeout.Infinite. + The computation to run. + The amount of time in milliseconds to wait for the result of the + computation before raising a System.TimeoutException. If no value is provided + for timeout then a default of -1 is used to correspond to System.Threading.Timeout.Infinite. + The cancellation token to be associated with the computation. + If one is not supplied, the default cancellation token is used. + The result of the computation. + + + Creates an asynchronous computation that executes all the given asynchronous computations, + initially queueing each as work items and using a fork/join pattern. + + If all child computations succeed, an array of results is passed to the success continuation. + + If any child computation raises an exception, then the overall computation will trigger an + exception, and cancel the others. + + The overall computation will respond to cancellation while executing the child computations. + If cancelled, the computation will cancel any remaining child computations but will still wait + for the other child computations to complete. + A sequence of distinct computations to be parallelized. + A computation that returns an array of values from the sequence of input computations. + + + Generates a scoped, cooperative cancellation handler for use within an asynchronous workflow. + + For example, + async { use! holder = Async.OnCancel interruption ... } + generates an asynchronous computation where, if a cancellation happens any time during + the execution of the asynchronous computation in the scope of holder, then action + interruption is executed on the thread that is performing the cancellation. This can + be used to arrange for a computation to be asynchronously notified that a cancellation + has occurred, e.g. by setting a flag, or deregistering a pending I/O action. + The function that is executed on the thread performing the + cancellation. + An asynchronous computation that triggers the interruption if it is cancelled + before being disposed. + + + Creates an asynchronous computation that runs the given computation and ignores + its result. + The input computation. + A computation that is equivalent to the input computation, but disregards the result. + + + Creates an asynchronous computation that captures the current + success, exception and cancellation continuations. The callback must + eventually call exactly one of the given continuations. + The function that accepts the current success, exception, and cancellation + continuations. + An asynchronous computation that provides the callback with the current continuations. + + + Creates an asynchronous computation in terms of a Begin/End pair of actions in + the style used in CLI APIs. This overlaod should be used if the operation is + qualified by three arguments. For example, + Async.FromBeginEnd(arg1,arg2,arg3,ws.BeginGetWeather,ws.EndGetWeather) + When the computation is run, beginFunc is executed, with + a callback which represents the continuation of the computation. + When the callback is invoked, the overall result is fetched using endFunc. + + The computation will respond to cancellation while waiting for the completion + of the operation. If a cancellation occurs, and cancelAction is specified, then it is + executed, and the computation continues to wait for the completion of the operation. + + If cancelAction is not specified, then cancellation causes the computation + to stop immediately, and subsequent invocations of the callback are ignored. + The first argument for the operation. + The second argument for the operation. + The third argument for the operation. + The function initiating a traditional CLI asynchronous operation. + The function completing a traditional CLI asynchronous operation. + An optional function to be executed when a cancellation is requested. + An asynchronous computation wrapping the given Begin/End functions. + + + Creates an asynchronous computation in terms of a Begin/End pair of actions in + the style used in CLI APIs. This overlaod should be used if the operation is + qualified by two arguments. For example, + Async.FromBeginEnd(arg1,arg2,ws.BeginGetWeather,ws.EndGetWeather) + When the computation is run, beginFunc is executed, with + a callback which represents the continuation of the computation. + When the callback is invoked, the overall result is fetched using endFunc. + + The computation will respond to cancellation while waiting for the completion + of the operation. If a cancellation occurs, and cancelAction is specified, then it is + executed, and the computation continues to wait for the completion of the operation. + + If cancelAction is not specified, then cancellation causes the computation + to stop immediately, and subsequent invocations of the callback are ignored. + The first argument for the operation. + The second argument for the operation. + The function initiating a traditional CLI asynchronous operation. + The function completing a traditional CLI asynchronous operation. + An optional function to be executed when a cancellation is requested. + An asynchronous computation wrapping the given Begin/End functions. + + + Creates an asynchronous computation in terms of a Begin/End pair of actions in + the style used in CLI APIs. This overlaod should be used if the operation is + qualified by one argument. For example, + Async.FromBeginEnd(place,ws.BeginGetWeather,ws.EndGetWeather) + When the computation is run, beginFunc is executed, with + a callback which represents the continuation of the computation. + When the callback is invoked, the overall result is fetched using endFunc. + + The computation will respond to cancellation while waiting for the completion + of the operation. If a cancellation occurs, and cancelAction is specified, then it is + executed, and the computation continues to wait for the completion of the operation. + + If cancelAction is not specified, then cancellation causes the computation + to stop immediately, and subsequent invocations of the callback are ignored. + The argument for the operation. + The function initiating a traditional CLI asynchronous operation. + The function completing a traditional CLI asynchronous operation. + An optional function to be executed when a cancellation is requested. + An asynchronous computation wrapping the given Begin/End functions. + + + Creates an asynchronous computation in terms of a Begin/End pair of actions in + the style used in CLI APIs. For example, + Async.FromBeginEnd(ws.BeginGetWeather,ws.EndGetWeather) + When the computation is run, beginFunc is executed, with + a callback which represents the continuation of the computation. + When the callback is invoked, the overall result is fetched using endFunc. + + The computation will respond to cancellation while waiting for the completion + of the operation. If a cancellation occurs, and cancelAction is specified, then it is + executed, and the computation continues to wait for the completion of the operation. + + If cancelAction is not specified, then cancellation causes the computation + to stop immediately, and subsequent invocations of the callback are ignored. + The function initiating a traditional CLI asynchronous operation. + The function completing a traditional CLI asynchronous operation. + An optional function to be executed when a cancellation is requested. + An asynchronous computation wrapping the given Begin/End functions. + + + Creates an asynchronous computation that executes computation. + If this computation completes successfully then return Choice1Of2 with the returned + value. If this computation raises an exception before it completes then return Choice2Of2 + with the raised exception. + The input computation that returns the type T. + A computation that returns a choice of type T or exception. + + + Raises the cancellation condition for the most recent set of asynchronous computations started + without any specific CancellationToken. Replaces the global CancellationTokenSource with a new + global token source for any asynchronous computations created after this point without any + specific CancellationToken. + + + Creates an asynchronous computation that will wait on the given WaitHandle. + + The computation returns true if the handle indicated a result within the given timeout. + The WaitHandle that can be signalled. + The timeout value in milliseconds. If one is not provided + then the default value of -1 corresponding to System.Threading.Timeout.Infinite. + An asynchronous computation that waits on the given WaitHandle. + + + Creates an asynchronous computation that will wait on the IAsyncResult. + + The computation returns true if the handle indicated a result within the given timeout. + The IAsyncResult to wait on. + The timeout value in milliseconds. If one is not provided + then the default value of -1 corresponding to System.Threading.Timeout.Infinite. + An asynchronous computation that waits on the given IAsyncResult. + + + Creates an asynchronous computation that waits for a single invocation of a CLI + event by adding a handler to the event. Once the computation completes or is + cancelled, the handler is removed from the event. + + The computation will respond to cancellation while waiting for the event. If a + cancellation occurs, and cancelAction is specified, then it is executed, and + the computation continues to wait for the event. + + If cancelAction is not specified, then cancellation causes the computation + to cancel immediately. + The event to handle once. + An optional function to execute instead of cancelling when a + cancellation is issued. + An asynchronous computation that waits for the event to be invoked. + + + Creates three functions that can be used to implement the .NET Asynchronous + Programming Model (APM) for a given asynchronous computation. + + The functions should normally be published as members with prefix Begin, + End and Cancel, and can be used within a type definition as follows: + + let beginAction,endAction,cancelAction = Async.AsBeginEnd (fun arg -> computation) + member x.BeginSomeOperation(arg,callback,state:obj) = beginAction(arg,callback,state) + member x.EndSomeOperation(iar) = endAction(iar) + member x.CancelSomeOperation(iar) = cancelAction(iar) + + + If the asynchronous computation takes no arguments, then AsBeginEnd is used as follows: + + let beginAction,endAction,cancelAction = Async.AsBeginEnd (fun () -> computation) + member x.BeginSomeOperation(callback,state:obj) = beginAction((),callback,state) + member x.EndSomeOperation(iar) = endAction(iar) + member x.CancelSomeOperation(iar) = cancelAction(iar) + + + + If the asynchronous computation takes two arguments, then AsBeginEnd is used as follows: + + let beginAction,endAction,cancelAction = Async.AsBeginEnd (fun arg1 arg2 -> computation) + member x.BeginSomeOperation(arg1,arg2,callback,state:obj) = beginAction((),callback,state) + member x.EndSomeOperation(iar) = endAction(iar) + member x.CancelSomeOperation(iar) = cancelAction(iar) + + + In each case, the resulting API will be familiar to programmers in other CLI languages and + is a useful way to publish asynchronous computations in CLI components. + A function generating the asynchronous computation to split into the traditional + .NET Asynchronous Programming Model. + A tuple of the begin, end, and cancel members. + + + This static class holds members for creating and manipulating asynchronous computations. + + + Creates an asynchronous computation that just returns (). + + A cancellation check is performed when the computation is executed. + + The existence of this method permits the use of empty else branches in the + async { ... } computation expression syntax. + An asynchronous computation that returns (). + + + Creates an asynchronous computation that runs computation repeatedly + until guard() becomes false. + + A cancellation check is performed whenever the computation is executed. + + The existence of this method permits the use of while in the + async { ... } computation expression syntax. + The function to determine when to stop executing computation. + The function to be executed. Equivalent to the body + of a while expression. + An asynchronous computation that behaves similarly to a while loop when run. + + + Creates an asynchronous computation that runs binder(resource). + The action resource.Dispose() is executed as this computation yields its result + or if the asynchronous computation exits by an exception or by cancellation. + + A cancellation check is performed when the computation is executed. + + The existence of this method permits the use of use and use! in the + async { ... } computation expression syntax. + The resource to be used and disposed. + The function that takes the resource and returns an asynchronous + computation. + An asynchronous computation that binds and eventually disposes resource. + + + Creates an asynchronous computation that runs computation and returns its result. + If an exception happens then catchHandler(exn) is called and the resulting computation executed instead. + + A cancellation check is performed when the computation is executed. + + The existence of this method permits the use of try/with in the + async { ... } computation expression syntax. + The input computation. + The function to run when computation throws an exception. + An asynchronous computation that executes computation and calls catchHandler if an + exception is thrown. + + + Creates an asynchronous computation that runs computation. The action compensation is executed + after computation completes, whether computation exits normally or by an exception. If compensation raises an exception itself + the original exception is discarded and the new exception becomes the overall result of the computation. + + A cancellation check is performed when the computation is executed. + + The existence of this method permits the use of try/finally in the + async { ... } computation expression syntax. + The input computation. + The action to be run after computation completes or raises an + exception (including cancellation). + An asynchronous computation that executes computation and compensation aftewards or + when an exception is raised. + + + Delegates to the input computation. + + The existence of this method permits the use of return! in the + async { ... } computation expression syntax. + The input computation. + The input computation. + + + Creates an asynchronous computation that returns the result v. + + A cancellation check is performed when the computation is executed. + + The existence of this method permits the use of return in the + async { ... } computation expression syntax. + The value to return from the computation. + An asynchronous computation that returns value when executed. + + + Creates an asynchronous computation that enumerates the sequence seq + on demand and runs body for each element. + + A cancellation check is performed on each iteration of the loop. + + The existence of this method permits the use of for in the + async { ... } computation expression syntax. + The sequence to enumerate. + A function to take an item from the sequence and create + an asynchronous computation. Can be seen as the body of the for expression. + An asynchronous computation that will enumerate the sequence and run body + for each element. + + + Creates an asynchronous computation that runs generator. + + A cancellation check is performed when the computation is executed. + The function to run. + An asynchronous computation that runs generator. + + + Creates an asynchronous computation that first runs computation1 + and then runs computation2, returning the result of computation2. + + A cancellation check is performed when the computation is executed. + + The existence of this method permits the use of expression sequencing in the + async { ... } computation expression syntax. + The first part of the sequenced computation. + The second part of the sequenced computation. + An asynchronous computation that runs both of the computations sequentially. + + + Creates an asynchronous computation that runs computation, and when + computation generates a result T, runs binder res. + + A cancellation check is performed when the computation is executed. + + The existence of this method permits the use of let! in the + async { ... } computation expression syntax. + The computation to provide an unbound result. + The function to bind the result of computation. + An asynchronous computation that performs a monadic bind on the result + of computation. + + + + Generate an object used to build asynchronous computations using F# computation expressions. The value + 'async' is a pre-defined instance of this type. + + A cancellation check is performed when the computation is executed. + + + + The type of the async operator, used to build workflows for asynchronous computations. + + + Sends a reply to a PostAndReply message. + The value to send. + + + A handle to a capability to reply to a PostAndReply message. + + + A compositional asynchronous computation, which, when run, will eventually produce a value + of type T, or else raises an exception. + + Asynchronous computations are normally specified using an F# computation expression. + + When run, asynchronous computations have two modes: as a work item (executing synchronous + code), or as a wait item (waiting for an event or I/O completion). + + When run, asynchronous computations can be governed by CancellationToken. This can usually + be specified when the async computation is started. The associated CancellationTokenSource + may be used to cancel the asynchronous computation. Asynchronous computations built using + computation expressions can check the cancellation condition regularly. Synchronous + computations within an asynchronous computation do not automatically check this condition. + + + Publishes the event as a first class event value. + + + Triggers the event using the given parameters. + The parameters for the event. + + + Creates an event object suitable for implementing an arbitrary type of delegate. + The event object. + + + Event implementations for an arbitrary type of delegate. + + + Publishes an observation as a first class value. + + + Triggers an observation using the given parameters. + The event parameters. + + + Creates an observable object. + The created event. + + + Event implementations for the IEvent<_> type. + + + Publishes the event as a first class event value. + + + Triggers the event using the given sender object and parameters. The sender object may be null. + The object triggering the event. + The parameters for the event. + + + Creates an event object suitable for delegate types following the standard .NET Framework convention of a first 'sender' argument. + The created event. + + + Event implementations for a delegate types following the standard .NET Framework convention of a first 'sender' argument. + + + + + + A delegate type associated with the F# event type IEvent<_> + The object that fired the event. + The event arguments. + + + Remove a listener delegate from an event listener store. + The delegate to be removed from the event listener store. + + + Connect a handler delegate object to the event. A handler can + be later removed using RemoveHandler. The listener will + be invoked when the event is fired. + A delegate to be invoked when the event is fired. + + + First class event values for arbitrary delegate types. + + F# gives special status to member properties compatible with type IDelegateEvent and + tagged with the CLIEventAttribute. In this case the F# compiler generates approriate + CLI metadata to make the member appear to other CLI languages as a CLI event. + + + First-class listening points (i.e. objects that permit you to register a callback + activated when the event is triggered). + + + First class event values for CLI events conforming to CLI Framework standards. + + + The type of delayed computations. + + Use the values in the Lazy module to manipulate + values of this type, and the notation lazy expr to create values + of type . + + + Raises a timeout exception if a message not received in this amount of time. By default + no timeout is used. + + + Occurs when the execution of the agent results in an exception. + + + Occurs when the execution of the agent results in an exception. + + + Raises a timeout exception if a message not received in this amount of time. By default + no timeout is used. + + + Returns the number of unprocessed messages in the message queue of the agent. + + + Occurs when the execution of the agent results in an exception. + + + Scans for a message by looking through messages in arrival order until scanner + returns a Some value. Other messages remain in the queue. + + This method is for use within the body of the agent. For each agent, at most + one concurrent reader may be active, so no more than one concurrent call to + Receive, TryReceive, Scan and/or TryScan may be active. + The function to return None if the message is to be skipped + or Some if the message is to be processed and removed from the queue. + An optional timeout in milliseconds. Defaults to -1 which corresponds + to System.Threading.Timeout.Infinite. + An asynchronous computation that scanner built off the read message. + + + Waits for a message. This will consume the first message in arrival order. + + This method is for use within the body of the agent. + + Returns None if a timeout is given and the timeout is exceeded. + + This method is for use within the body of the agent. For each agent, at most + one concurrent reader may be active, so no more than one concurrent call to + Receive, TryReceive, Scan and/or TryScan may be active. + An optional timeout in milliseconds. Defaults to -1 which + corresponds to System.Threading.Timeout.Infinite. + An asynchronous computation that returns the received message or + None if the timeout is exceeded. + + + Like PostAndReply, but returns None if no reply within the timeout period. + The function to incorporate the AsyncReplyChannel into + the message to be sent. + An optional timeout parameter (in milliseconds) to wait for a reply message. + Defaults to -1 which corresponds to System.Threading.Timeout.Infinite. + The reply from the agent or None if the timeout expires. + + + Starts the agent. + + + Creates and starts an agent. The body function is used to generate the asynchronous + computation executed by the agent. + The function to produce an asynchronous computation that will be executed + as the read loop for the MailboxProcessor when Start is called. + An optional cancellation token for the body. + Defaults to Async.DefaultCancellationToken. + The created MailboxProcessor. + + + Scans for a message by looking through messages in arrival order until scanner + returns a Some value. Other messages remain in the queue. + + Returns None if a timeout is given and the timeout is exceeded. + + This method is for use within the body of the agent. For each agent, at most + one concurrent reader may be active, so no more than one concurrent call to + Receive, TryReceive, Scan and/or TryScan may be active. + The function to return None if the message is to be skipped + or Some if the message is to be processed and removed from the queue. + An optional timeout in milliseconds. Defaults to -1 which corresponds + to System.Threading.Timeout.Infinite. + An asynchronous computation that scanner built off the read message. + Thrown when the timeout is exceeded. + + + Waits for a message. This will consume the first message in arrival order. + + This method is for use within the body of the agent. + + This method is for use within the body of the agent. For each agent, at most + one concurrent reader may be active, so no more than one concurrent call to + Receive, TryReceive, Scan and/or TryScan may be active. + An optional timeout in milliseconds. Defaults to -1 which corresponds + to System.Threading.Timeout.Infinite. + An asynchronous computation that returns the received message. + Thrown when the timeout is exceeded. + + + Like AsyncPostAndReply, but returns None if no reply within the timeout period. + The function to incorporate the AsyncReplyChannel into + the message to be sent. + An optional timeout parameter (in milliseconds) to wait for a reply message. + Defaults to -1 which corresponds to System.Threading.Timeout.Infinite. + An asynchronous computation that will return the reply or None if the timeout expires. + + + Posts a message to an agent and await a reply on the channel, synchronously. + + The message is generated by applying buildMessage to a new reply channel + to be incorporated into the message. The receiving agent must process this + message and invoke the Reply method on this reply channel precisely once. + The function to incorporate the AsyncReplyChannel into + the message to be sent. + An optional timeout parameter (in milliseconds) to wait for a reply message. + Defaults to -1 which corresponds to System.Threading.Timeout.Infinite. + The reply from the agent. + + + Posts a message to an agent and await a reply on the channel, asynchronously. + + The message is generated by applying buildMessage to a new reply channel + to be incorporated into the message. The receiving agent must process this + message and invoke the Reply method on this reply channel precisely once. + The function to incorporate the AsyncReplyChannel into + the message to be sent. + An optional timeout parameter (in milliseconds) to wait for a reply message. + Defaults to -1 which corresponds to System.Threading.Timeout.Infinite. + An asychronous computation that will wait for the reply from the agent. + + + Posts a message to the message queue of the MailboxProcessor, asynchronously. + The message to post. + + + Creates an agent. The body function is used to generate the asynchronous + computation executed by the agent. This function is not executed until + Start is called. + The function to produce an asynchronous computation that will be executed + as the read loop for the MailboxProcessor when Start is called. + An optional cancellation token for the body. + Defaults to Async.DefaultCancellationToken. + The created MailboxProcessor. + + + A message-processing agent which executes an asynchronous computation. + + The agent encapsulates a message queue that supports multiple-writers and + a single reader agent. Writers send messages to the agent by using the Post + method and its variations. + + The agent may wait for messages using the Receive or TryReceive methods or + scan through all available messages using the Scan or TryScan method. + + + + + + A module of extension members providing asynchronous operations for some basic CLI types related to concurrency and I/O. + + + Returns a new event that triggers on the second and subsequent triggerings of the input event. + The Nth triggering of the input event passes the arguments from the N-1th and Nth triggering as + a pair. The argument passed to the N-1th triggering is held in hidden internal state until the + Nth triggering occurs. + The input event. + An event that triggers on pairs of consecutive values passed from the source event. + + + Runs the given function each time the given event is triggered. + The function to call when the event is triggered. + The input event. + + + Returns a new event consisting of the results of applying the given accumulating function + to successive values triggered on the input event. An item of internal state + records the current value of the state parameter. The internal state is not locked during the + execution of the accumulation function, so care should be taken that the + input IEvent not triggered by multiple threads simultaneously. + The function to update the state with each event value. + The initial state. + The input event. + An event that fires on the updated state values. + + + Returns a new event which fires on a selection of messages from the original event. + The selection function takes an original message to an optional new message. + The function to select and transform event values to pass on. + The input event. + An event that fires only when the chooser returns Some. + + + Returns a new event that listens to the original event and triggers the + first resulting event if the application of the function to the event arguments + returned a Choice1Of2, and the second event if it returns a Choice2Of2. + The function to transform event values into one of two types. + The input event. + A tuple of events. The first fires whenever splitter evaluates to Choice1of1 and + the second fires whenever splitter evaluates to Choice2of2. + + + Returns a new event that listens to the original event and triggers the + first resulting event if the application of the predicate to the event arguments + returned true, and the second event if it returned false. + The function to determine which output event to trigger. + The input event. + A tuple of events. The first is triggered when the predicate evaluates to true + and the second when the predicate evaluates to false. + + + Returns a new event that listens to the original event and triggers the resulting + event only when the argument to the event passes the given function. + The function to determine which triggers from the event to propagate. + The input event. + An event that only passes values that pass the predicate. + + + Returns a new event that passes values transformed by the given function. + The function to transform event values. + The input event. + An event that passes the transformed values. + + + Fires the output event when either of the input events fire. + The first input event. + The second input event. + An event that fires when either of the input events fire. + + + + + + Extensions related to Lazy values. + + + Returns a new observable that triggers on the second and subsequent triggerings of the input observable. + The Nth triggering of the input observable passes the arguments from the N-1th and Nth triggering as + a pair. The argument passed to the N-1th triggering is held in hidden internal state until the + Nth triggering occurs. + + For each observer, the registered intermediate observing object is not thread safe. + That is, observations arising from the source must not be triggered concurrently + on different threads. + The input Observable. + An Observable that triggers on successive pairs of observations from the input Observable. + + + Creates an observer which subscribes to the given observable and which calls + the given function for each observation. + The function to be called on each observation. + The input Observable. + An object that will remove the callback if disposed. + + + Creates an observer which permanently subscribes to the given observable and which calls + the given function for each observation. + The function to be called on each observation. + The input Observable. + + + Returns an observable which, for each observer, allocates an item of state + and applies the given accumulating function to successive values arising from + the input. The returned object will trigger observations for each computed + state value, excluding the initial value. The returned object propagates + all errors arising from the source and completes when the source completes. + + For each observer, the registered intermediate observing object is not thread safe. + That is, observations arising from the source must not be triggered concurrently + on different threads. + The function to update the state with each observation. + The initial state. + The input Observable. + An Observable that triggers on the updated state values. + + + Returns an observable which chooses a projection of observations from the source + using the given function. The returned object will trigger observations x + for which the splitter returns Some x. The returned object also propagates + all errors arising from the source and completes when the source completes. + The function that returns Some for observations to be propagated + and None for observations to ignore. + The input Observable. + An Observable that only propagates some of the observations from the source. + + + Returns two observables which split the observations of the source by the + given function. The first will trigger observations x for which the + splitter returns Choice1Of2 x. The second will trigger observations + y for which the splitter returns Choice2Of2 y The splitter is + executed once for each subscribed observer. Both also propagate error + observations arising from the source and each completes when the source + completes. + The function that takes an observation an transforms + it into one of the two output Choice types. + The input Observable. + A tuple of Observables. The first triggers when splitter returns Choice1of2 + and the second triggers when splitter returns Choice2of2. + + + Returns two observables which partition the observations of the source by + the given function. The first will trigger observations for those values + for which the predicate returns true. The second will trigger observations + for those values where the predicate returns false. The predicate is + executed once for each subscribed observer. Both also propagate all error + observations arising from the source and each completes when the source + completes. + The function to determine which output Observable will trigger + a particular observation. + The input Observable. + A tuple of Observables. The first triggers when the predicate returns true, and + the second triggers when the predicate returns false. + + + Returns an observable which filters the observations of the source + by the given function. The observable will see only those observations + for which the predicate returns true. The predicate is executed once for + each subscribed observer. The returned object also propagates error + observations arising from the source and completes when the source completes. + The function to apply to observations to determine if it should + be kept. + The input Observable. + An Observable that filters observations based on filter. + + + Returns an observable which transforms the observations of the source by the + given function. The transformation function is executed once for each + subscribed observer. The returned object also propagates error observations + arising from the source and completes when the source completes. + The function applied to observations from the source. + The input Observable. + An Observable of the type specified by mapping. + + + Returns an observable for the merged observations from the sources. + The returned object propagates success and error values arising + from either source and completes when both the sources have completed. + + For each observer, the registered intermediate observing object is not + thread safe. That is, observations arising from the sources must not + be triggered concurrently on different threads. + The first Observable. + The second Observable. + An Observable that propagates information from both sources. + + + Basic operations on first class event and other observable objects. + + + A module of extension members providing asynchronous operations for some basic Web operations. + + + Creates an instance of the attribute + AbstractClassAttribute + + + Adding this attribute to class definition makes it abstract, which means it need not + implement all its methods. Instances of abstract classes may not be constructed directly. + + + Creates an instance of the attribute + AllowNullLiteralAttribute + + + Adding this attribute to a type lets the 'null' literal be used for the type + within F# code. This attribute may only be added to F#-defined class or + interface types. + + + Indicates the namespace or module to be automatically opened when an assembly is referenced + or an enclosing module opened. + + + Creates an attribute used to mark a namespace or module path to be 'automatically opened' when an assembly is referenced + The namespace or module to be automatically opened when an assembly is referenced + or an enclosing module opened. + AutoOpenAttribute + + + Creates an attribute used to mark a module as 'automatically opened' when the enclosing namespace is opened + AutoOpenAttribute + + + This attribute is used for two purposes. When applied to an assembly, it must be given a string + argument, and this argument must indicate a valid module or namespace in that assembly. Source + code files compiled with a reference to this assembly are processed in an environment + where the given path is automatically oepned. + + When applied to a module within an assembly, then the attribute must not be given any arguments. + When the enclosing namespace is opened in user source code, the module is also implicitly opened. + + + The value of the attribute, indicating whether the type is automatically marked serializable or not + + + Creates an instance of the attribute + Indicates whether the type should be serializable by default. + AutoSerializableAttribute + + + Adding this attribute to a type with value 'false' disables the behaviour where F# makes the + type Serializable by default. + + + Creates an instance of the attribute + CLIEventAttribute + + + Adding this attribute to a property with event type causes it to be compiled with as a CLI + metadata event, through a syntactic translation to a pair of 'add_EventName' and + 'remove_EventName' methods. + + + Choice 2 of 2 choices + + + Choice 1 of 2 choices + + + Helper types for active patterns with 2 choices. + + + Choice 3 of 3 choices + + + Choice 2 of 3 choices + + + Choice 1 of 3 choices + + + Helper types for active patterns with 3 choices. + + + Choice 4 of 4 choices + + + Choice 3 of 4 choices + + + Choice 2 of 4 choices + + + Choice 1 of 4 choices + + + Helper types for active patterns with 4 choices. + + + Choice 5 of 5 choices + + + Choice 4 of 5 choices + + + Choice 3 of 5 choices + + + Choice 2 of 5 choices + + + Choice 1 of 5 choices + + + Helper types for active patterns with 5 choices. + + + Choice 6 of 6 choices + + + Choice 5 of 6 choices + + + Choice 4 of 6 choices + + + Choice 3 of 6 choices + + + Choice 2 of 6 choices + + + Choice 1 of 6 choices + + + Helper types for active patterns with 6 choices. + + + Choice 7 of 7 choices + + + Choice 6 of 7 choices + + + Choice 5 of 7 choices + + + Choice 4 of 7 choices + + + Choice 3 of 7 choices + + + Choice 2 of 7 choices + + + Choice 1 of 7 choices + + + Helper types for active patterns with 7 choices. + + + Creates an instance of the attribute + ClassAttribute + + + Adding this attribute to a type causes it to be represented using a CLI class. + + + Creates an instance of the attribute + ComparisonConditionalOnAttribute + + + This attribute is used to indicate a generic container type satisfies the F# 'comparison' + constraint only if a generic argument also satisfies this constraint. For example, adding + this attribute to parameter 'T on a type definition C<'T> means that a type C<X> only supports + comparison if the type X also supports comparison and all other conditions for C<X> to support + comparison are also met. The type C<'T> can still be used with other type arguments, but a type such + as C<(int -> int)> will not support comparison because the type (int -> int) is an F# function type + and does not support comparison. + + This attribute will be ignored if it is used on the generic parameters of functions or methods. + + + Indicates the number of arguments in each argument group + + + Creates an instance of the attribute + Indicates the number of arguments in each argument group. + CompilationArgumentCountsAttribute + + + This attribute is generated automatically by the F# compiler to tag functions and members + that accept a partial application of some of their arguments and return a residual function + + + Indicates the variant number of the entity, if any, in a linear sequence of elements with F# source code + + + Indicates the relationship between the compiled entity and F# source code + + + Indicates the sequence number of the entity, if any, in a linear sequence of elements with F# source code + + + Creates an instance of the attribute + Indicates the type of source construct. + CompilationMappingAttribute + + + Creates an instance of the attribute + Indicates the type of source construct. + CompilationMappingAttribute + + + Creates an instance of the attribute + Indicates the type of source construct. + CompilationMappingAttribute + + + This attribute is inserted automatically by the F# compiler to tag types + and methods in the generated CLI code with flags indicating the correspondence + with original source constructs. It is used by the functions in the + Microsoft.FSharp.Reflection namespace to reverse-map compiled constructs to + their original forms. It is not intended for use from user code. + + + Indicates one or more adjustments to the compiled representation of an F# type or member + + + Creates an instance of the attribute + Indicates adjustments to the compiled representation of the type or member. + CompilationRepresentationAttribute + + + This attribute is used to adjust the runtime representation for a type. + For example, it may be used to note that the null representation + may be used for a type. This affects how some constructs are compiled. + + + Compile a property as a CLI event. + + + Permit the use of null as a representation for nullary discriminators in a discriminated union. + + + append 'Module' to the end of a module whose name clashes with a type name in the same namespace. + + + Compile a member as 'instance' even if null is used as a representation for this type. + + + Compile an instance member as 'static' . + + + No special compilation representation. + + + + + + Indicates one or more adjustments to the compiled representation of an F# type or member. + + + Indicates the name of the entity in F# source code + + + Creates an instance of the attribute + The name of the method in source. + CompilationSourceNameAttribute + + + This attribute is inserted automatically by the F# compiler to tag + methods which are given the 'CompiledName' attribute. It is not intended + for use from user code. + + + The name of the value as it appears in compiled code + + + Creates an instance of the attribute + The name to use in compiled code. + CompiledNameAttribute + + + Adding this attribute to a value or function definition in an F# module changes the name used + for the value in compiled CLI code. + + + Indicates if the construct should always be hidden in an editing environment. + + + Indicates if the message should indicate a compiler error. Error numbers less than + 10000 are considered reserved for use by the F# compiler and libraries. + + + Indicates the number associated with the message. + + + Indicates the warning message to be emitted when F# source code uses this construct + + + Indicates if the construct should always be hidden in an editing environment. + + + Indicates if the message should indicate a compiler error. Error numbers less than + 10000 are considered reserved for use by the F# compiler and libraries. + + + Creates an instance of the attribute. + + + Indicates that a message should be emitted when F# source code uses this construct. + + + Creates an instance of the attribute + CustomComparisonAttribute + + + Adding this attribute to a type indicates it is a type with a user-defined implementation of comparison. + + + Creates an instance of the attribute + CustomEqualityAttribute + + + Adding this attribute to a type indicates it is a type with a user-defined implementation of equality. + + + The value of the attribute, indicating whether the type has a default augmentation or not + + + Creates an instance of the attribute + Indicates whether to generate helper members on the CLI class representing a discriminated + union. + DefaultAugmentationAttribute + + + Adding this attribute to a discriminated union with value false + turns off the generation of standard helper member tester, constructor + and accessor members for the generated CLI class for that type. + + + Indicates if a constraint is asserted that the field type supports 'null' + + + Creates an instance of the attribute + Indicates whether to assert that the field type supports null. + DefaultValueAttribute + + + Creates an instance of the attribute + DefaultValueAttribute + + + Adding this attribute to a field declaration means that the field is + not initialized. During type checking a constraint is asserted that the field type supports 'null'. + If the 'check' value is false then the constraint is not asserted. + + + Creates an instance of the attribute + EntryPointAttribute + + + Adding this attribute to a function indicates it is the entrypoint for an application. + If this absent is not speficied for an EXE then the initialization implicit in the + module bindings in the last file in the compilation sequence are used as the entrypoint. + + + Creates an instance of the attribute + EqualityConditionalOnAttribute + + + This attribute is used to indicate a generic container type satisfies the F# 'equality' + constraint only if a generic argument also satisfies this constraint. For example, adding + this attribute to parameter 'T on a type definition C<'T> means that a type C<X> only supports + equality if the type X also supports equality and all other conditions for C<X> to support + equality are also met. The type C<'T> can still be used with other type arguments, but a type such + as C<(int -> int)> will not support equality because the type (int -> int) is an F# function type + and does not support equality. + + This attribute will be ignored if it is used on the generic parameters of functions or methods. + + + Indicates the warning message to be emitted when F# source code uses this construct + + + Creates an instance of the attribute + The warning message to be emitted when code uses this construct. + ExperimentalAttribute + + + This attribute is used to tag values that are part of an experimental library + feature. + + + Convert an value of type System.Converter to a F# first class function value + The input System.Converter. + An F# function of the same type. + + + Convert an F# first class function value to a value of type System.Converter + The input function. + A System.Converter of the function type. + + + Convert an F# first class function value to a value of type System.Converter + The input function. + System.Converter<'T,'U> + + + Invoke an F# first class function value with two curried arguments. In some cases this + will result in a more efficient application than applying the arguments successively. + The input function. + The first arg. + The second arg. + The function result. + + + Invoke an F# first class function value with three curried arguments. In some cases this + will result in a more efficient application than applying the arguments successively. + The input function. + The first arg. + The second arg. + The third arg. + The function result. + + + Invoke an F# first class function value with four curried arguments. In some cases this + will result in a more efficient application than applying the arguments successively. + The input function. + The first arg. + The second arg. + The third arg. + The fourth arg. + The function result. + + + Invoke an F# first class function value with five curried arguments. In some cases this + will result in a more efficient application than applying the arguments successively. + The input function. + The first arg. + The second arg. + The third arg. + The fourth arg. + The fifth arg. + The function result. + + + Invoke an F# first class function value with one argument + + 'U + + + Convert an value of type System.Converter to a F# first class function value + The input System.Converter. + An F# function of the same type. + + + Construct an instance of an F# first class function value + The created F# function. + + + The CLI type used to represent F# function values. This type is not + typically used directly, though may be used from other CLI languages. + + + The release number of the F# version associated with the attribute + + + The minor version number of the F# version associated with the attribute + + + The major version number of the F# version associated with the attribute + + + Creates an instance of the attribute + The major version number. + The minor version number. + The release number. + FSharpInterfaceDataVersionAttribute + + + This attribute is added to generated assemblies to indicate the + version of the data schema used to encode additional F# + specific information in the resource attached to compiled F# libraries. + + + Specialize the type function at a given type + The specialized type. + + + Construct an instance of an F# first class type function value + FSharpTypeFunc + + + The CLI type used to represent F# first-class type function values. This type is for use + by compiled F# code. + + + Type of a formatting expression. + Function type generated by printf. + Type argument passed to %a formatters + Value generated by the overall printf action (e.g. sprint generates a string) + Value generated after post processing (e.g. failwithf generates a string internally then raises an exception) + + + Type of a formatting expression. + Function type generated by printf. + Type argument passed to %a formatters + Value generated by the overall printf action (e.g. sprint generates a string) + Value generated after post processing (e.g. failwithf generates a string internally then raises an exception) + Tuple of values generated by scan or match. + + + Convert the given Converter delegate object to an F# function value + The input Converter. + The F# function. + + + Convert the given Action delegate object to an F# function value + The input action. + The F# function. + + + A utility function to convert function values from tupled to curried form + The input tupled function. + The output curried function. + + + A utility function to convert function values from tupled to curried form + The input tupled function. + The output curried function. + + + A utility function to convert function values from tupled to curried form + The input tupled function. + The output curried function. + + + A utility function to convert function values from tupled to curried form + The input tupled function. + The output curried function. + + + Helper functions for converting F# first class function values to and from CLI representaions + of functions using delegates. + + + Creates an instance of the attribute + GeneralizableValueAttribute + + + Adding this attribute to a non-function value with generic parameters indicates that + uses of the construct can give rise to generic code through type inference. + + + Creates an instance of the attribute + InterfaceAttribute + + + Adding this attribute to a type causes it to be represented using a CLI interface. + + + Creates an instance of the attribute + LiteralAttribute + + + Adding this attribute to a value causes it to be compiled as a CLI constant literal. + + + Creates an instance of the attribute + MeasureAnnotatedAbbreviationAttribute + + + Adding this attribute to a type causes it to be interpreted as a refined type, currently limited to measure-parameterized types. + This may only be used under very limited conditions. + + + Creates an instance of the attribute + MeasureAttribute + + + Adding this attribute to a type causes it to be interpreted as a unit of measure. + This may only be used under very limited conditions. + + + Creates an instance of the attribute + NoComparisonAttribute + + + Adding this attribute to a type indicates it is a type where comparison is an abnormal operation. + This means that the type does not satisfy the F# 'comparison' constraint. Within the bounds of the + F# type system, this helps ensure that the F# generic comparison function is not instantiated directly + at this type. The attribute and checking does not constrain the use of comparison with base or child + types of this type. + + + Creates an instance of the attribute + NoDynamicInvocationAttribute + + + This attribute is used to tag values that may not be dynamically invoked at runtime. This is + typically added to inlined functions whose implementations include unverifiable code. It + causes the method body emitted for the inlined function to raise an exception if + dynamically invoked, rather than including the unverifiable code in the generated + assembly. + + + Creates an instance of the attribute + NoEqualityAttribute + + + Adding this attribute to a type indicates it is a type where equality is an abnormal operation. + This means that the type does not satisfy the F# 'equality' constraint. Within the bounds of the + F# type system, this helps ensure that the F# generic equality function is not instantiated directly + at this type. The attribute and checking does not constrain the use of comparison with base or child + types of this type. + + + The representation of "Value of type 'T" + The input value. + An option representing the value. + + + The representation of "No value" + + + Get the value of a 'Some' option. A NullReferenceException is raised if the option is 'None'. + + + Create an option value that is a 'None' value. + + + Return 'true' if the option is a 'Some' value. + + + Return 'true' if the option is a 'None' value. + + + Create an option value that is a 'Some' value. + The input value + An option representing the value. + + + The type of optional values. When used from other CLI languages the + empty option is the null value. + + Use the constructors Some and None to create values of this type. + Use the values in the Option module to manipulate values of this type, + or pattern match against the values directly. + + None values will appear as the value null to other CLI languages. + Instance methods on this type will appear as static methods to other CLI languages + due to the use of null as a value representation. + + + Creates an instance of the attribute + OptionalArgumentAttribute + + + This attribute is added automatically for all optional arguments. + + + The raw text of the format string. + + + Construct a format string + The input string. + The PrintfFormat containing the formatted result. + + + Type of a formatting expression. + Function type generated by printf. + Type argument passed to %a formatters + Value generated by the overall printf action (e.g. sprint generates a string) + Value generated after post processing (e.g. failwithf generates a string internally then raises an exception) + + + Construct a format string + The input string. + The created format string. + + + Type of a formatting expression. + Function type generated by printf. + Type argument passed to %a formatters + Value generated by the overall printf action (e.g. sprint generates a string) + Value generated after post processing (e.g. failwithf generates a string internally then raises an exception) + Tuple of values generated by scan or match. + + + + The current value of the reference cell + + + + The current value of the reference cell + + + The current value of the reference cell + + + The type of mutable references. Use the functions [:=] and [!] to get and + set values of this type. + + + Creates an instance of the attribute + ReferenceEqualityAttribute + + + Adding this attribute to a record or union type disables the automatic generation + of overrides for 'System.Object.Equals(obj)', 'System.Object.GetHashCode()' + and 'System.IComparable' for the type. The type will by default use reference equality. + + + Creates an instance of the attribute + ReflectedDefinitionAttribute + + + Adding this attribute to the let-binding for the definition of a top-level + value makes the quotation expression that implements the value available + for use at runtime. + + + Creates an instance of the attribute + RequireQualifiedAccessAttribute + + + This attribute is used to indicate that references to a the elements of a module, record or union + type require explicit qualified access. + + + Creates an instance of the attribute + RequiresExplicitTypeArgumentsAttribute + + + Adding this attribute to a type, value or member requires that + uses of the construct must explicitly instantiate any generic type parameters. + + + The value of the attribute, indicating whether the type is sealed or not. + + + Creates an instance of the attribute + Indicates whether the class is sealed. + SealedAttribute + + + Creates an instance of the attribute. + The created attribute. + + + Adding this attribute to class definition makes it sealed, which means it may not + be extended or implemented. + + + Indicates that the compiled entity had private or internal representation in F# source code. + + + The mask of values related to the kind of the compiled entity. + + + Indicates that the compiled entity is part of the representation of an F# value declaration. + + + Indicates that the compiled entity is part of the representation of an F# union case declaration. + + + Indicates that the compiled entity is part of the representation of an F# module declaration. + + + Indicates that the compiled entity is part of the representation of an F# closure. + + + Indicates that the compiled entity is part of the representation of an F# exception declaration. + + + Indicates that the compiled entity is part of the representation of an F# record or union case field declaration. + + + Indicates that the compiled entity is part of the representation of an F# class or other object type declaration. + + + Indicates that the compiled entity is part of the representation of an F# record type declaration. + + + Indicates that the compiled entity is part of the representation of an F# union type declaration. + + + Indicates that the compiled entity has no relationship to an element in F# source code. + + + + + + Indicates the relationship between a compiled entity in a CLI binary and an element in F# source code. + + + Creates an instance of the attribute + StructAttribute + + + Adding this attribute to a type causes it to be represented using a CLI struct. + + + Creates an instance of the attribute + StructuralComparisonAttribute + + + Adding this attribute to a record, union, exception, or struct type confirms the + automatic generation of implementations for 'System.IComparable' for the type. + + + Creates an instance of the attribute + StructuralEqualityAttribute + + + Adding this attribute to a record, union or struct type confirms the automatic + generation of overrides for 'System.Object.Equals(obj)' and + 'System.Object.GetHashCode()' for the type. + + + Indicates the text to display by default when objects of this type are displayed + using '%A' printf formatting patterns and other two-dimensional text-based display + layouts. + + + Creates an instance of the attribute + Indicates the text to display when using the '%A' printf formatting. + StructuredFormatDisplayAttribute + + + This attribute is used to mark how a type is displayed by default when using + '%A' printf formatting patterns and other two-dimensional text-based display layouts. + In this version of F# the only valid values are of the form PreText {PropertyName} PostText. + The property name indicates a property to evaluate and to display instead of the object itself. + + + The type 'unit', which has only one value "()". This value is special and + always uses the representation 'null'. + + + Creates an instance of the attribute + UnverifiableAttribute + + + This attribute is used to tag values whose use will result in the generation + of unverifiable code. These values are inevitably marked 'inline' to ensure that + the unverifiable constructs are not present in the actual code for the F# library, + but are rather copied to the source code of the caller. + + + Creates an instance of the attribute + VolatileFieldAttribute + + + Adding this attribute to an F# mutable binding causes the "volatile" + prefix to be used for all accesses to the field. + + + Four dimensional arrays, typically zero-based. Non-zero-based arrays + can be created using methods on the System.Array type. + + Use the values in the Array4D module + to manipulate values of this type, or the notation arr.[x1,x2,x3,x4] to get and set array + values. + + + Three dimensional arrays, typically zero-based. Non-zero-based arrays + can be created using methods on the System.Array type. + + Use the values in the Array3D module + to manipulate values of this type, or the notation arr.[x1,x2,x3] to get and set array + values. + + + Two dimensional arrays, typically zero-based. + + Use the values in the Array2D module + to manipulate values of this type, or the notation arr.[x,y] to get/set array + values. + + Non-zero-based arrays can also be created using methods on the System.Array type. + + + Single dimensional, zero-based arrays, written int[], string[] etc. + Use the values in the Array module to manipulate values + of this type, or the notation arr.[x] to get/set array + values. + + + Single dimensional, zero-based arrays, written int[], string[] etc. + + Use the values in the Array module to manipulate values + of this type, or the notation arr.[x] to get/set array + values. + + + + + + An abbreviation for the CLI type System.Boolean. + + + Represents a managed pointer in F# code. + + + An abbreviation for the CLI type System.Byte. + + + An abbreviation for the CLI type System.Char. + + + An abbreviation for the CLI type System.Decimal. + + + The type of decimal numbers, annotated with a unit of measure. The unit + of measure is erased in compiled code and when values of this type + are analyzed using reflection. The type is representationally equivalent to + System.Decimal. + + + An abbreviation for the CLI type System.Double. + + + An abbreviation for the CLI type System.Exception. + + + An abbreviation for the CLI type System.Double. + + + An abbreviation for the CLI type System.Single. + + + The type of floating point numbers, annotated with a unit of measure. The unit + of measure is erased in compiled code and when values of this type + are analyzed using reflection. The type is representationally equivalent to + System.Single. + + + The type of floating point numbers, annotated with a unit of measure. The unit + of measure is erased in compiled code and when values of this type + are analyzed using reflection. The type is representationally equivalent to + System.Double. + + + This type is for internal use by the F# code generator. + + + An abbreviation for the CLI type System.Int32. + + + An abbreviation for the CLI type System.Int16. + + + The type of 16-bit signed integer numbers, annotated with a unit of measure. The unit + of measure is erased in compiled code and when values of this type + are analyzed using reflection. The type is representationally equivalent to + System.Int16. + + + An abbreviation for the CLI type System.Int32. + + + An abbreviation for the CLI type System.Int64. + + + The type of 64-bit signed integer numbers, annotated with a unit of measure. The unit + of measure is erased in compiled code and when values of this type + are analyzed using reflection. The type is representationally equivalent to + System.Int64. + + + An abbreviation for the CLI type System.SByte. + + + The type of 32-bit signed integer numbers, annotated with a unit of measure. The unit + of measure is erased in compiled code and when values of this type + are analyzed using reflection. The type is representationally equivalent to + System.Int32. + + + An abbreviation for the CLI type System.IntPtr. + + + Represents an unmanaged pointer in F# code. + + This type should only be used when writing F# code that interoperates + with native code. Use of this type in F# code may result in + unverifiable code being generated. Conversions to and from the + nativeint type may be required. Values of this type can be generated + by the functions in the NativeInterop.NativePtr module. + + + An abbreviation for the CLI type System.Object. + + + The type of optional values. When used from other CLI languages the + empty option is the null value. + + Use the constructors Some and None to create values of this type. + Use the values in the Option module to manipulate values of this type, + or pattern match against the values directly. + + 'None' values will appear as the value null to other CLI languages. + Instance methods on this type will appear as static methods to other CLI languages + due to the use of null as a value representation. + + + The type of mutable references. Use the functions [:=] and [!] to get and + set values of this type. + + + An abbreviation for the CLI type System.SByte. + + + The type of 8-bit signed integer numbers, annotated with a unit of measure. The unit + of measure is erased in compiled code and when values of this type + are analyzed using reflection. The type is representationally equivalent to + System.SByte. + + + An abbreviation for the CLI type System.Single. + + + An abbreviation for the CLI type System.String. + + + An abbreviation for the CLI type System.UInt16. + + + An abbreviation for the CLI type System.UInt32. + + + An abbreviation for the CLI type System.UInt64. + + + An abbreviation for the CLI type System.Byte. + + + An abbreviation for the CLI type System.UIntPtr. + + + The type 'unit', which has only one value "()". This value is special and + always uses the representation 'null'. + + + + + + + + + + + + Non-exhaustive match failures will raise the MatchFailureException exception + + + The F# compiler emits implementations of this type for compiled sequence expressions. + + + The F# compiler emits implementations of this type for compiled sequence expressions. + + + The F# compiler emits implementations of this type for compiled sequence expressions. + + A new enumerator for the sequence. + + + The F# compiler emits implementations of this type for compiled sequence expressions. + + A reference to the sequence. + + A 0, 1, and 2 respectively indicate Stop, Yield, and Goto conditions for the sequence generator. + + + The F# compiler emits implementations of this type for compiled sequence expressions. + + + The F# compiler emits implementations of this type for compiled sequence expressions. + + A new sequence generator for the expression. + + + The F# compiler emits implementations of this type for compiled sequence expressions. + + + + + + + + + + + + + + + Creates an anonymous event with the given handlers. + + A function to handle adding a delegate for the event to trigger. + A function to handle removing a delegate that the event triggers. + A function to produce the delegate type the event can trigger. + + The initialized event. + + + The F# compiler emits calls to this function to implement the use operator for F# sequence + expressions. + + The resource to be used and disposed. + The input sequence. + + The result sequence. + + + The F# compiler emits calls to this function to implement the compiler-intrinsic + conversions from untyped System.Collections.IEnumerable sequences to typed sequences. + + An initializer function. + A function to iterate and test if end of sequence is reached. + A function to retrieve the current element. + + The resulting typed sequence. + + + The F# compiler emits calls to this function to + implement the try/finally operator for F# sequence expressions. + + The input sequence. + A computation to be included in an enumerator's Dispose method. + + The result sequence. + + + The F# compiler emits calls to this function to + implement the while operator for F# sequence expressions. + + A function that indicates whether iteration should continue. + The input sequence. + + The result sequence. + + + A group of functions used as part of the compiled representation of F# sequence expressions. + + + An active pattern to force the execution of values of type Lazy<_>. + + + Special prefix operator for splicing untyped expressions into quotation holes. + + + Special prefix operator for splicing typed expressions into quotation holes. + + + Builds a 2D array from a sequence of sequences of elements. + + + Builds a read-only lookup table from a sequence of key/value pairs. The key objects are indexed using generic hashing and equality. + + + Converts the argument to signed byte. + This is a direct conversion for all + primitive numeric types. For strings, the input is converted using SByte.Parse() with InvariantCulture settings. + Otherwise the operation requires and invokes a ToSByte method on the input type. + + + Converts the argument to byte. + This is a direct conversion for all + primitive numeric types. For strings, the input is converted using Byte.Parse() on strings and otherwise requires a ToByte method on the input type. + + + Converts the argument to 64-bit float. + This is a direct conversion for all + primitive numeric types. For strings, the input is converted using Double.Parse() with InvariantCulture settings. Otherwise the operation requires and invokes a ToDouble method on the input type. + + + Converts the argument to 32-bit float. + This is a direct conversion for all + primitive numeric types. For strings, the input is converted using Single.Parse() with InvariantCulture settings. Otherwise the operation requires and invokes a ToSingle method on the input type. + + + Builds an aysnchronous workflow using computation expression syntax. + + + Builds a set from a sequence of objects. The objects are indexed using generic comparison. + The input sequence of elements. + The created set. + + + Print to a file using the given format, and add a newline. + The file TextWriter. + The formatter. + The formatted result. + + + Print to a file using the given format. + The file TextWriter. + The formatter. + The formatted result. + + + Print to a string buffer and raise an exception with the given + result. Helper printers must return strings. + The formatter. + The formatted result. + + + Print to a string using the given format. + The formatter. + The formatted result. + + + Print to stderr using the given format, and add a newline. + The formatter. + The formatted result. + + + Print to stderr using the given format. + The formatter. + The formatted result. + + + Print to stdout using the given format, and add a newline. + The formatter. + The formatted result. + + + Print to stdout using the given format. + The formatter. + The formatted result. + + + + + + Divides a value by an integer. + The input value. + The input int. + The division result. + + + + + + Resolves to the one value for any primitive numeric type or any type with a static member called 'One' + + + Resolves to the zero value for any primitive numeric type or any type with a static member called 'Zero' + + + A compiler intrinsic that implements dynamic invocations for the DivideByInt primitive. + + + A compiler intrinsic that implements dynamic invocations to the checked '+' operator. + + + A compiler intrinsic that implements dynamic invocations to the '+' operator. + + + A compiler intrinsic that implements dynamic invocations to the checked '+' operator. + + + A compiler intrinsic that implements dynamic invocations to the '+' operator. + + + Resolves to the zero value for any primitive numeric type or any type with a static member called 'Zero'. + + + Resolves to the zero value for any primitive numeric type or any type with a static member called 'Zero'. + + + Parse an uint64 according to the rules used by the overloaded 'uint64' conversion operator when applied to strings + The input string. + The parsed value. + + + Parse an int64 according to the rules used by the overloaded 'int64' conversion operator when applied to strings + The input string. + The parsed value. + + + Parse an uint32 according to the rules used by the overloaded 'uint32' conversion operator when applied to strings + The input string. + The parsed value. + + + Parse an int32 according to the rules used by the overloaded 'int32' conversion operator when applied to strings + The input string. + The parsed value. + + + Creates an sbyte value with units-of-measure + The input sbyte. + The sbyte with units-of-measure. + + + Creates an int16 value with units-of-measure + The input int16. + The int16 with units-of-measure. + + + Creates an int64 value with units-of-measure + The input int64. + The int64 with units of measure. + + + Creates an int32 value with units-of-measure + The input int. + The int with units of measure. + + + Creates a decimal value with units-of-measure + The input decimal. + The decimal with units of measure. + + + Creates a float32 value with units-of-measure + The input float. + The float with units-of-measure. + + + Creates a float value with units-of-measure + The input float. + The float with units-of-measure. + + + Get the underlying value for an enum value + The input enum. + The enumeration as a value. + + + Build an enum value from an underlying value + The input value. + The value as an enumeration. + + + Recursively hash a part of a value according to its structure. + The comparison function. + The input object. + The hashed value. + + + Hash a value according to its structure. Use the given limit to restrict the hash when hashing F# + records, lists and union types. + The limit on the number of nodes. + The input object. + The hashed value. + + + Hash a value according to its structure. This hash is not limited by an overall node count when hashing F# + records, lists and union types. + The input object. + The hashed value. + + + Make an F# hash/equality object for the given type using node-limited hashing when hashing F# + records, lists and union types. + The input limit on the number of nodes. + System.Collections.Generic.IEqualityComparer<'T> + + + Make an F# hash/equality object for the given type + + + Make an F# comparer object for the given type, where it can be null if System.Collections.Generic.Comparer<'T>.Default + + + Make an F# comparer object for the given type + + + A static F# comparer object + + + Return an F# comparer object suitable for hashing and equality. This hashing behaviour + of the returned comparer is not limited by an overall node count when hashing F# + records, lists and union types. This equality comparer has equivalence + relation semantics ([nan] = [nan]). + + + Return an F# comparer object suitable for hashing and equality. This hashing behaviour + of the returned comparer is not limited by an overall node count when hashing F# + records, lists and union types. + + + The physical hash. Hashes on the object identity, except for value types, + where we hash on the contents. + The input object. + The hashed value. + + + Reference/physical equality. + True if boxed versions of the inputs are reference-equal, OR if + both are primitive numeric types and the implementation of Object.Equals for the type + of the first argument returns true on the boxed versions of the inputs. + The first value. + The second value. + The result of the comparison. + + + Take the maximum of two values structurally according to the order given by GenericComparison + The first value. + The second value. + The maximum value. + + + Take the minimum of two values structurally according to the order given by GenericComparison + The first value. + The second value. + The minimum value. + + + Compare two values + The first value. + The second value. + The result of the comparison. + + + Compare two values + The first value. + The second value. + The result of the comparison. + + + Compare two values + The first value. + The second value. + The result of the comparison. + + + Compare two values + The first value. + The second value. + The result of the comparison. + + + Compare two values. May be called as a recursive case from an implementation of System.IComparable to + ensure consistent NaN comparison semantics. + The function to compare the values. + The first value. + The second value. + The result of the comparison. + + + Compare two values + The first value. + The second value. + The result of the comparison. + + + Compare two values for equality + + The first value. + The second value. + The result of the comparison. + + + Compare two values for equality using equivalence relation semantics ([nan] = [nan]) + The first value. + The second value. + The result of the comparison. + + + Compare two values for equality using partial equivalence relation semantics ([nan] <> [nan]) + The first value. + The second value. + The result of the comparison. + + + A primitive entry point used by the F# compiler for optimization purposes. + + + A primitive entry point used by the F# compiler for optimization purposes. + + + A primitive entry point used by the F# compiler for optimization purposes. + + + A primitive entry point used by the F# compiler for optimization purposes. + + + A primitive entry point used by the F# compiler for optimization purposes. + + + A primitive entry point used by the F# compiler for optimization purposes. + + + A primitive entry point used by the F# compiler for optimization purposes. + + + A primitive entry point used by the F# compiler for optimization purposes. + + + A primitive entry point used by the F# compiler for optimization purposes. + + + A primitive entry point used by the F# compiler for optimization purposes. + + + A primitive entry point used by the F# compiler for optimization purposes. + + + A primitive entry point used by the F# compiler for optimization purposes. + + + A primitive entry point used by the F# compiler for optimization purposes. + + + A primitive entry point used by the F# compiler for optimization purposes. + + + A primitive entry point used by the F# compiler for optimization purposes. + + + A primitive entry point used by the F# compiler for optimization purposes. + + + A primitive entry point used by the F# compiler for optimization purposes. + + + A primitive entry point used by the F# compiler for optimization purposes. + + + A primitive entry point used by the F# compiler for optimization purposes. + + + A primitive entry point used by the F# compiler for optimization purposes. + + + A primitive entry point used by the F# compiler for optimization purposes. + + + A primitive entry point used by the F# compiler for optimization purposes. + + + A primitive entry point used by the F# compiler for optimization purposes. + + + A primitive entry point used by the F# compiler for optimization purposes. + + + A primitive entry point used by the F# compiler for optimization purposes. + + + A primitive entry point used by the F# compiler for optimization purposes. + + + The F# compiler emits calls to some of the functions in this module as part of the compiled form of some language constructs + + + + The standard overloaded associative (4-indexed) mutation operator + + + + The standard overloaded associative (3-indexed) mutation operator + + + The standard overloaded associative (2-indexed) mutation operator + + + The standard overloaded associative (indexed) mutation operator + + + The standard overloaded associative (4-indexed) lookup operator + + + The standard overloaded associative (3-indexed) lookup operator + + + The standard overloaded associative (2-indexed) lookup operator + + + The standard overloaded associative (indexed) lookup operator + + + A compiler intrinsic for checking initialization soundness of recursive bindings + + + A compiler intrinsic for checking initialization soundness of recursive static bindings + + + A compiler intrinsic for checking initialization soundness of recursive bindings + + + A compiler intrinsic for the efficient compilation of sequence expressions + + + This function implements parsing of decimal constants + + + This function implements calls to default constructors + acccessed by 'new' constraints. + + + Primitive used by pattern match compilation + + + A compiler intrinsic that implements the ':?' operator + + + A compiler intrinsic that implements the ':?' operator + + + A compiler intrinsic that implements the ':?>' operator + + + A compiler intrinsic that implements the ':?>' operator + + + The F# compiler emits calls to some of the functions in this module as part of the compiled form of some language constructs + + + Address-of. Uses of this value may result in the generation of unverifiable code. + The input object. + The unmanaged pointer. + + + Address-of. Uses of this value may result in the generation of unverifiable code. + The input object. + The managed pointer. + + + Binary 'or'. When used as a binary operator the right hand value is evaluated only on demand + The first value. + The second value. + The result of the operation. + + + Binary 'or'. When used as a binary operator the right hand value is evaluated only on demand. + + + Binary 'and'. When used as a binary operator the right hand value is evaluated only on demand + The first value. + The second value. + The result of the operation. + + + Binary 'and'. When used as a binary operator the right hand value is evaluated only on demand. + + + The F# compiler emits calls to some of the functions in this module as part of the compiled form of some language constructs + + + + + + + + + + + + + + + + + + For internal use only + + + Language primitives associated with the F# language + + + + Provides a default implementations of F# numeric literal syntax for literals fo the form 'dddI' + + + + + Provides a default implementations of F# numeric literal syntax for literals fo the form 'dddI' + + + + + Provides a default implementations of F# numeric literal syntax for literals fo the form 'dddI' + + + + + Provides a default implementations of F# numeric literal syntax for literals fo the form 'dddI' + + + + + Provides a default implementations of F# numeric literal syntax for literals fo the form 'dddI' + + + + + Provides a default implementations of F# numeric literal syntax for literals fo the form 'dddI' + + + + + Provides a default implementations of F# numeric literal syntax for literals fo the form 'dddI' + + + + + Provides a default implementations of F# numeric literal syntax for literals fo the form 'dddI' + + + + + Provides a default implementations of F# numeric literal syntax for literals fo the form 'dddI' + + + + An active pattern to match values of type System.Collections.Generic.KeyValuePair + The input key/value pair. + A tuple containing the key and value. + + + Converts the argument to character. Numeric inputs are converted according to the UTF-16 + encoding for characters. String inputs must be exactly one character long. For other + input types the operation requires an appropriate static conversion method on the input type. + The input value. + The converted char. + + + Converts the argument to System.Decimal using a direct conversion for all + primitive numeric types. For strings, the input is converted using UInt64.Parse() + with InvariantCulture settings. Otherwise the operation requires an appropriate + static conversion method on the input type. + The input value. + The converted decimal. + + + Converts the argument to a string using ToString. + + For standard integer and floating point values the ToString conversion + uses CultureInfo.InvariantCulture. + The input value. + The converted string. + + + Converts the argument to unsigned native integer using a direct conversion for all + primitive numeric types. Otherwise the operation requires an appropriate + static conversion method on the input type. + The input value. + The converted unativeint + + + Converts the argument to signed native integer. This is a direct conversion for all + primitive numeric types. Otherwise the operation requires an appropriate + static conversion method on the input type. + The input value. + The converted nativeint + + + Converts the argument to 64-bit float. This is a direct conversion for all + primitive numeric types. For strings, the input is converted using Double.Parse() + with InvariantCulture settings. Otherwise the operation requires an appropriate + static conversion method on the input type. + The input value. + The converted float + + + Converts the argument to 32-bit float. This is a direct conversion for all + primitive numeric types. For strings, the input is converted using Single.Parse() + with InvariantCulture settings. Otherwise the operation requires an appropriate + static conversion method on the input type. + The input value. + The converted float32 + + + Converts the argument to unsigned 64-bit integer. This is a direct conversion for all + primitive numeric types. For strings, the input is converted using UInt64.Parse() + with InvariantCulture settings. Otherwise the operation requires an appropriate + static conversion method on the input type. + The input value. + The converted uint64 + + + Converts the argument to signed 64-bit integer. This is a direct conversion for all + primitive numeric types. For strings, the input is converted using Int64.Parse() + with InvariantCulture settings. Otherwise the operation requires an appropriate + static conversion method on the input type. + The input value. + The converted int64 + + + Converts the argument to unsigned 32-bit integer. This is a direct conversion for all + primitive numeric types. For strings, the input is converted using UInt32.Parse() + with InvariantCulture settings. Otherwise the operation requires an appropriate + static conversion method on the input type. + The input value. + The converted uint32 + + + Converts the argument to signed 32-bit integer. This is a direct conversion for all + primitive numeric types. For strings, the input is converted using Int32.Parse() + with InvariantCulture settings. Otherwise the operation requires an appropriate + static conversion method on the input type. + The input value. + The converted int32 + + + Converts the argument to a particular enum type. + The input value. + The converted enum type. + + + Converts the argument to signed 32-bit integer. This is a direct conversion for all + primitive numeric types. For strings, the input is converted using Int32.Parse() + with InvariantCulture settings. Otherwise the operation requires an appropriate + static conversion method on the input type. + The input value. + The converted int + + + Converts the argument to unsigned 16-bit integer. This is a direct conversion for all + primitive numeric types. For strings, the input is converted using UInt16.Parse() + with InvariantCulture settings. Otherwise the operation requires an appropriate + static conversion method on the input type. + The input value. + The converted uint16 + + + Converts the argument to signed 16-bit integer. This is a direct conversion for all + primitive numeric types. For strings, the input is converted using Int16.Parse() + with InvariantCulture settings. Otherwise the operation requires an appropriate + static conversion method on the input type. + The input value. + The converted int16 + + + Converts the argument to signed byte. This is a direct conversion for all + primitive numeric types. For strings, the input is converted using SByte.Parse() + with InvariantCulture settings. Otherwise the operation requires an appropriate + static conversion method on the input type. + The input value. + The converted sbyte + + + Converts the argument to byte. This is a direct conversion for all + primitive numeric types. For strings, the input is converted using Byte.Parse() + with InvariantCulture settings. Otherwise the operation requires an appropriate + static conversion method on the input type. + The input value. + The converted byte + + + Overloaded power operator. If n > 0 then equivalent to x*...*x for n occurrences of x. + The input base. + The input exponent. + The base raised to the exponent. + + + Overloaded power operator. + The input base. + The input exponent. + The base raised to the exponent. + + + Overloaded truncate operator. + The input value. + The truncated value. + + + Hyperbolic tangent of the given number + The input value. + The hyperbolic tangent of the input. + + + Tangent of the given number + The input value. + The tangent of the input. + + + Hyperbolic sine of the given number + The input value. + The hyperbolic sine of the input. + + + Sine of the given number + The input value. + The sine of the input. + + + Hyperbolic cosine of the given number + The input value. + The hyperbolic cosine of the input. + + + Cosine of the given number + The input value. + The cosine of the input. + + + Square root of the given number + The input value. + The square root of the input. + + + Logarithm to base 10 of the given number + The input value. + The logarithm to base 10 of the input. + + + Natural logarithm of the given number + The input value. + The natural logarithm of the input. + + + Round the given number + The input value. + The nearest integer to the input value. + + + Sign of the given number + The input value. + -1, 0, or 1 depending on the sign of the input. + + + Floor of the given number + The input value. + The floor of the input. + + + Exponential of the given number + The input value. + The exponential of the input. + + + Ceiling of the given number + The input value. + The ceiling of the input. + + + Inverse tangent of x/y where x and y are specified separately + The y input value. + The x input value. + The inverse tangent of the input ratio. + + + Inverse tangent of the given number + The input value. + The inverse tangent of the input. + + + Inverse sine of the given number + The input value. + The inverse sine of the input. + + + Inverse cosine of the given number + The input value. + The inverse cosine of the input. + + + Absolute value of the given number. + The input value. + The absolute value of the input. + + + A generic hash function. This function has the same behaviour as 'hash', + however the default structural hashing for F# union, record and tuple + types stops when the given limit of nodes is reached. The exact behaviour of + the function can be adjusted on a type-by-type basis by implementing + GetHashCode for each type. + The limit of nodes. + The input object. + The computed hash. + + + A generic hash function, designed to return equal hash values for items that are + equal according to the "=" operator. By default it will use structural hashing + for F# union, record and tuple types, hashing the complete contents of the + type. The exact behaviour of the function can be adjusted on a + type-by-type basis by implementing GetHashCode for each type. + The input object. + The computed hash. + + + Returns the internal size of a type in bytes. For example, sizeof<int> returns 4. + + + Generate a System.Type representation for a type definition. If the + input type is a generic type instantiation then return the + generic type definition associated with all such instantiations. + + + Generate a System.Type runtime representation of a static type. + The static type is still maintained on the value returned. + + + Clean up resources associated with the input object after the completion of the given function. + Cleanup occurs even when an exception is raised by the protected + code. + The resource to be disposed after action is called. + The action that accepts the resource. + The resulting value. + + + Execute the function as a mutual-exclusion region using the input value as a lock. + The object to be locked. + The action to perform during the lock. + The resulting value. + + + The standard overloaded skip range operator, e.g. [n..skip..m] for lists, seq {n..skip..m} for sequences + The start value of the range. + The step value of the range. + The end value of the range. + The sequence spanning the range using the specified step size. + + + The standard overloaded range operator, e.g. [n..m] for lists, seq {n..m} for sequences + The start value of the range. + The end value of the range. + The sequence spanning the range. + + + Reads the value of the property System.Console.Out. + + + Reads the value of the property System.Console.Error. + + + Reads the value of the property System.Console.In. + + + Equivalent to System.Single.NaN + + + Equivalent to System.Single.PositiveInfinity + + + Equivalent to System.Double.NaN + + + Equivalent to System.Double.PositiveInfinity + + + Exit the current hardware isolated process, if security settings permit, + otherwise raise an exception. Calls System.Environment.Exit. + The exit code to use. + The result value. + + + Builds a sequence using sequence expression syntax + The input sequence. + The result sequence. + + + Negate a logical value. not true equals false and not false equals true + The value to negate. + The result of the negation. + + + Concatenate two lists. + The first list. + The second list. + The concatenation of the lists. + + + Increment a mutable reference cell containing an integer + The reference cell. + + + Decrement a mutable reference cell containing an integer + The reference cell. + + + Dereference a mutable reference cell + The cell to dereference. + The value contained in the cell. + + + Assign to a mutable reference cell + The cell to mutate. + The value to set inside the cell. + + + Create a mutable reference cell + The value to contain in the cell. + The created reference cell. + + + The identity function + The input value. + The same value. + + + Throw an System.InvalidOperationException exception + The exception message. + The result value. + + + Throw an System.ArgumentNullException exception + The argument name. + The result value. + + + Throw an System.ArgumentException exception + The argument name. + The exception message. + The result value. + + + Throw a System.Exception exception + The exception message. + The result value. + + + Boxes a strongly typed value. + The value to box. + The boxed object. + + + Unboxes a strongly typed value. This is the inverse of box, unbox<t>(box<t> a) equals a. + The boxed value. + The unboxed result. + + + Ignore the passed value. This is often used to throw away results of a computation. + The value to ignore. + + + Minimum based on generic comparison + The first value. + The second value. + The minimum value. + + + Maximum based on generic comparison + The first value. + The second value. + The maximum value. + + + Generic comparison. + The first value. + The second value. + The result of the comparison. + + + Return the second element of a tuple, snd (a,b) = b. + The input tuple. + The second value. + + + Return the first element of a tuple, fst (a,b) = a. + The input tuple. + The first value. + + + Matches System.Exception objects whose runtime type is precisely System.Exception + The input exception. + A string option. + + + Builds a System.Exception object. + The message for the Exception. + A System.Exception. + + + Rethrows an exception. This should only be used when handling an exception + The result value. + + + Rethrows an exception. This should only be used when handling an exception + The result value. + + + Raises an exception + The exception to raise. + The result value. + + + Concatenate two strings. The operator '+' may also be used. + + + Used to specify a default value for an optional argument in the implementation of a function + An option representing the argument. + The default value of the argument. + The argument value. If it is None, the defaultValue is returned. + + + Apply a function to three values, the values being a triple on the right, the function on the left + The function. + The first argument. + The second argument. + The third argument. + The function result. + + + Apply a function to two values, the values being a pair on the right, the function on the left + The function. + The first argument. + The second argument. + The function result. + + + Apply a function to a value, the value being on the right, the function on the left + The function. + The argument. + The function result. + + + Apply a function to three values, the values being a triple on the left, the function on the right + The first argument. + The second argument. + The third argument. + The function. + The function result. + + + Apply a function to two values, the values being a pair on the left, the function on the right + The first argument. + The second argument. + The function. + The function result. + + + Apply a function to a value, the value being on the left, the function on the right + The argument. + The function. + The function result. + + + Compose two functions, the function on the right being applied first + The second function to apply. + The first function to apply. + The composition of the input functions. + + + Compose two functions, the function on the left being applied first + The first function to apply. + The second function to apply. + The composition of the input functions. + + + Structural inequality + The first parameter. + The second parameter. + The result of the comparison. + + + Structural equality + The first parameter. + The second parameter. + The result of the comparison. + + + Structural less-than-or-equal comparison + The first parameter. + The second parameter. + The result of the comparison. + + + Structural greater-than-or-equal + The first parameter. + The second parameter. + The result of the comparison. + + + Structural greater-than + The first parameter. + The second parameter. + The result of the comparison. + + + Structural less-than comparison + The first parameter. + The second parameter. + The result of the comparison. + + + Overloaded prefix=plus operator + The input value. + The result of the operation. + + + Overloaded logical-NOT operator + The input value. + The result of the operation. + + + Overloaded byte-shift right operator by a specified number of bits + The input value. + The amount to shift. + The result of the operation. + + + Overloaded byte-shift left operator by a specified number of bits + The input value. + The amount to shift. + The result of the operation. + + + Overloaded logical-XOR operator + The first parameter. + The second parameter. + The result of the operation. + + + Overloaded logical-OR operator + The first parameter. + The second parameter. + The result of the operation. + + + Overloaded logical-AND operator + The first parameter. + The second parameter. + The result of the operation. + + + Overloaded modulo operator + The first parameter. + The second parameter. + The result of the operation. + + + Overloaded division operator + The first parameter. + The second parameter. + The result of the operation. + + + Overloaded multiplication operator + The first parameter. + The second parameter. + The result of the operation. + + + Overloaded subtraction operator + The first parameter. + The second parameter. + The result of the operation. + + + Overloaded addition operator + The first parameter. + The second parameter. + The result of the operation. + + + Overloaded unary negation. + The value to negate. + The result of the operation. + + + Converts the argument to char. Numeric inputs are converted using a checked + conversion according to the UTF-16 encoding for characters. String inputs must + be exactly one character long. For other input types the operation requires an + appropriate static conversion method on the input type. + The input value. + The converted char + + + Converts the argument to unativeint. This is a direct, checked conversion for all + primitive numeric types. Otherwise the operation requires an appropriate + static conversion method on the input type. + The input value. + The converted unativeint + + + Converts the argument to nativeint. This is a direct, checked conversion for all + primitive numeric types. Otherwise the operation requires an appropriate + static conversion method on the input type. + The input value. + The converted nativeint + + + Converts the argument to uint64. This is a direct, checked conversion for all + primitive numeric types. For strings, the input is converted using System.UInt64.Parse() + with InvariantCulture settings. Otherwise the operation requires an appropriate + static conversion method on the input type. + The input value. + The converted uint64 + + + Converts the argument to int64. This is a direct, checked conversion for all + primitive numeric types. For strings, the input is converted using System.Int64.Parse() + with InvariantCulture settings. Otherwise the operation requires an appropriate + static conversion method on the input type. + The input value. + The converted int64 + + + Converts the argument to uint32. This is a direct, checked conversion for all + primitive numeric types. For strings, the input is converted using System.UInt32.Parse() + with InvariantCulture settings. Otherwise the operation requires an appropriate + static conversion method on the input type. + The input value. + The converted uint32 + + + Converts the argument to int32. This is a direct, checked conversion for all + primitive numeric types. For strings, the input is converted using System.Int32.Parse() + with InvariantCulture settings. Otherwise the operation requires an appropriate + static conversion method on the input type. + The input value. + The converted int32 + + + Converts the argument to int. This is a direct, checked conversion for all + primitive numeric types. For strings, the input is converted using System.Int32.Parse() + with InvariantCulture settings. Otherwise the operation requires an appropriate + static conversion method on the input type. + The input value. + The converted int + + + Converts the argument to uint16. This is a direct, checked conversion for all + primitive numeric types. For strings, the input is converted using System.UInt16.Parse() + with InvariantCulture settings. Otherwise the operation requires an appropriate + static conversion method on the input type. + The input value. + The converted uint16 + + + Converts the argument to int16. This is a direct, checked conversion for all + primitive numeric types. For strings, the input is converted using System.Int16.Parse() + with InvariantCulture settings. Otherwise the operation requires an appropriate + static conversion method on the input type. + The input value. + The converted int16 + + + Converts the argument to sbyte. This is a direct, checked conversion for all + primitive numeric types. For strings, the input is converted using System.SByte.Parse() + with InvariantCulture settings. Otherwise the operation requires an appropriate + static conversion method on the input type. + The input value. + The converted sbyte + + + Converts the argument to byte. This is a direct, checked conversion for all + primitive numeric types. For strings, the input is converted using System.Byte.Parse() + with InvariantCulture settings. Otherwise the operation requires an appropriate + static conversion method on the input type. + The input value. + The converted byte + + + Overloaded multiplication operator (checks for overflow) + The first value. + The second value. + The product of the two input values. + + + Overloaded addition operator (checks for overflow) + The first value. + The second value. + The sum of the two input values. + + + Overloaded subtraction operator (checks for overflow) + The first value. + The second value. + The first value minus the second value. + + + Overloaded unary negation (checks for overflow) + The input value. + The negated value. + + + This module contains the basic arithmetic operations with overflow checks. + + + Perform generic hashing on a value where the type of the value is not + statically required to satisfy the 'equality' constraint. + The computed hash value. + + + Perform generic equality on two values where the type of the values is not + statically required to satisfy the 'equality' constraint. + The result of the comparison. + + + Perform generic comparison on two values where the type of the values is not + statically required to have the 'comparison' constraint. + The result of the comparison. + + + Generate a default value for any type. This is null for reference types, + For structs, this is struct value where all fields have the default value. + This function is unsafe in the sense that some F# values do not have proper null values. + + + This module contains basic operations which do not apply runtime and/or static checks + + + This is a library intrinsic. Calls to this function may be generated by uses of the generic 'pown' operator + + + This is a library intrinsic. Calls to this function may be generated by uses of the generic 'pown' operator on values of type 'decimal' + + + This is a library intrinsic. Calls to this function may be generated by uses of the generic 'pown' operator on values of type 'float' + + + This is a library intrinsic. Calls to this function may be generated by uses of the generic 'pown' operator on values of type 'float32' + + + This is a library intrinsic. Calls to this function may be generated by uses of the generic 'pown' operator on values of type 'unativeint' + + + This is a library intrinsic. Calls to this function may be generated by uses of the generic 'pown' operator on values of type 'nativeint' + + + This is a library intrinsic. Calls to this function may be generated by uses of the generic 'pown' operator on values of type 'uint64' + + + This is a library intrinsic. Calls to this function may be generated by uses of the generic 'pown' operator on values of type 'int64' + + + This is a library intrinsic. Calls to this function may be generated by uses of the generic 'pown' operator on values of type 'uint32' + + + This is a library intrinsic. Calls to this function may be generated by uses of the generic 'pown' operator on values of type 'int32' + + + This is a library intrinsic. Calls to this function may be generated by uses of the generic 'pown' operator on values of type 'uint16' + + + This is a library intrinsic. Calls to this function may be generated by uses of the generic 'pown' operator on values of type 'int16' + + + This is a library intrinsic. Calls to this function may be generated by uses of the generic 'pown' operator on values of type 'sbyte' + + + This is a library intrinsic. Calls to this function may be generated by uses of the generic 'pown' operator on values of type 'byte' + + + This is a library intrinsic. Calls to this function may be generated by evaluating quotations. + + + This is a library intrinsic. Calls to this function may be generated by evaluating quotations. + + + This is a library intrinsic. Calls to this function may be generated by evaluating quotations. + + + This is a library intrinsic. Calls to this function may be generated by evaluating quotations. + + + This is a library intrinsic. Calls to this function may be generated by evaluating quotations. + + + This is a library intrinsic. Calls to this function may be generated by evaluating quotations. + + + This is a library intrinsic. Calls to this function may be generated by evaluating quotations. + + + This is a library intrinsic. Calls to this function may be generated by evaluating quotations. + + + This is a library intrinsic. Calls to this function may be generated by evaluating quotations. + + + This is a library intrinsic. Calls to this function may be generated by evaluating quotations. + + + This is a library intrinsic. Calls to this function may be generated by evaluating quotations. + + + This is a library intrinsic. Calls to this function may be generated by evaluating quotations. + + + This is a library intrinsic. Calls to this function may be generated by evaluating quotations. + + + This is a library intrinsic. Calls to this function may be generated by evaluating quotations. + + + This is a library intrinsic. Calls to this function may be generated by evaluating quotations. + + + This is a library intrinsic. Calls to this function may be generated by evaluating quotations. + + + This is a library intrinsic. Calls to this function may be generated by evaluating quotations. + + + This is a library intrinsic. Calls to this function may be generated by evaluating quotations. + + + This is a library intrinsic. Calls to this function may be generated by evaluating quotations. + + + This is a library intrinsic. Calls to this function may be generated by evaluating quotations. + + + This is a library intrinsic. Calls to this function may be generated by evaluating quotations. + + + Generate a range of values using the given zero, add, start, step and stop values + + + Generate a range of values using the given zero, add, start, step and stop values + + + Generate a range of char values + + + Generate a range of byte values + + + Generate a range of sbyte values + + + Generate a range of uint16 values + + + Generate a range of int16 values + + + Generate a range of unativeint values + + + Generate a range of nativeint values + + + Generate a range of uint32 values + + + Generate a range of uint64 values + + + Generate a range of int64 values + + + Generate a range of float32 values + + + Generate a range of float values + + + Generate a range of integers + + + Gets a slice from a string + The source string. + The index of the first character of the slice. + The index of the last character of the slice. + The substring from the given indices. + + + Sets a slice of an array + The target array. + The start index of the first dimension. + The end index of the first dimension. + The start index of the second dimension. + The end index of the second dimension. + The start index of the third dimension. + The end index of the third dimension. + The start index of the fourth dimension. + The end index of the fourth dimension. + The source array. + + + Gets a slice of an array + The source array. + The start index of the first dimension. + The end index of the first dimension. + The start index of the second dimension. + The end index of the second dimension. + The start index of the third dimension. + The end index of the third dimension. + The start index of the fourth dimension. + The end index of the fourth dimension. + The four dimensional sub array from the given indices. + + + Sets a slice of an array + The target array. + The start index of the first dimension. + The end index of the first dimension. + The start index of the second dimension. + The end index of the second dimension. + The start index of the third dimension. + The end index of the third dimension. + The source array. + + + Gets a slice of an array + The source array. + The start index of the first dimension. + The end index of the first dimension. + The start index of the second dimension. + The end index of the second dimension. + The start index of the third dimension. + The end index of the third dimension. + The three dimensional sub array from the given indices. + + + Sets a slice of an array + The target array. + The start index of the first dimension. + The end index of the first dimension. + The start index of the second dimension. + The end index of the second dimension. + The source array. + + + Gets a slice of an array + The source array. + The start index of the first dimension. + The end index of the first dimension. + The start index of the second dimension. + The end index of the second dimension. + The two dimensional sub array from the input indices. + + + Sets a slice of an array + The target array. + The start index. + The end index. + The source array. + + + Gets a slice of an array + The input array. + The start index. + The end index. + The sub array from the input indices. + + + A module of compiler intrinsic functions for efficient implementations of F# integer ranges + and dynamic invocations of other F# operators + + + Basic F# Operators. This module is automatically opened in all F# code. + + + Invoke an F# first class function value that accepts five curried arguments + without intervening execution + The first arg. + The second arg. + The third arg. + The fourth arg. + The fifth arg. + The function result. + + + Adapt an F# first class function value to be an optimized function value that can + accept five curried arguments without intervening execution. + The input function. + The optimized function. + + + Construct an optimized function value that can accept five curried + arguments without intervening execution. + The optimized function. + + + The CLI type used to represent F# function values that accept five curried arguments + without intervening execution. This type should not typically used directly from + either F# code or from other CLI languages. + + + Invoke an F# first class function value that accepts four curried arguments + without intervening execution + The first arg. + The second arg. + The third arg. + The fourth arg. + The function result. + + + Adapt an F# first class function value to be an optimized function value that can + accept four curried arguments without intervening execution. + The input function. + The optimized function. + + + Construct an optimized function value that can accept four curried + arguments without intervening execution. + The optimized function. + + + The CLI type used to represent F# function values that accept four curried arguments + without intervening execution. This type should not typically used directly from + either F# code or from other CLI languages. + + + Invoke an F# first class function value that accepts three curried arguments + without intervening execution + The first arg. + The second arg. + The third arg. + The function result. + + + Adapt an F# first class function value to be an optimized function value that can + accept three curried arguments without intervening execution. + The input function. + The adapted function. + + + Construct an optimized function value that can accept three curried + arguments without intervening execution. + The optimized function. + + + The CLI type used to represent F# function values that accept + three iterated (curried) arguments without intervening execution. This type should not + typically used directly from either F# code or from other CLI languages. + + + Invoke the optimized function value with two curried arguments + The first arg. + The second arg. + The function result. + + + Adapt an F# first class function value to be an optimized function value that can + accept two curried arguments without intervening execution. + The input function. + The adapted function. + + + Construct an optimized function value that can accept two curried + arguments without intervening execution. + The optimized function. + + + The CLI type used to represent F# function values that accept + two iterated (curried) arguments without intervening execution. This type should not + typically used directly from either F# code or from other CLI languages. + + + An implementation module used to hold some private implementations of function + value invocation. + + + Convert the option to a list of length 0 or 1. + The input option. + The result list. + + + Convert the option to an array of length 0 or 1. + The input option. + The result array. + + + bind f inp evaluates to match inp with None -> None | Some x -> f x + A function that takes the value of type T from an option and transforms it into + an option containing a value of type U. + The input option. + An option of the output type of the binder. + + + map f inp evaluates to match inp with None -> None | Some x -> Some (f x). + A function to apply to the option value. + The input option. + An option of the input value after applying the mapping function, or None if the input is None. + + + iter f inp executes match inp with None -> () | Some x -> f x. + A function to apply to the option value. + The input option. + Unit if the option is None, otherwise it returns the result of applying the predicate + to the option value. + + + forall p inp" evaluates to "match inp with None -> true | Some x -> p x. + A function that evaluates to a boolean when given a value from the option type. + The input option. + True if the option is None, otherwise it returns the result of applying the predicate + to the option value. + + + exists p inp evaluates to match inp with None -> false | Some x -> p x. + A function that evaluates to a boolean when given a value from the option type. + The input option. + False if the option is None, otherwise it returns the result of applying the predicate + to the option value. + + + fold f inp s evaluates to match inp with None -> s | Some x -> f x s. + A function to update the state data when given a value from an option. + The input option. + The initial state. + The original state if the option is None, otherwise it returns the updated state with the folder + and the option value. + + + fold f s inp evaluates to match inp with None -> s | Some x -> f s x. + A function to update the state data when given a value from an option. + The initial state. + The input option. + The original state if the option is None, otherwise it returns the updated state with the folder + and the option value. + + + count inp evaluates to match inp with None -> 0 | Some _ -> 1. + The input option. + A zero if the option is None, a one otherwise. + + + Gets the value associated with the option. + The input option. + The value within the option. + Thrown when the option is None. + + + Returns true if the option is None. + The input option. + True if the option is None. + + + Returns true if the option is not None. + The input option. + True if the option is not None. + + + Basic operations on options. + + + Represents a statically-analyzed format associated with writing to a System.IO.TextWriter. The type parameter indicates the + arguments and return type of the format operation. + + + Represents a statically-analyzed format when formatting builds a string. The type parameter indicates the + arguments and return type of the format operation. + + + Represents a statically-analyzed format associated with writing to a System.Text.StringBuilder. The type parameter indicates the + arguments and return type of the format operation. + + + Represents a statically-analyzed format associated with writing to a System.IO.TextWriter. The first type parameter indicates the + arguments of the format operation and the last the overall return type. + + + Represents a statically-analyzed format when formatting builds a string. The first type parameter indicates the + arguments of the format operation and the last the overall return type. + + + Represents a statically-analyzed format associated with writing to a System.Text.StringBuilder. The first type parameter indicates the + arguments of the format operation and the last the overall return type. + + + Print to a string buffer and raise an exception with the given + result. Helper printers must return strings. + The input formatter. + The arguments of the formatter. + + + sprintf, but call the given 'final' function to generate the result. + See kprintf. + The function called to generate a result from the formatted string. + The input formatter. + The arguments of the formatter. + + + printf, but call the given 'final' function to generate the result. + For example, these let the printing force a flush after all output has + been entered onto the channel, but not before. + The function called after formatting to generate the format result. + The input formatter. + The arguments of the formatter. + + + fprintf, but call the given 'final' function to generate the result. + See kprintf. + The function called after formatting to generate the format result. + The input TextWriter. + The input formatter. + The arguments of the formatter. + + + bprintf, but call the given 'final' function to generate the result. + See kprintf. + The function called after formatting to generate the format result. + The input StringBuilder. + The input formatter. + The arguments of the formatter. + + + Print to a string via an internal string buffer and return + the result as a string. Helper printers must return strings. + The input formatter. + The formatted string. + + + Formatted printing to stdout, adding a newline. + The input formatter. + The return type and arguments of the formatter. + + + Formatted printing to stdout + The input formatter. + The return type and arguments of the formatter. + + + Formatted printing to stderr, adding a newline + The input formatter. + The return type and arguments of the formatter. + + + Formatted printing to stderr + The input formatter. + The return type and arguments of the formatter. + + + Print to a text writer, adding a newline + The TextWriter to print to. + The input formatter. + The return type and arguments of the formatter. + + + Print to a text writer. + The TextWriter to print to. + The input formatter. + The return type and arguments of the formatter. + + + Print to a System.Text.StringBuilder + The StringBuilder to print to. + The input formatter. + The return type and arguments of the formatter. + + + Extensible printf-style formatting for numbers and other datatypes + + Format specifications are strings with "%" markers indicating format + placeholders. Format placeholders consist of: + + %[flags][width][.precision][type] + + where the type is interpreted as follows: + + %b: bool, formatted as "true" or "false" + %s: string, formatted as its unescaped contents + %d, %i: any basic integer type formatted as a decimal integer, signed if the basic integer type is signed. + %u: any basic integer type formatted as an unsigned decimal integer + %x, %X, %o: any basic integer type formatted as an unsigned hexadecimal + (a-f)/Hexadecimal (A-F)/Octal integer + + %e, %E, %f, %F, %g, %G: + any basic floating point type (float,float32) formatted + using a C-style floating point format specifications, i.e + + %e, %E: Signed value having the form [-]d.dddde[sign]ddd where + d is a single decimal digit, dddd is one or more decimal + digits, ddd is exactly three decimal digits, and sign + is + or - + + %f: Signed value having the form [-]dddd.dddd, where dddd is one + or more decimal digits. The number of digits before the + decimal point depends on the magnitude of the number, and + the number of digits after the decimal point depends on + the requested precision. + + %g, %G: Signed value printed in f or e format, whichever is + more compact for the given value and precision. + + + %M: System.Decimal value + + %O: Any value, printed by boxing the object and using it's ToString method(s) + + %A: Any value, printed with the default layout settings + + %a: A general format specifier, requires two arguments: + (1) a function which accepts two arguments: + (a) a context parameter of the appropriate type for the + given formatting function (e.g. an #System.IO.TextWriter) + (b) a value to print + and which either outputs or returns appropriate text. + + (2) the particular value to print + + + %t: A general format specifier, requires one argument: + (1) a function which accepts a context parameter of the + appropriate type for the given formatting function (e.g. + an System.IO.TextWriter)and which either outputs or returns + appropriate text. + + Basic integer types are: + byte,sbyte,int16,uint16,int32,uint32,int64,uint64,nativeint,unativeint + Basic floating point types are: + float, float32 + + The optional width is an integer indicating the minimal width of the + result. For instance, %6d prints an integer, prefixing it with spaces + to fill at least 6 characters. If width is '*', then an extra integer + argument is taken to specify the corresponding width. + + any number + '*': + + Valid flags are: + + 0: add zeros instead of spaces to make up the required width + '-': left justify the result within the width specified + '+': add a '+' character if the number is positive (to match a '-' sign + for negatives) + ' ': add an extra space if the number is positive (to match a '-' + sign for negatives) + + The printf '#' flag is invalid and a compile-time error will be reported if it is used. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Returns the length of the string. + The input string. + The number of characters in the string. + Thrown when the input string is null. + + + Returns a string by concatenating count instances of str. + The number of copies of the input string will be copied. + The input string. + The concatenated string. + Thrown when the input string is null. + + + Tests if any character of the string satisfies the given predicate. + The function to test each character of the string. + The input string. + True if any character returns true for the predicate and false otherwise. + Thrown when the input string is null. + + + Tests if all characters in the string satisfy the given predicate. + The function to test each character of the string. + The input string. + True if all characters return true for the predicate and false otherwise. + Thrown when the input string is null. + + + Builds a new string whose characters are the results of applying the function mapping + to each index from 0 to count-1 and concatenating the resulting + strings. + The number of strings to initialize. + The function to take an index and produce a string to + be concatenated with the others. + The constructed string. + Thrown when count is negative. + + + Builds a new string whose characters are the results of applying the function mapping + to each of the characters of the input string and concatenating the resulting + strings. + The function to produce a string from each character of the input string. + The input string. + The concatenated string. + Thrown when the input string is null. + + + Builds a new string whose characters are the results of applying the function mapping + to each character and index of the input string. + The function to apply to each character and index of the string. + The input string. + The resulting string. + Thrown when the input string is null. + + + Builds a new string whose characters are the results of applying the function mapping + to each of the characters of the input string. + The function to apply to the characters of the string. + The input string. + The resulting string. + Thrown when the input string is null. + + + Applies the function action to the index of each character in the string and the + character itself. + The function to apply to each character and index of the string. + The input string. + Thrown when the input string is null. + + + Applies the function action to each character in the string. + The function to be applied to each character of the string. + The input string. + Thrown when the input string is null. + + + Returns a new string made by concatenating the given strings + with separator sep, that is a1 + sep + ... + sep + aN. + The separator string to be inserted between the strings + of the input sequence. + The sequence of strings to be concatenated. + A new string consisting of the concatenated strings separated by + the separation string. + Thrown when strings is null. + + + Functional programming operators for string processing. Further string operations + are available via the member functions on strings and other functionality in + System.String + and System.Text.RegularExpressions types. + + + + Abstract internal type + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Allocates a region of memory on the stack. + The number of objects of type T to allocate. + A typed pointer to the allocated memory. + + + Assigns the value into the memory location referenced by the typed native + pointer computed by adding index * sizeof<'T> to the given input pointer. + The input pointer. + The index by which to offset the pointer. + The value to assign. + + + Assigns the value into the memory location referenced by the given typed native pointer. + The input pointer. + The value to assign. + + + Dereferences the given typed native pointer. + The input pointer. + The value at the pointer address. + + + Dereferences the typed native pointer computed by adding index * sizeof<'T> to the + given input pointer. + The input pointer. + The index by which to offset the pointer. + The value at the pointer address. + + + Returns a typed native pointer by adding index * sizeof<'T> to the + given input pointer. + The input pointer. + The index by which to offset the pointer. + A typed pointer. + + + Returns a machine address for a given typed native pointer. + The input pointer. + The machine address. + + + Returns a typed native pointer for a given machine address. + The pointer address. + A typed pointer. + + + Contains operations on native pointers. Use of these operators may + result in the generation of unverifiable code. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Gets the raw expression associated with this type-carrying expression + + + Type-carrying quoted expressions. Expressions are generated either + by quotations in source text or programatically + + + Returns type of an expression. + + + Returns the custom attributes of an expression. + + + Builds an expression that represents a while loop + The predicate to control the loop iteration. + The body of the while loop. + The resulting expression. + + + Builds an expression that represents setting a mutable variable + The input variable. + The value to set. + The resulting expression. + + + Builds an expression that represents a variable + The input variable. + The resulting expression. + + + Builds an expression that represents a constant value + The typed value. + The resulting expression. + + + Builds an expression that represents a constant value of a particular type + The untyped object. + The type of the object. + The resulting expression. + + + Builds an expression that represents a test of a value is of a particular union case + The expression to test. + The description of the union case. + The resulting expression. + + + Builds an expression that represents a type test. + The expression to test. + The target type. + The resulting expression. + + + Builds an expression that represents getting a field of a tuple + The input tuple. + The index of the tuple element to get. + The resulting expression. + + + Builds an expression that represents a try/with construct for exception filtering and catching. + The body of the try expression. + + + The variable to bind to a caught exception. + The expression evaluated when an exception is caught. + The resulting expression. + + + Try and find a stored reflection definition for the given method. Stored reflection + definitions are added to an F# assembly through the use of the [<ReflectedDefinition>] attribute. + The description of the method to find. + The reflection definition or None if a match could not be found. + + + Builds an expression that represents a try/finally construct + The body of the try expression. + The final part of the expression to be evaluated. + The resulting expression. + + + Substitutes through the given expression using the given functions + to map variables to new values. The functions must give consistent results + at each application. Variable renaming may occur on the target expression + if variable capture occurs. + The function to map variables into expressions. + The expression with the given substitutions. + + + Builds an expression that represents the sequential execution of one expression followed by another + The first expression. + The second expression. + The resulting expression. + + + Permits interactive environments such as F# Interactive + to explicitly register new pickled resources that represent persisted + top level definitions. The string indicates a unique name for the resources + being added. The format for the bytes is the encoding generated by the F# compiler. + The assembly associated with the resource. + The unique name for the resources being added. + The serialized resource to register with the environment. + + + Builds an expression that represents a nested quotation literal + The expression being quoted. + The resulting expression. + + + Builds an expression that represents writing to a static property + The description of the property. + The value to set. + List of indices for the property if it is an indexed property. + The resulting expression. + + + Builds an expression that represents writing to a property of an object + The input object. + The description of the property. + The value to set. + List of indices for the property if it is an indexed property. + The resulting expression. + + + Builds an expression that represents reading a static property + The description of the property. + List of indices for the property if it is an indexed property. + The resulting expression. + + + Builds an expression that represents reading a property of an object + The input object. + The description of the property. + List of indices for the property if it is an indexed property. + The resulting expression. + + + Builds an expression that represents the creation of a union case value + The description of the union case. + The list of arguments for the case. + The resulting expression. + + + Builds an expression that represents the creation of an F# tuple value + The list of elements of the tuple. + The resulting expression. + + + Builds record-construction expressions + The type of record. + The list of elements of the record. + The resulting expression. + + + Builds an expression that represents the invocation of an object constructor + The description of the constructor. + The list of arguments to the constructor. + The resulting expression. + + + Builds an expression that represents the creation of a delegate value for the given type + The type of delegate. + The parameters for the delegate. + The body of the function. + The resulting expression. + + + Builds an expression that represents the creation of an array value initialized with the given elements + The type for the elements of the array. + The list of elements of the array. + The resulting expression. + + + Builds recursives expressions associated with 'let rec' constructs + The list of bindings for the let expression. + The sub-expression where the bindings are in scope. + The resulting expression. + + + Builds expressions associated with 'let' constructs + The variable in the let expression. + The expression bound to the variable. + The sub-expression where the binding is in scope. + The resulting expression. + + + Builds an expression that represents the constrution of an F# function value + The parameter to the function. + The body of the function. + The resulting expression. + + + Builds 'if ... then ... else' expressions. + The condition expression. + The then sub-expression. + The else sub-expression. + The resulting expression. + + + Fetches or creates a new variable with the given name and type from a global pool of shared variables + indexed by name and type. The type is given by the expicit or inferred type parameter + The variable name. + The created of fetched typed global variable. + + + Gets the free expression variables of an expression as a list. + A sequence of the free variables in the expression. + + + Builds a 'for i = ... to ... do ...' expression that represent loops over integer ranges + The sub-expression declaring the loop variable. + The sub-expression setting the initial value of the loop variable. + The sub-expression declaring the final value of the loop variable. + The sub-expression representing the body of the loop. + The resulting expression. + + + Builds an expression that represents writing to a field of an object + The input object. + The description of the field to write to. + The value to set to the field. + The resulting expression. + + + Builds an expression that represents writing to a static field + The description of the field to write to. + The value to the set to the field. + The resulting expression. + + + Builds an expression that represents the access of a field of an object + The input object. + The description of the field to access. + The resulting expression. + + + Builds an expression that represents the access of a static field + The description of the field to access. + The resulting expression. + + + + + + This function is called automatically when quotation syntax (<@ @>) and related typed-expression + quotations are used. The bytes are a pickled binary representation of an unlinked form of the quoted expression, + and the System.Type argument is any type in the assembly where the quoted + expression occurs, i.e. it helps scope the interpretation of the cross-assembly + references in the bytes. + A type in the assembly where the quotation occurs. + The list of spliced types. + The list of spliced expressions. + The serialized form of the quoted expression. + The resulting expression. + + + Builds an expression that represents the invocation of a default object constructor + The type on which the constructor is invoked. + The resulting expression. + + + Builds an expression that represents the coercion of an expression to a type + The expression to coerce. + The target type. + The resulting expression. + + + Returns a new typed expression given an underlying runtime-typed expression. + A type annotation is usually required to use this function, and + using an incorrect type annotation may result in a later runtime exception. + The expression to cast. + The resulting typed expression. + + + Builds an expression that represents a call to an instance method associated with an object + The input object. + The description of the method to call. + The list of arguments to the method. + The resulting expression. + + + Builds an expression that represents a call to an static method or module-bound function + The MethodInfo describing the method to call. + The list of arguments to the method. + The resulting expression. + + + Builds an expression that represents the application of a first class function value to multiple arguments + The function to apply. + The list of lists of arguments to the function. + The resulting expression. + + + Builds an expression that represents the application of a first class function value to a single argument. + The function to apply. + The argument to the function. + The resulting expression. + + + Builds an expression that represents setting the value held at a particular address. + The target expression. + The value to set at the address. + The resulting expression. + + + Builds an expression that represents getting the address of a value. + The target expression. + The resulting expression. + + + Quoted expressions annotated with System.Type values. + + + The type associated with the variable + + + The declared name of the variable + + + Indicates if the variable represents a mutable storage location + + + Fetches or create a new variable with the given name and type from a global pool of shared variables + indexed by name and type + The name of the variable. + The type associated with the variable. + The retrieved or created variable. + + + Creates a new variable with the given name, type and mutability + The declared name of the variable. + The type associated with the variable. + Indicates if the variable represents a mutable storage location. Default is false. + The created variable. + + + Information at the binding site of a variable + + + Re-build combination expressions. The first parameter should be an object + returned by the ShapeCombination case of the active pattern in this module. + The input shape. + The list of arguments. + The rebuilt expression. + + + An active pattern that performs a complete decomposition viewing the expression tree as a binding structure + The input expression. + The decomposed Var, Lambda, or ConstApp. + + + Active patterns for traversing, visiting, rebuilding and tranforming expressions in a generic way + + + An active pattern to recognize property setters that have an associated ReflectedDefinition + The description of the property. + The expression of the method definition if found, or None. + + + An active pattern to recognize property getters or values in modules that have an associated ReflectedDefinition + The description of the property. + The expression of the method definition if found, or None. + + + An active pattern to recognize methods that have an associated ReflectedDefinition + The description of the method. + The expression of the method definition if found, or None. + + + A parameterized active pattern to recognize calls to a specified function or method. + The returned elements are the optional target object (present if the target is an + instance method), the generic type instantation (non-empty if the target is a generic + instantiation), and the arguments to the function or method. + The input template expression to specify the method to call. + The optional target object (present if the target is an + instance method), the generic type instantation (non-empty if the target is a generic + instantiation), and the arguments to the function or method. + + + An active pattern to recognize constant unsigned int64 expressions + The input expression to match against. + uint64 option + + + An active pattern to recognize constant int64 expressions + The input expression to match against. + int64 option + + + An active pattern to recognize constant unsigned int32 expressions + The input expression to match against. + uint32 option + + + An active pattern to recognize constant int32 expressions + The input expression to match against. + int32 option + + + An active pattern to recognize constant unsigned int16 expressions + The input expression to match against. + uint16 option + + + An active pattern to recognize constant int16 expressions + The input expression to match against. + int16 option + + + An active pattern to recognize constant byte expressions + The input expression to match against. + byte option + + + An active pattern to recognize constant signed byte expressions + The input expression to match against. + sbyte option + + + An active pattern to recognize constant unicode character expressions + The input expression to match against. + char option + + + An active pattern to recognize constant 64-bit floating point number expressions + The input expression to match against. + float option + + + An active pattern to recognize constant 32-bit floating point number expressions + The input expression to match against. + float32 option + + + An active pattern to recognize constant string expressions + The input expression to match against. + string option + + + An active pattern to recognize constant boolean expressions + The input expression to match against. + bool option + + + An active pattern to recognize () constant expressions + The input expression to match against. + unit option + + + An active pattern to recognize expressions of the form a || b + The input expression to match against. + (Expr * Expr) option + + + An active pattern to recognize expressions of the form a && b + The input expression to match against. + (Expr * Expr) option + + + An active pattern to recognize expressions that represent the application of a (possibly curried or tupled) first class function value + The input expression to match against. + (Expr * Expr list list) option + + + An active pattern to recognize expressions that represent a (possibly curried or tupled) first class function value + The input expression to match against. + (Var list list * Expr) option + + + Contains a set of derived F# active patterns to analyze F# expression objects + + + An active pattern to recognize expressions that represent setting a mutable variable + The input expression to match against. + (Var * Expr) option + + + An active pattern to recognize expressions that represent a variable + The input expression to match against. + Var option + + + An active pattern to recognize expressions that represent a constant value + The input expression to match against. + (obj * Type) option + + + An active pattern to recognize expressions that represent a test if a value is of a particular union case + The input expression to match against. + (Expr * UnionCaseInfo) option + + + An active pattern to recognize expressions that represent a dynamic type test + The input expression to match against. + (Expr * Type) option + + + An active pattern to recognize expressions that represent getting a tuple field + The input expression to match against. + (Expr * int) option + + + An active pattern to recognize expressions that represent a try/finally construct + The input expression to match against. + (Expr * Expr) option + + + An active pattern to recognize expressions that represent a try/with construct for exception filtering and catching + The input expression to match against. + (Expr * Var * Expr * Var * Expr) option + + + An active pattern to recognize expressions that represent sequential exeuction of one expression followed by another + The input expression to match against. + (Expr * Expr) option + + + An active pattern to recognize expressions that represent a nested quotation literal + The input expression to match against. + Expr option + + + An active pattern to recognize expressions that represent setting a static or instance property, or a non-function value declared in a module + The input expression to match against. + (Expr option * PropertyInfo * Expr list * Expr) option + + + An active pattern to recognize expressions that represent the read of a static or instance property, or a non-function value declared in a module + The input expression to match against. + (Expr option * PropertyInfo * Expr list) option + + + An active pattern to recognize expressions that represent construction of tuple values + The input expression to match against. + (Expr list) option + + + An active pattern to recognize expressions that represent construction of particular union case values + The input expression to match against. + (UnionCaseInfo * Expr list) option + + + An active pattern to recognize expressions that represent construction of record values + The input expression to match against. + (Type * Expr list) option + + + An active pattern to recognize expressions that represent invocation of object constructors + The input expression to match against. + (ConstructorInfo * Expr list) option + + + An active pattern to recognize expressions that represent construction of delegate values + The input expression to match against. + (Type * Var list * Expr) option + + + An active pattern to recognize expressions that represent invocations of a default constructor of a struct + The input expression to match against. + Type option + + + An active pattern to recognize expressions that represent the construction of arrays + The input expression to match against. + (Type * Expr list) option + + + An active pattern to recognize expressions that represent recursive let bindings of one or more variables + The input expression to match against. + ((Var * Expr) list * Expr) option + + + An active pattern to recognize expressions that represent let bindings + The input expression to match against. + (Var * Expr * Expr) option + + + An active pattern to recognize expressions that represent first class function values + The input expression to match against. + (Var * Expr) option + + + An active pattern to recognize expressions that represent conditionals + The input expression to match against. + (Expr * Expr * Expr) option + + + An active pattern to recognize expressions that represent while loops + The input expression to match against. + (Expr * Expr) option + + + An active pattern to recognize expressions that represent loops over integer ranges + The input expression to match against. + (Var * Expr * Expr * Expr) option + + + An active pattern to recognize expressions that represent setting a static or instance field + The input expression to match against. + (Expr option * FieldInfo * Expr) option + + + An active pattern to recognize expressions that represent getting a static or instance field + The input expression to match against. + (Expr option * FieldInfo) option + + + An active pattern to recognize expressions that represent coercions from one type to another + The input expression to match against. + (Expr * Type) option + + + An active pattern to recognize expressions that represent calls to static and instance methods, and functions defined in modules + The input expression to match against. + (Expr option * MethodInfo * Expr list) option + + + An active pattern to recognize expressions that represent applications of first class function values + The input expression to match against. + (Expr * Expr) option + + + An active pattern to recognize expressions that represent setting the value held at an address + The input expression to match against. + (Expr * Expr) option + + + An active pattern to recognize expressions that represent getting the address of a value + The input expression to match against. + Expr option + + + Contains a set of primitive F# active patterns to analyze F# expression objects + + + Returns a System.Type representing an F# tuple type with the given element types + An array of types for the tuple elements. + The type representing the tuple containing the input elements. + + + Returns a System.Type representing the F# function type with the given domain and range + The input type of the function. + The output type of the function. + The function type with the given domain and range. + + + Returns true if the typ is a representation of an F# union type or the runtime type of a value of that type + The type to check. + Optional binding flags. + True if the type check succeeds. + + + Return true if the typ is a representation of an F# tuple type + The type to check. + True if the type check succeeds. + + + Return true if the typ is a representation of an F# record type + The type to check. + Optional binding flags. + True if the type check succeeds. + + + Return true if the typ is a System.Type value corresponding to the compiled form of an F# module + The type to check. + True if the type check succeeds. + + + Return true if the typ is a representation of an F# function type or the runtime type of a closure implementing an F# function type + The type to check. + True if the type check succeeds. + + + Returns true if the typ is a representation of an F# exception declaration + The type to check. + Optional binding flags. + True if the type check is an F# exception. + + + Gets the cases of a union type. + + Assumes the given type is a union type. If not, ArgumentException is raised during pre-computation. + The input union type. + Optional binding flags. + Thrown when the input type is not a union type. + An array of descriptions of the cases of the given union type. + + + Gets the tuple elements from the representation of an F# tuple type. + The input tuple type. + An array of the types contained in the given tuple type. + + + Reads all the fields from a record value, in declaration order + + Assumes the given input is a record value. If not, ArgumentException is raised. + The input record type. + Optional binding flags. + An array of descriptions of the properties of the record type. + + + Gets the domain and range types from an F# function type or from the runtime type of a closure implementing an F# type + The input function type. + A tuple of the domain and range types of the input function. + + + Reads all the fields from an F# exception declaration, in declaration order + + Assumes exceptionType is an exception representation type. If not, ArgumentException is raised. + The exception type to read. + Optional binding flags. + Thrown if the given type is not an exception. + An array containing the PropertyInfo of each field in the exception. + + + Contains operations associated with constructing and analyzing F# types such as records, unions and tuples + + + Assumes the given type is a union type. + If not, ArgumentException is raised during pre-computation. + + Using the computed function is more efficient than calling GetUnionCase + because the path executed by the computed function is optimized given the knowledge that it will be + used to read values of the given type. + The type of union to optimize reading. + Optional binding flags. + An optimized function to read the tags of the given union type. + + + Precompute a property or static method for reading an integer representing the case tag of a union type. + The type of union to read. + Optional binding flags. + The description of the union case reader. + + + Precomputes a function for reading all the fields for a particular discriminator case of a union type + + Using the computed function will typically be faster than executing a corresponding call to GetFields + The description of the union case to read. + Optional binding flags. + A function to for reading the fields of the given union case. + + + A method that constructs objects of the given case + The description of the union case. + Optional binding flags. + The description of the constructor of the given union case. + + + Precomputes a function for constructing a discriminated union value for a particular union case. + The description of the union case. + Optional binding flags. + A function for constructing values of the given union case. + + + Precomputes a function for reading the values of a particular tuple type + + Assumes the given type is a TupleType. + If not, ArgumentException is raised during pre-computation. + The tuple type to read. + Thrown when the given type is not a tuple type. + A function to read values of the given tuple type. + + + Gets information that indicates how to read a field of a tuple + The input tuple type. + The index of the tuple element to describe. + The description of the tuple element and an optional type and index if the tuple is big. + + + Gets a method that constructs objects of the given tuple type. + For small tuples, no additional type will be returned. + + For large tuples, an additional type is returned indicating that + a nested encoding has been used for the tuple type. In this case + the suffix portion of the tuple type has the given type and an + object of this type must be created and passed as the last argument + to the ConstructorInfo. A recursive call to PreComputeTupleConstructorInfo + can be used to determine the constructor for that the suffix type. + The input tuple type. + The description of the tuple type constructor and an optional extra type + for large tuples. + + + Precomputes a function for reading the values of a particular tuple type + + Assumes the given type is a TupleType. + If not, ArgumentException is raised during pre-computation. + The type of tuple to read. + Thrown when the given type is not a tuple type. + A function to read a particular tuple type. + + + Precompute a function for reading all the fields from a record. The fields are returned in the + same order as the fields reported by a call to Microsoft.FSharp.Reflection.Type.GetInfo for + this type. + + Assumes the given type is a RecordType. + If not, ArgumentException is raised during pre-computation. + + Using the computed function will typically be faster than executing a corresponding call to Value.GetInfo + because the path executed by the computed function is optimized given the knowledge that it will be + used to read values of the given type. + The type of record to read. + Optional binding flags. + Thrown when the input type is not a record type. + An optimized reader for the given record type. + + + Precompute a function for reading a particular field from a record. + Assumes the given type is a RecordType with a field of the given name. + If not, ArgumentException is raised during pre-computation. + + Using the computed function will typically be faster than executing a corresponding call to Value.GetInfo + because the path executed by the computed function is optimized given the knowledge that it will be + used to read values of the given type. + The PropertyInfo of the field to read. + Thrown when the input type is not a record type. + A function to read the specified field from the record. + + + Get a ConstructorInfo for a record type + The record type. + Optional binding flags. + A ConstructorInfo for the given record type. + + + Precompute a function for constructing a record value. + + Assumes the given type is a RecordType. + If not, ArgumentException is raised during pre-computation. + The type of record to construct. + Optional binding flags. + Thrown when the input type is not a record type. + A function to construct records of the given type. + + + Create a union case value. + The description of the union case to create. + The array of arguments to construct the given case. + Optional binding flags. + The constructed union case. + + + Creates an instance of a tuple type + + Assumes at least one element is given. If not, ArgumentException is raised. + The array of tuple fields. + The tuple type to create. + Thrown if no elements are given. + An instance of the tuple type with the given elements. + + + Creates an instance of a record type. + + Assumes the given input is a record type. + The type of record to make. + The array of values to initialize the record. + Optional binding flags for the record. + Thrown when the input type is not a record type. + The created record. + + + Builds a typed function from object from a dynamic function implementation + The function type of the implementation. + The untyped lambda of the function implementation. + A typed function from the given dynamic implementation. + + + Identify the union case and its fields for an object + + Assumes the given input is a union case value. If not, ArgumentException is raised. + + If the type is not given, then the runtime type of the input object is used to identify the + relevant union type. The type should always be given if the input object may be null. For example, + option values may be represented using the 'null'. + The input union case. + The union type containing the value. + Optional binding flags. + Thrown when the input type is not a union case value. + The description of the union case and its fields. + + + Reads all fields from a tuple. + + Assumes the given input is a tuple value. If not, ArgumentException is raised. + The input tuple. + Thrown when the input is not a tuple value. + An array of the fields from the given tuple. + + + Reads a field from a tuple value. + + Assumes the given input is a tuple value. If not, ArgumentException is raised. + The input tuple. + The index of the field to read. + The value of the field. + + + Reads all the fields from a record value. + + Assumes the given input is a record value. If not, ArgumentException is raised. + The record object. + Optional binding flags for the record. + Thrown when the input type is not a record type. + The array of fields from the record. + + + Reads a field from a record value. + + Assumes the given input is a record value. If not, ArgumentException is raised. + The record object. + The PropertyInfo describing the field to read. + Thrown when the input type is not a record type. + The field from the record. + + + Reads all the fields from a value built using an instance of an F# exception declaration + + Assumes the given input is an F# exception value. If not, ArgumentException is raised. + The exception instance. + Optional binding flags. + Thrown when the input type is not an F# exception. + The fields from the given exception. + + + Contains operations associated with constructing and analyzing values associated with F# types + such as records, unions and tuples. + + + The integer tag for the case. + + + The name of the case. + + + The type in which the case occurs. + + + The fields associated with the case, represented by a PropertyInfo. + The fields associated with the case. + + + Returns the custom attributes associated with the case matching the given attribute type. + The type of attributes to return. + An array of custom attributes. + + + Returns the custom attributes associated with the case. + An array of custom attributes. + + + Represents a case of a discriminated union type + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A record of options to control structural formatting. + For F# Interactive properties matching those of this value can be accessed via the 'fsi' + value. + + Floating Point format given in the same format accepted by System.Double.ToString, + e.g. f6 or g15. + + If ShowProperties is set the printing process will evaluate properties of the values being + displayed. This may cause additional computation. + + The ShowIEnumerable is set the printing process will force the evalution of IEnumerable objects + to a small, finite depth, as determined by the printing parameters. + This may lead to additional computation being performed during printing. + + <example> + From F# Interactive the default settings can be adjusted using, for example, + <pre> + open Microsoft.FSharp.Compiler.Interactive.Settings;; + setPrintWidth 120;; + </pre> + </example> + + + + + Data representing structured layouts of terms. + + + + + Convert any value to a layout using the given formatting options. The + layout can then be processed using formatting display engines such as + those in the LayoutOps module. any_to_string and output_any are + built using any_to_layout with default format options. + + + + + + + + Ouput any value to a channel using the same set of formatting rules + as any_to_string + + + + + Convert any value to a string using a standard formatter + Data is typically formatted in a structured format, e.g. + lists are formatted using the "[1;2]" notation. + The details of the format are not specified and may change + from version to version and according to the flags given + to the F# compiler. The format is intended to be human-readable, + not machine readable. If alternative generic formats are required + you should develop your own formatter, using the code in the + implementation of this file as a starting point. + + Data from other .NET languages is formatted using a virtual + call to Object.ToString() on the boxed version of the input. + + + + + + + + For limitting layout of list-like sequences (lists,arrays,etc). + unfold a list of items using (project and z) making layout list via itemL. + If reach maxLength (before exhausting) then truncate. + + + + + See tagL + + + + + Layout like an F# list. + + + + + Layout like an F# option. + + + + + Layout list vertically. + + + + + Layout two vertically. + + + + + Form tuple of layouts. + + + + + Wrap braces around layout. + + + + + Wrap square brackets around layout. + + + + + Wrap round brackets around Layout. + + + + + Join layouts into a list separated using the given Layout. + + + + + Join layouts into a semi-colon separated list. + + + + + Join layouts into a space separated list. + + + + + Join layouts into a comma separated list. + + + + + Join broken with ident=2 + + + + + Join broken with ident=1 + + + + + Join broken with ident=0 + + + + + Join, possible break with indent=2 + + + + + Join, possible break with indent=1 + + + + + Join, possible break with indent=0 + + + + + Join, unbreakable. + + + + + An string which is left parenthesis (no space on the right). + + + + + An string which is right parenthesis (no space on the left). + + + + + An string which requires no spaces either side. + + + + + An string leaf + + + + + An uninterpreted leaf, to be interpreted into a string + by the layout engine. This allows leaf layouts for numbers, strings and + other atoms to be customized according to culture. + + + + + Is it the empty layout? + + + + + The empty layout + + + + + A layout is a sequence of strings which have been joined together. + The strings are classified as words, separators and left and right parenthesis. + This classification determines where spaces are inserted. + A joint is either unbreakable, breakable or broken. + If a joint is broken the RHS layout occurs on the next line with optional indentation. + A layout can be squashed to for given width which forces breaks as required. + + + + Gets a read-only collection of the Exception instances that caused + the current exception. + + + Represents one or more errors that occur during application execution. + + + Subscribe an observer to the source of results + The observer to be added to those that are notified. + An IDisposable to allow for unsubscription. + + + A source of observable results + + + Notify an observer of a new result + The value to notify observers. + + + Notify an observer of an error + The exception to notify observers. + + + Notify an observer that no more results will be produced + + + A client that mat be subscribed to observe the results from an IObservable. + + + The value contained in the Lazy. + + + Is true if the value is ready to be accessed. + + + Encapsulates a lazily computed value. + + + + + + + + + Compiled versions of F# tuple types. These are not used directly, though + these compiled forms are seen by other CLI languages. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Determines whether the current object precedes, occurs in the same position as, + or follows another object in the sort order. + The object to compare with the current instance. + An object that performs comparisons. + An integer that indicates the relationship of the current object to the target object. + + + + + + Returns a hash code for the current instance. + An object that computes the hash code of the current object. + The hash code for the current instance. + + + Equality comparison against a target object with a given comparer. + The target for comparison. + Compares the two objects. + The result of the comparer. + + + + + + + Return the given big integer + + + + + Return the negation of a big integer + + + + + Return the difference of two big integers + + + + + Return the product of big integers + + + + + Return the modulus of big integers + + + + + This operator is for consistency when this type be used from other CLI languages + + + + + This operator is for consistency when this type be used from other CLI languages + + + + + This operator is for consistency when this type be used from other CLI languages + + + + + This operator is for consistency when this type be used from other CLI languages + + + + + This operator is for consistency when this type be used from other CLI languages + + + + + Convert a big integer to a 32-bit signed integer + + + + + Convert a big integer to a 64-bit signed integer + + + + + Convert a big integer to a floating point number + + + + + This operator is for consistency when this type be used from other CLI languages + + + + + Return the ratio of two big integers + + + + + Return the sum of two big integers + + + + + Get the big integer for zero + + + + + Return the sign of a big integer: 0, +1 or -1 + + + + + Get the big integer for one + + + + + Return true if a big integer is 'zero' + + + + + Return true if a big integer is 'one' + + + + + + + + Return n^m for two big integers + + + + + Parse a big integer from a string format + + + + + Return the greatest common divisor of two big integers + + + + + + + + + + + Compute the ratio and remainder of two big integers + + + + + Compute the absolute value of a big integer + + + + + Construct a BigInteger value for the given 64-bit integer + + + + + Construct a BigInteger value for the given integer + + + + + The type of arbitrary-sized integers + + + + Fetches the token representing the capability to detect cancellation of an operation. + + + Discards resources associated with this capability. + + + Creates a cancellation capability linking two tokens. + The first input token. + The second input token. + The created CancellationTokenSource. + + + Cancels the operation. + + + Creates a new cancellation capability. + + + Signals to a CancellationToken that it should be cancelled. + + + + + + Inequality operator for tokens. + The first input token. + The second input token. + False if the two tokens are equal. + + + Equality operator for tokens. + The first input token. + The second input token. + True if the two tokens are equal. + + + Flags whether an operation should be cancelled. + + + Registers an action to perform with the CancellationToken. + The action to associate with the token. + The state associated with the action. + The created registration object. + + + Equality comparison against another token. + The target for comparison. + True if the two tokens are equal. + + + Represents a capability to detect cancellation of an operation. + + + + + + + + + Inequality operator for registrations. + The first input registration. + The second input registration. + False if the two registrations are equal. + + + Equality operator for registrations. + The first input registration. + The second input registration. + True if the two registrations are equal. + + + Equality comparison against another registration. + The target for comparison. + True if the two registrations are equal. + + + Frees resources associated with the registration. + + + Represents a registration to a Cancellation token source. + + + diff --git a/lib/FAKE/Fake.Gallio.XML b/lib/FAKE/Fake.Gallio.XML new file mode 100644 index 0000000..f3aacf7 --- /dev/null +++ b/lib/FAKE/Fake.Gallio.XML @@ -0,0 +1,187 @@ + + +Fake.Gallio + + + + + + + Test filters (i.e. exclusion rules) + + + + + Sets the format string to use to generate the reports filenames. + Any occurence of {0} will be replaced by the date, and any occurrence of {1} by the time. + The default format string is test-report-{0}-{1}. + + + + + Sets the name of the directory where the reports will be put. + The directory will be created if it doesn't exist. Existing files will be overwritten. + The default report directory is "Reports". + + + + + Gets or sets the version of the .Net runtime to use for running tests. + For the CLR, this must be the name of one of the framework directories in %SystemRoot%\Microsoft.Net\Framework. eg. 'v2.0.50727'. + The default is null which uses the most recent installed and supported framework. + + + + + Attaches the debugger to the test process when set to true. + + + + + Shadow copying allows the original assemblies to be modified while the tests are running. + However, shadow copying may occasionally cause some tests to fail if they depend on their original location. + + + + + Gets or sets the relative or absolute path of the working directory + or null to use a default value selected by the consumer. + + + + + Gets or sets the relative or absolute path of the application base directory, + or null to use a default value selected by the consumer. + + + + + Additional Gallio plugin directories to search recursively. + + + + + The list of directories used for loading referenced assemblies and other dependent resources. + + + + + Specifies the type, assembly, and parameters of custom test runner + extensions to use during the test run. + The value must be in the form '[Namespace.]Type,Assembly[;Parameters]' + + + + + The types supported "out of the box" are: Local, IsolatedAppDomain + and IsolatedProcess (default), but more types could be available as plugins. + + + + + + + + Specifies option property key/value pairs for the test runner. + + + + + + + + + + + Specifies option property key/value pairs for the report formatter + + + + + Sets whether to show generated reports in a window using the default system application + registered to the report file type. + + + + + Sets the maximum amount of time (in seconds) the tests can run + before they are canceled. + + + + + Sets whether to ignore annotations when determining the result code. + + + + + Sets whether to echo results to the screen as tests finish. + + + + + Sets whether to load the tests but not run them. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/lib/FAKE/Fake.Gallio.dll b/lib/FAKE/Fake.Gallio.dll new file mode 100644 index 0000000..6ac0ecc Binary files /dev/null and b/lib/FAKE/Fake.Gallio.dll differ diff --git a/lib/FAKE/Fake.SQL.XML b/lib/FAKE/Fake.SQL.XML new file mode 100644 index 0000000..ea9a881 --- /dev/null +++ b/lib/FAKE/Fake.SQL.XML @@ -0,0 +1,138 @@ + + +Fake.SQL + + + + + + + + + + + + + + + + + + + + + + + + Runs all sql scripts from the given directory on the server. + Used to open the connection to the database. + All *.sql files inside this directory and all subdirectories will be run. + + + Runs the given sql scripts on the server. + Used to open the connection to the database. + The scripts which will be run. + + + Drops and creates the database (dropped if db exists. created nonetheless) + Used to open the connection to the database. + + + Replaces the database files from a cache. + If the files in the cache are not up to date, they will be refreshed. + Used to open the connection to the database. + The directory where the attached files will live. + The file cache. If the files in the cache are not up to date, they will be refreshed. + The original database files. + AttachOptions for Sql server. + + + + Replaces the database files + + + + + Replaces the database files + + + + + Closes the connection to the server + + + + Runs a sql script on the server. + Used as a connection to the database. + The script which will be run. + + + + Creates a new db on the given server + + + + + Attach a database + + + + + Detach a database + + + + + Kills all Processes + + + + + Drops the given InitialCatalog from the server (if it exists) + + + + + Checks wether the given InitialCatalog exists on the server + + + + + Gets the initial catalog as database instance + + + + + Checks wether the given Database exists on the server + + + + + Gets the name of the server + + + + + Gets the initial catalog name + + + + + gets the DatabaseNames from the server + + + + + gets the DatabaseNames from the server + + + + + Gets a connection to the SQL server and an instance to the ConnectionStringBuilder + + + + + + + diff --git a/lib/FAKE/Fake.SQL.dll b/lib/FAKE/Fake.SQL.dll new file mode 100644 index 0000000..47a53c6 Binary files /dev/null and b/lib/FAKE/Fake.SQL.dll differ diff --git a/lib/FAKE/FakeLib.XML b/lib/FAKE/FakeLib.XML new file mode 100644 index 0000000..a563dfc --- /dev/null +++ b/lib/FAKE/FakeLib.XML @@ -0,0 +1,3261 @@ + + +FakeLib + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Generates an AssemblyInfo file for projects + + + + + generates the assembly info file + + + + + AssemblyInfo default params + + + + + + + + Runs the given function on all items in parallel + + + + + + + + + + + + + + The trace Mode type. + + + + + + + + + + + + + + The BuildServer type. + + + + + Determines if the current build is a local build. + + + + + Determines the current BuildVersion and if it is a local build + + + + + Determines the current BuildVersion and if it is a local build + + + + + CruiseControl.NET Build label + + + + + Build number retrieved from TeamCity + + + + + Definces the XML output file + Used for BuildServers like CruiseControl.NET + + + + + A constant for local builds + + + + + Trace verbose output + + + + + + + + Looks for a key in the cache. + If it is not found the newValue functions is executed and the result is stored in the cache. + + + + + + + + + + + + + + + + + + + + + + + + + + Docu default params + + + + + + + + + + + The path to the personal documents + + + + + The path of Program Files (x86) + + + + + The path of Program Files - might be x64 on x64 machine + + + + + Returns the value of the buildParam if it is set and otherwise the default + + + + + Returns the value of the buildParam if it is set and otherwise "" + + + + + Returns true if the buildParam is set and otherwise false + + + + + Retrieves a ApplicationSettings variable + + + + + Retrieves the EnvironmentVariable or a default + + + + + Sets the Environment variable + + + + + Retrieves the EnvironmentVariable + + + + + Combines to path strings + + + + + Retrieves the EnvironmentVariable + + + + + + + + Run the given buildscript with fsi.exe + + + + + The Path to the F# interactive tool + + + + + + + + Copies the file structure recursive + + + + + Copies the file structure recursive + + + + Checks the srcFiles for changes to the last release. + The directory of the last release. + The target directory. + The source files. + + + Checks the srcFiles for changes to the last release. + The directory of the last release + The target directory + The source files + A function which finds the old file + + + + Checks if the directory exists + + + + + Compares the given files for changes + If delete = true then equal files will be removed + + + + + Checks if the two files are byte-to-byte equal. + + + + Appends all given files to one file. + The target FileName. + The original FileNames as a sequence. + + + + Reads a csv file line by line + delimiter is a , + + + + + Clean multiple directories + + + + + Cleans a directory + + + + Copies a directory recursivly. + If the target directory does not exist, it will be created. + The target directory. + The source directory. + A file filter function. + + + + Includes all files + + + + + Exclude SVN files (path with .svn) + + + + Copies the files to the target - Alias for Copy + The target FileName. + The orginal FileName. + + + + + + Renames the files to the target fileName. + The target FileName. + The orginal FileName. + + + + Copies the files from a cache folder. + If the files are not cached or the original files have a different write time the cache will be refreshed. + <param name="target">The target FileName.</param> + <param name="cacheDir">The cache directory.</param> + <param name="files">The orginal files.</param> + + + + Copies the given files to the target. + The target directory. + + + Copies the files to the target. + The target directory. + The original FileNames as a sequence. + + + Copies a single file to the target and overwrites the existing file. + The target directory. + The FileName. + + + Copies a single file to a relative subfolder of the target. + The target directory + The fileName + + + + Active Pattern for determining FileInfoNameSections + + + + + Active Pattern for determining file name + + + + + Active Pattern for determining file extension + + + + + + + + Deletes files + + + + + Deletes a file if it exist + + + + + Creates a file if it does not exist + + + + + Creates a directory if it does not exist + + + + + Deletes a directory if it exists + + + + + Sets all files in the directory readonly + + + + + Sets all files in the directory readonly + + + + + Sets the directory readonly + + + + + Performs the given actions on all files and subdirectories + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The FileSet is lazy loaded into a sequence of strings. + Every time the FileSet is used it scans again. + + + + + The FileSet is eagerly loaded into a list of strings. + The scan is only done once. + + + + + Includes a single pattern and scans the files - !! x = AllFilesMatching x + + + + + Includes a single pattern and scans the files - !! x = AllFilesMatching x + + + + + Exclude operator + + + + + Add Include operator + + + + + Include prefix operator + + + + + Scans immediately for include files + Files will be memoized + + + + + Sets a directory as baseDirectory for fileIncludes + + + + + Adds a directory as baseDirectory for fileIncludes + + + + + Lazy scan for include files + Will be processed at the time when needed + + + + + Include files + + + + + The default base directory + + + + + Logs the given files with the message + + + + + Searches the directories recursively for files and directories matching + the search criteria. + + + + + Searches a directory recursively for files and directories matching + the search criteria. + + + + + + + + + + + + + + + + + Parses specified search patterns for search directories and + corresponding regex patterns. + + + + + Given a search pattern returns a search directory and an regex search pattern. + + + + + Converts search pattern to a regular expression pattern. + + + + + Ensures that the last character of the given <see cref="string" /> + matches Path.DirectorySeparatorChar. + + + + + Determines whether the last character of the given <see cref="string" /> + matches Path.DirectorySeparatorChar. + + + + + Determines whether the last character of the given <see cref="string" /> + matches the specified character. + + + + + The base directory to scan. The default is the + <see cref="Environment.CurrentDirectory">current directory</see>. + + + + + + + + Patterns can use either / \ as a directory separator. + cleanPath replaces both of these characters with Path.DirectorySeparatorChar + + + + + Patterns can use either / \ as a directory separator. + cleanPath replaces both of these characters with Path.DirectorySeparatorChar + + + + + + + + Checks if all given files exists + + + + + Checks if the file exists on disk. + + + + + Gets the current directory + + + + + Gets all files in the directory + + + + + Gets all subdirectories + + + + + Converts a file to it's full file system name + + + + + Creates a FileInfo or a DirectoryInfo for the given path + + + + + Creates a FileInfo for the given path + + + + + Creates a DirectoryInfo for the given path + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Run FxCop on a group of assemblies. + + + + + FxCop Default params + + + + + + + + + + + Pull + + + + + Push all + + + + + Checks a branch out + + + + + Checks a branch out + + + + + Deletes the given tag + + + + + Tags the current branch + + + + + Deletes the given branch + + + + + Creates a new branch from the given commit + + + + + Performs a checkout of the given branch to the working copy + + + + Creates a new branch based on the given baseBranch and checks it out to the working copy + The repository directory. + The base branch. + The new branch. + + + + Returns the number of revisions between the two given commits + + + + + Returns the SHA1 of the merge base of the two given commits + + + + + Returns the SHA1 of the given head + + + + + Gets all local and remote branches + + + + + Gets all remote branches + + + + + Gets all local branches + + + + + + + + + + + Searches the git dir recursivly up to the root + + + + + + + + Runs the git command and returns the first line of the result + + + + + + + + + + + + + + + + + Runs the given process and returns the exit code + + + + + + + + + + + + + + + + + + + + + + + Sets the commit message + + + + + Gets the commit message + + + + + + + + + + + + + + + + + + + + + + + + + + Cleans the working copy by doing a git reset --hard and a clean -f + + + + + + + + + + + + + + Returns true if the working copy is in a conflicted merge otherwise false + + + + + Gets all conflicted files + + + + + Gets the changed files since the given revision incl. changes in the working copy + + + + + Gets all changed files in the current revision + + + + + Gets the changed files between the given revisions + + + + + + + + Returns true if rev1 is ahead of rev2 + + + + + Returns a friendly name from a SHA1 + + + + + Checks if the working copy is clean + + + + + Shows the git status + + + + + Returns the SHA1 of the current HEAD + + + + + Gets the git version + + + + + Gets the git branch name + + + + + + + + + + + + + + + + + + + + + + + Performs a merge of the given branch with the current branch + + + + + Tests whether branches and their "origin" counterparts have diverged and need + merging first. + + + The path to the repository. + The local branch name. + The remote branch name. + + + + + + + + + + Gets the current merge message + + + + + + + + Tries to rebase on top of the given branch. + If the rebasing process fails a normal merge will be started. + + If the process used merge instead of rebase. + + + + + + + Restart the rebasing process by skipping the current patch. + + + + + Restart the rebasing process after having resolved a merge conflict. + + + + + Restore the original branch and abort the rebase operation. + + + + + Performs a rebase on top of the given branch with the current branch + + + + + + + + Inits a git repository + + + + + Clones a git repository + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + shows the SHA1 calculated by git + + + + + Calculates the SHA1 like git + + + + + Calculates the SHA1 for a given string + + + + + + + + Checks if the given branch is a remote branch. + + + + + Checks if the given branch is a local branch. + + + + + Checks if the given branch is absent. + + + + + Checks if the given branch exists. + + + + + + + + + + + Adds a file to the staging area + + + + + + + + Remove a single stashed state from the stash list and + apply it on top of the current working tree state, + i.e., do the inverse operation of git stash save. + The working directory must match the index. + + + + + Stash the changes in a dirty working directory away. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Adds a submodule to the current repository. + The super repository. + The path to the remote repository of the submodule. + The local path to the submodule. + The branch to clone. (can be null) + + + + Inits a submodule + + + + + Gets all submodules + + + + + + + + + + Uses the HTML Help Workshop to compile a help project. + The filename of the HTML Help WorkShop tool + the fileName of the help project + The generated files (fileNames) + + + + + + + True -> XML documentation files are merged to produce an XML documentation file for the target assembly. + + + + + True -> types with the same name are all merged into a single type in the target assembly. + + + + + Directories to be used to search for input assemblies + + + + + + + + + + + + + + True (default) -> creates a .pdb file for the output assembly and merges into it any .pdb files found for input assemblies. + + + + + + + + True -> transitive closure of the input assemblies is computed and added to the list of input assemblies. + + + + + Path to an assembly that will be used to get all of the assembly-level attributes + + + + + + + + Wild cards in file names are expanded and all matching files will be used as input. + + + + + Assembly-level attributes names that have the same type are copied over into the target directory + + + + + Duplicate types policy + + + + + Assemblies to merge with the primary assembly + + + + + + + + Version to use for the merged assembly + + + + + Path to ILMerge.exe + + + + + + + + + + + + + + + + + + + + List of types to allow to be duplicate + + + + + All public types are allowed to be duplicate and renamed + + + + + No duplicates of public types allowed + + + + + + + + Use ILMerge to merge some .NET assemblies. + + + + + ILMerge default params + + + + + + + + + + + + + + A Convetion which matches nothing + + + + + All Spec.cs or Spec.fs files and all files containing TestData + + + + + All Spec.cs or Spec.fs files + + + + + All references to nunit.*.dlls + + + + Removes test data and test files from a given MSBuild project and recursivly from all MSBuild project dependencies + A filter function for assembly references. + A filter function for files in a project. + The MSBuild project to start. + + + + + + + + + + + + + + + + Converts a MSBuildProject to XML + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Builds the given project files and collects the output files + + + + + Builds the given project files and collects the output files + + + + + Builds the given project files and collects the output files + + + + + Runs a msbuild project + + + + + + + + + + + + + + + + + + + + + + + + + + + + + MSBuild exe fileName + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + MSpec default params + + + + + + + + + + + + + + + + + + + + Checks if the current message queue is empty + + + + + + + + + + + + + + Waits for another application to create a output file + - if the timeout is reached an exception will be raised + + + + + Waits for other applications to create a output files + if the timeout is reached an exception will be raised + + + + + + + + + + + + + + + + + + + + + + + + + Run NCover on a group of assemblies. + NCover parameter function + The test assemblies, which should be inspected + These assemblies are excluded + + + + NCover default params + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + writes the given TestSuite as XML file in NUnit style + + + + + Run NUnit on a group of assemblies. + + + + + NUnit default params + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Creates a new NuGet package + + + + + NuGet default params + + + + + + + + Converts an F# option into a nullable object + + + + + Converts a nullable object into an F# option + + + + + + + + + + + + + + + + + + + + + + + Command-line argument pairs. The value will be quoted if it contains + a string, and the result will be appended to the CommandLine property. + If the key ends in a letter or number, a space will be inserted between + the key and the value. + + + + + Command-line parameters in a string. + + + + + The working directory for the program. Defaults to "". + + + + + The path to the executable, without arguments. + + + + + + + + Execute an external program and return the exit code. + + + + + Execute an external program asynchronously and return the exit code, + logging output and error messages to FAKE output. You can compose the result + with Async.Parallel to run multiple external programs at once, but be + sure that none of them depend on the output of another. + + + + + + + + + + + Tries to find the tool via AppSettings. If no path has the right tool we are trying the PATH system variable. + + + + + Returns the AppSettings for the key - Splitted on ; + + + + + Searches the given directories for the given file, failing if not found + + + + + Searches the given directories for all occurrences of the given file name + + + + + Use default Parameters + + + + + Adds quotes and a blank around the string + + + + + Adds quotes around the string if needed + + + + + Adds quotes around the string + + + + + Runs the given process + returns true if the exit code was 0 + + + + + sets the environment Settings for the given startInfo + existing values will be overrriden + + + + + Runs the given process + returns the exit code + + + + + Runs the given process + returns if the exit code was 0 + + + + + Runs the given process + returns the exit code + + + + + Runs the given process + returns the exit code + + + + + Runs the given process and returns the exit code + + + + + Runs the given process and returns the exit code + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Executes an HTTP POST command and retrives the information. + This function will automatically include a "source" parameter if the "Source" property is set. + The client information to perform the POST operation. + The URL to perform the POST operation + The username to use with the request + The password to use with the request + The data to post + The response of the request, or null if we got 404 or nothing. + + + Executes an HTTP GET command and retrives the information. + The username to use with the request + The password to use with the request + The URL to perform the GET operation + The response of the request, or null if we got 404 or nothing. + + + + + + + + + + + + + + + + + + + + + + + + + + + + gets a registy value as string + + + + + gets a registy key + + + + + Maps the RegistryBaseKey to a RegistryKey + + + + + + + Performs a SCP copy. + The source directory (fileName) + The target directory (fileName) + + + + SCP default params + + + + + + + + Returns true if the given element exists in the sequence + + + + + + + + + + + Trims the given string with the DirectorySeparatorChar + + + + + Checks wether the given char is a standard char or digit. + + + + + Returns all standard chars and digits. + + + + + Checks wether the given char is a german umlaut. + + + + + + + + + + + + + + + + + Checks wether the given text starts with the given prefix + + + + + Converts a sequence of strings into a string separated with line ends + + + + + Removes the slashes from the end of the given string + + + + + Replaces any occurence of the currentDirectory with . + + + + + Replaces the absolute path to a relative + + + + Produces relative path when possible to go from baseLocation to targetLocation. + The root folder + The target folder + The relative path relative to baseLocation + base or target locations are null or empty + + + + A cache of relative path names. + + + + + The directory separator string. On most systems / or \ + + + + + Appends all notnull fileNames + + + + + Appends a text if the value is not null or empty + + + + + Appends a text if the value is not null + + + + + Appends a text if the value is not null + + + + + Appends a text if the predicate is false + + + + + Appends a text if the predicate is true + + + + + Appends a text + + + + + Encapsulates the Apostrophe + + + + + Removes linebreaks from the given string + + + + + + + + Replaces the given pattern in the given text with the replacement + + + + + Reads a file as one text + + + + + Converts a sequence of strings to a string with delimiters + + + + + Appends all lines to a file line by line + + + + + Writes a file line by line + + + + + + + + Replaces the file with the given string + + + + + Writes string to a file + + + + + Writes a file line by line + + + + + Reads a file line by line + + + + + Returns if the string is not null or empty + + + + + Returns if the string is null or empty + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Runs the target given by the build script parameter or the given default target + + + + + Runs a Target and its dependencies + + + + + Appends the dependency to the list of dependencies + + + + + Converts a dependency into a list + + + + + Allows to use For? syntax for Dependencies + + + + + Allows to use Tokens instead of strings for TargetNames + + + + + Allows to use Tokens instead of strings + + + + + Activates the FinalTarget + + + + + Registers a final target (not activated) + + + + Runs a target and its dependencies + The target to run. + + + Writes a build time report. + The total runtime. + + + Writes a dependency graph. + Whether to print verbose output or not. + The target for which the dependencies should be printed. + + + + Runs all activated final targets (in alphabetically order) + + + + + + + + + + + + + + Creates a Target + + + + + Creates a TargetTemplate + + + + + Creates a TargetTemplate with dependencies + + + + + Creates a target from template + + + + + Set a dependency for all registered targets + + + + + Set a dependency for all given targets + + + + + Dependencies operator + + + + + Adds the dependencies to the list of dependencies + + + + + Adds the dependency to the list of dependencies + + + + + Appends the dependency to the list of dependencies + + + + + Adds the dependency to the front of the list of dependencies + + + + + Checks wether the dependency can be add + + + + + Do nothing - fun () -> () + + + + + Returns a list with all targetNames + + + + + Returns the DependencyString for the given target + + + + + Gets a target with the given name from the target dictionary + + + + + The executed target time + + + + + The executed targets + + + + + Final Targets - stores final target and if it is activated + + + + + TargetDictionary + + + + + + + + Gets the changed files + + + + + Gets the recently failed tests + + + + + Reports a failed comparison. + + + + + Reports a failed test. + + + + + Reports a build statistic. + + + + + Sets the TeamCity build number. + + + + + Publishes an artifact on the TeamcCity build server. + + + + + Reports the build status. + + + + + Reports the progress end. + + + + + Reports the progress start. + + + + + Reports the progress. + + + + + Starts the test suite. + + + + + Finishes the test suite. + + + + + Ignores the test case. + + + + + Finishes the test case. + + + + + Starts the test case. + + + + + Sends an FXCop results filename to TeamCity + + + + + Sends an NUnit results filename to TeamCity + + + + + Sends an error to TeamCity + + + + + Send message to TeamCity + + + + + Send message to TeamCity + + + + + Encapsulates special chars + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Gets all projects on the TeamCity + + + + + Gets a projects from the TeamCity server + + + + + Gets a projects from the TeamCity server + + + + + + + + Returns the REST version of the TeamCity server + + + + + + + + + + + Replaces the templates with the given replacements + + + + + saves all files (lazy - file by file!) + + + + + replaces a bunch of the keywords in all files (lazy - line by line!) + + + + + Loads all templates (lazy - line by line!) + + + + + + + + Waits until the given function returns true or the timeout is reached + + + + + + + + Traces the end of a task + + + + + Traces the begin of a task + + + + + Traces the end of a target + + + + + Traces the begin of a target + + + + + + + + + + + + + + Traces the end of the build + + + + + Traces the begin of the build + + + + + Traces a header + + + + + Traces a line + + + + + Gets the FAKE Version string + + + + + Traces the EnvironmentVariables + + + + + Traces an error (in red) + + + + + Writes a trace to the command line (in yellow) + + + + + Writes a trace to stderr (in yellow) + + + + + Writes a trace to the command line (in green) if the verbose mode is activated. + + + + + Writes a message to the command line (in green) and without a line break + + + + + Writes a message to the command line (in green) + + + + + Writes a trace to the command line (in green) + + + + + Logs the specified string if the verbose mode is activated. + + + + + Logs the specified message (without line break) + + + + + Logs the specified message + + + + + Logs the specified string + + + + + Waits until the message queue is empty + + + + + + + + Gets the FAKE version no. + + + + + Gets the path of the current FAKE instance + + + + + + + + + + + + + + Writes the given message to the xml file. + + + + + + + Implements a TraceListener which writes NAnt like XML files. + Defines the xml output file. + + + + + + + + + + Writes the given message to the Console. + + + + + + + Implements a TraceListener for System.Console + Defines whether to trace important messages to StdErr. + A function which maps TracePriorities to ConsoleColors. + + + + + + + Defines a TraceListener interface + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Defines Tracing information for TraceListeners + + + + + + + + + + + + + + The default TraceListener for Console + + + + + Maps TracePriorities to ConsoleColors + + + + + + + + + + + + + + + + + + + + + + + + + + Uses Candle and Light to create a msi. + + + + + + + + + + + WiX default params + + + + + + + + + + + + + + + + + + + + + + Performs a XCopy. + The source directory (fileName) + The target directory (fileName) + + + + + + + Replaces text in an XML file at the location specified by an XPath expression, with support for namespaces. + + + + + Replaces text in XML document specified by an XPath expression, with support for namespaces. + + + + + Replaces text in an XML file at the location specified by an XPath expression. + + + + + Replaces text in XML document specified by an XPath expression. + + + + + Gets the DocumentElement of the XmlDocument + + + + + Gets the result as xml + + + + + parses a subnode + + + + + parses a node + + + + + gets the sub node with the name + + + + + Gets the child nodes for the given nodes + + + + + Gets the attribute with the given name + + + + + Writes an CData element + + + + + Writes an Xml attribute + + + + + Writes an Xml element end + + + + + Writes an Xml element start + + + + + Writes an Xml comment + + + + + Generates an XmlWriter + + + + + Reads a value from a XML document using a XPath + returns if the value is an int and the value + + + + + Reads a value from a XML document using a XPath + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + xUnit default params + + + + + + + Unzips a file with the given fileName. + The target directory. + The fileName of the zip file. + + + Creates a zip file with the given file. + The fileName of the resulting zip file. + The file to zip. + + + Creates a zip file with the given files. + The relative dir of the zip files. Use this parameter to influence directory structure within zip file. + The fileName of the resulting zip file. + A sequence with files to zip. + + + + Creates a zip file with the given files + + + + + The default zip level + + + + + + + + + + + + + + + + + + + diff --git a/lib/FAKE/FakeLib.dll b/lib/FAKE/FakeLib.dll new file mode 100644 index 0000000..e7d7620 Binary files /dev/null and b/lib/FAKE/FakeLib.dll differ diff --git a/lib/FAKE/Gallio.dll b/lib/FAKE/Gallio.dll new file mode 100644 index 0000000..1764733 Binary files /dev/null and b/lib/FAKE/Gallio.dll differ diff --git a/lib/FAKE/ICSharpCode.SharpZipLib.dll b/lib/FAKE/ICSharpCode.SharpZipLib.dll new file mode 100644 index 0000000..e829ebf Binary files /dev/null and b/lib/FAKE/ICSharpCode.SharpZipLib.dll differ diff --git a/lib/FAKE/License.txt b/lib/FAKE/License.txt new file mode 100644 index 0000000..fae3585 --- /dev/null +++ b/lib/FAKE/License.txt @@ -0,0 +1,54 @@ +Copyright (c) 2008 "FAKE - F# Make" Project +Portions Copyright (c) 2010 Steffen Forkmann + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +***************************** +Some parts licensed under MS-PL +***************************** + +This license governs use of the accompanying software. If you use the software, you accept this license. If you do not accept the license, do not use the software. + +1. Definitions + +The terms "reproduce," "reproduction," "derivative works," and "distribution" have the same meaning here as under U.S. copyright law. + +A "contribution" is the original software, or any additions or changes to the software. + +A "contributor" is any person that distributes its contribution under this license. + +"Licensed patents" are a contributor's patent claims that read directly on its contribution. + +2. Grant of Rights + +(A) Copyright Grant- Subject to the terms of this license, including the license conditions and limitations in section 3, each contributor grants you a non-exclusive, worldwide, royalty-free copyright license to reproduce its contribution, prepare derivative works of its contribution, and distribute its contribution or any derivative works that you create. + +(B) Patent Grant- Subject to the terms of this license, including the license conditions and limitations in section 3, each contributor grants you a non-exclusive, worldwide, royalty-free license under its licensed patents to make, have made, use, sell, offer for sale, import, and/or otherwise dispose of its contribution in the software or derivative works of the contribution in the software. + +3. Conditions and Limitations + +(A) No Trademark License- This license does not grant you rights to use any contributors' name, logo, or trademarks. + +(B) If you bring a patent claim against any contributor over patents that you claim are infringed by the software, your patent license from such contributor to the software ends automatically. + +(C) If you distribute any portion of the software, you must retain all copyright, patent, trademark, and attribution notices that are present in the software. + +(D) If you distribute any portion of the software in source code form, you may do so only under this license by including a complete copy of this license with your distribution. If you distribute any portion of the software in compiled or object code form, you may only do so under a license that complies with this license. + +(E) The software is licensed "as-is." You bear the risk of using it. The contributors give no express warranties, guarantees or conditions. You may have additional consumer rights under your local laws which this license cannot change. To the extent permitted under your local laws, the contributors exclude the implied warranties of merchantability, fitness for a particular purpose and non-infringement. \ No newline at end of file diff --git a/lib/FAKE/docu.exe b/lib/FAKE/docu.exe new file mode 100644 index 0000000..4505fc8 Binary files /dev/null and b/lib/FAKE/docu.exe differ diff --git a/lib/FAKE/readme.markdown b/lib/FAKE/readme.markdown new file mode 100644 index 0000000..08cc70f --- /dev/null +++ b/lib/FAKE/readme.markdown @@ -0,0 +1,335 @@ +# What is "FAKE - F# Make"? + +## Introduction + +Modern build automation systems are not limited to simply recompile programs if source code has changed. +They are supposed to get the latest sources from a source code management system, build test databases, +run automatic tests, check guidelines, create documentation files, install setup projects and much more. +Some companies are even deploying virtual machines, which are created during a nightly build process. +In order to simplify the writing of such build scripts and to provide reusability of common tasks +most build automation systems are using a domain-specific language (DSL). +These tools can be divided into tools using external DSLs with a custom syntax like **make**, +tools using external DSLs with an XML based syntax like **MSBuild** or **Apache Ant** and +tools using internal DSLs which are integrated in a host language like **Rake**, which uses Ruby. + +## FAKE - An integrated DSL + +"FAKE - F# Make" is a build automation system, which is intended to combine the advantages +of the above mentioned tools but to provide a better tooling support. +Due to its integration in F#, all benefits of the .NET Framework and functional programming can be used, +including the extensive class library, powerful debuggers and integrated development environments +like Visual Studio 2008 or SharpDevelop, which provide syntax highlighting and code completion. + +The new language was designed to be succinct, typed, declarative, extensible and easy to use. +For instance custom build tasks can be added simply by referencing .NET assemblies and using the corresponding classes. + +## Lastest builds + +You can download the latest builds from http://teamcity.codebetter.com. You don't need to register, a guest login is ok. + +* [Latest stable build](http://teamcity.codebetter.com/viewLog.html?buildId=lastSuccessful&buildTypeId=bt114&tab=artifacts) +* [Latest development build](http://teamcity.codebetter.com/viewLog.html?buildId=lastSuccessful&buildTypeId=bt166&tab=artifacts) + +## How to contribute code + +* Login in github (you need an account) +* Fork the main repository from [Github](https://github.com/forki/FAKE) +* Push your changes to your fork +* Send me a pull request + +## Mailing list + +The "FAKE - F# Make" mailing list can be found at [http://groups.google.com/group/fsharpMake](http://groups.google.com/group/fsharpMake). + +## Articles + +* [Getting started with "FAKE - F# Make"](http://www.navision-blog.de/2009/04/01/getting-started-with-fake-a-f-sharp-make-tool): This tutorial shows you how to build the CalculatorSample project. +* [Adding FxCop to a "FAKE" build script](http://www.navision-blog.de/2009/04/02/adding-fxcop-to-a-fake-build-script) +* [Debugging "FAKE - F# Make" build scripts](http://www.navision-blog.de/2009/04/05/debugging-fake-f-make-build-scripts) +* [Modifying AssemblyInfo and Version via "FAKE - F# Make"](http://www.navision-blog.de/2009/04/04/modifying-assemblyinfo-and-version-via-fake-f-make) +* [Writing custom tasks for "FAKE - F# Make"](http://www.navision-blog.de/2009/04/14/writing-custom-tasks-for-fake-f-make) +* [Integrating a "FAKE - F# Make" build script into TeamCity](http://www.navision-blog.de/2009/04/15/integrate-a-fake-f-make-build-script-into-teamcity) +* [Integrating a "FAKE - F# Make" build script into CruiseControl.NET](http://www.navision-blog.de/2009/10/14/integrating-a-fake-f-make-build-script-into-cruisecontrol-net) +* [Running specific targets in "FAKE – F# Make"](http://www.navision-blog.de/2010/11/03/running-specific-targets-in-fake-f-make/) + +## Main Features + +* Simple build infrastructure +* Easy systax +* Full power of .NET Framework +* Simple [TeamCity](http://www.jetbrains.com/teamcity) integration (see [Integrating a "FAKE - F# Make" build script into TeamCity](http://www.navision-blog.de/2009/04/15/integrate-a-fake-f-make-build-script-into-teamcity)) +* Simple CruiseControl.NET integration (see [Integrating a "FAKE - F# Make" build script into CruiseControl.NET](http://www.navision-blog.de/2009/10/14/integrating-a-fake-f-make-build-script-into-cruisecontrol-net)) +* FinalTarget feature (to release resources even if build fails) +* Extensible platform - [Write your own tasks](http://www.navision-blog.de/2009/04/14/writing-custom-tasks-for-fake-f-make) +* Easy debugging +* Intellisense support (when using Visual Studio) + +## Predefined tasks + +* Clean task +* [NUnit](http://www.nunit.org) support +* [xUnit.net](http://www.codeplex.com/xunit) support +* [MSpec](https://github.com/machine/machine.specifications) support +* NCover support +* FxCop support +* ExecProcess task (To run tools via the command line) +* MSBuild task (to compile *.csproj and *.fsproj projects or run MSBuild scripts) +* XMLRead task +* VSS task (Get sources from Visual Source Safe) +* XCopy task +* Zip task +* [git](http://git-scm.com/) tasks +* AssemblyInfo task +* ... + +# Using FAKE + +## Targets + +Targets are the main unit of work in a "FAKE - F# Make" script. +Targets have a name and an action (given as a code block). + + // The clean target cleans the build and deploy folders + Target "Clean" (fun _ -> + CleanDir "./build/" + CleanDir "./deploy/" + ) + +### Dependencies + +You can define prerequisites for tasks: + + // Target Default is dependent from target Clean and BuildApp + // "FAKE - F# Make" will run these targets before Default + "Default" <== ["Clean"; "BuildApp"] + +### Running targets + +You can execute targets with the "run"-command: + + // Executes Default target + Run "Default" + +### Final targets + +Final target can be used for TearDown functionality. +These targets will be executed even if the build fails but have to be activated via ActivateFinalTarget(). + + // FinalTarget will be excuted even if build fails + FinalTarget "CloseSomePrograms" (fun _ -> + // close stuff and release resources + ) + + // Activate FinalTarget somewhere during build + ActivateFinalTarget "CloseSomePrograms" + +## FileSets + +"FAKE - F# Make" uses similar include and exclude patterns as NAnt and MSBuild. + +### File includes + + // Includes all *.csproj files under /src/app by using the !+ operator + !+ "src/app/**/*.csproj" + + // Includes all *.csproj files under /src/app and /test with the ++ operator + !+ "src/app/**/*.csproj" + ++ "test/**/*.csproj" + +### File excludes + + // Includes all files under /src/app but excludes *.zip files + !+ "src/app/**/*.*" + -- "*.zip" + +### Scan vs. ScanImmediately + +"FAKE - F# Make" provides two scan methods: Scan() and ScanImmediately(). + +Scan is a lazy method and evaluates the FileSet as late as possible ("on-demand"). +If the FileSet is used twice, it will be reevaluated. + +The following code defines a lazy FileSet: + + // Includes all *.csproj files under /src/app and scans them lazy + let apps = + !+ "src/app/**/*.csproj" + |> Scan + +ScanImmediately() scans the FileSet immediatly at time of its definition +and memoizes it. + + // Includes all files under /src/app but excludes *.zip files + // eager scan ==> All files memoized at the time of this definition + let files = + !+ "src/app/**/*.csproj" + -- "*.zip" + |> ScanImmediately + +## UnitTests + +### NUnit + + // define test dlls + let testDlls = !+ (testDir + @"/Test.*.dll") |> Scan + + Target "NUnitTest" (fun _ -> + testDlls + |> NUnit (fun p -> + {p with + ToolPath = nunitPath; + DisableShadowCopy = true; + OutputFile = testDir + "TestResults.xml"})) + +### MSpec + // define test dlls + let testDlls = !+ (testDir + @"/Test.*.dll") |> Scan + + Target "MSpecTest" (fun _ -> + testDlls + |> MSpec (fun p -> + {p with + ExcludeTags = ["LongRunning"] + HtmlOutputDir = testOutputDir + ToolPath = ".\toools\MSpec\mspec.exe"})) + +### xUnit.net + + // define test dlls + let testDlls = !+ (testDir + @"/Test.*.dll") |> Scan + + Target "xUnitTest" (fun _ -> + testDlls + |> xUnit (fun p -> + {p with + ShadowCopy = false; + HtmlPrefix = testDir})) + +## Sample script + +This sample script + +* Assumes "FAKE - F# Make" is located at ./tools/FAKE +* Assumes NUnit is located at ./tools/NUnit +* Cleans the build and deploy paths +* Builds all C# projects below src/app/ and puts the output to .\build +* Builds all NUnit test projects below src/test/ and puts the output to .\build +* Uses NUnit to test the generated Test.*.dll's +* Zips all generated files to deploy\MyProject-0.1.zip + +You can read [Getting started with FAKE](http://www.navision-blog.de/2009/04/01/getting-started-with-fake-a-f-sharp-make-tool) to build such a script. + + // include Fake libs + #I "tools\FAKE" + #r "FakeLib.dll" + + open Fake + + // Directories + let buildDir = @".\build\" + let testDir = @".\test\" + let deployDir = @".\deploy\" + + // tools + let nunitPath = @".\Tools\NUnit" + let fxCopRoot = @".\Tools\FxCop\FxCopCmd.exe" + + // Filesets + let appReferences = + !+ @"src\app\**\*.csproj" + ++ @"src\app\**\*.fsproj" + |> Scan + + let testReferences = + !+ @"src\test\**\*.csproj" + |> Scan + + // version info + let version = "0.2" // or retrieve from CI server + + // Targets + Target "Clean" (fun _ -> + CleanDirs [buildDir; testDir; deployDir] + ) + + Target "BuildApp" (fun _ -> + AssemblyInfo + (fun p -> + {p with + CodeLanguage = CSharp; + AssemblyVersion = version; + AssemblyTitle = "Calculator Command line tool"; + AssemblyDescription = "Sample project for FAKE - F# MAKE"; + Guid = "A539B42C-CB9F-4a23-8E57-AF4E7CEE5BAA"; + OutputFileName = @".\src\app\Calculator\Properties\AssemblyInfo.cs"}) + + AssemblyInfo + (fun p -> + {p with + CodeLanguage = CSharp; + AssemblyVersion = version; + AssemblyTitle = "Calculator library"; + AssemblyDescription = "Sample project for FAKE - F# MAKE"; + Guid = "EE5621DB-B86B-44eb-987F-9C94BCC98441"; + OutputFileName = @".\src\app\CalculatorLib\Properties\AssemblyInfo.cs"}) + + // compile all projects below src\app\ + MSBuildRelease buildDir "Build" appReferences + |> Log "AppBuild-Output: " + ) + + Target "BuildTest" (fun _ -> + MSBuildDebug testDir "Build" testReferences + |> Log "TestBuild-Output: " + ) + + Target "NUnitTest" (fun _ -> + !+ (testDir + @"\NUnit.Test.*.dll") + |> Scan + |> NUnit (fun p -> + {p with + ToolPath = nunitPath; + DisableShadowCopy = true; + OutputFile = testDir + @"TestResults.xml"}) + ) + + Target "xUnitTest" (fun _ -> + !+ (testDir + @"\xUnit.Test.*.dll") + |> Scan + |> xUnit (fun p -> + {p with + ShadowCopy = false; + HtmlOutput = true; + XmlOutput = true; + OutputDir = testDir }) + ) + + Target "FxCop" (fun _ -> + !+ (buildDir + @"\**\*.dll") + ++ (buildDir + @"\**\*.exe") + |> Scan + |> FxCop (fun p -> + {p with + ReportFileName = testDir + "FXCopResults.xml"; + ToolPath = fxCopRoot}) + ) + + Target "Deploy" (fun _ -> + !+ (buildDir + "\**\*.*") + -- "*.zip" + |> Scan + |> Zip buildDir (deployDir + "Calculator." + version + ".zip") + ) + + Target "Test" DoNothing + + // Dependencies + "BuildApp" <== ["Clean"] + "BuildTest" <== ["Clean"] + "NUnitTest" <== ["BuildApp"; "BuildTest"; "FxCop"] + "xUnitTest" <== ["BuildApp"; "BuildTest"; "FxCop"] + "Test" <== ["xUnitTest"; "NUnitTest"] + "Deploy" <== ["Test"] + + // start build + Run "Deploy \ No newline at end of file diff --git a/packages/FsUnit.0.9.0/Content/FsUnitSample.fs.pp b/packages/FsUnit.0.9.0/Content/FsUnitSample.fs.pp new file mode 100644 index 0000000..24aa2bd --- /dev/null +++ b/packages/FsUnit.0.9.0/Content/FsUnitSample.fs.pp @@ -0,0 +1,35 @@ +namespace $rootnamespace$.Tests + +open NUnit.Framework +open FsUnit + +type LightBulb(state) = + member x.On = state + override x.ToString() = + match x.On with + | true -> "On" + | false -> "Off" + +[] +type ``Given a LightBulb that has had its state set to true`` ()= + let lightBulb = new LightBulb(true) + + [] member test. + ``when I ask whether it is On it answers true.`` ()= + lightBulb.On |> should be True + + [] member test. + ``when I convert it to a string it becomes "On".`` ()= + string lightBulb |> should equal "On" + +[] +type ``Given a LightBulb that has had its state set to false`` ()= + let lightBulb = new LightBulb(false) + + [] member test. + ``when I ask whether it is On it answers false.`` ()= + lightBulb.On |> should be False + + [] member test. + ``when I convert it to a string it becomes "Off".`` ()= + string lightBulb |> should equal "Off" \ No newline at end of file diff --git a/packages/FsUnit.0.9.0/FsUnit.0.9.0.nupkg b/packages/FsUnit.0.9.0/FsUnit.0.9.0.nupkg new file mode 100644 index 0000000..51e5558 Binary files /dev/null and b/packages/FsUnit.0.9.0/FsUnit.0.9.0.nupkg differ diff --git a/packages/FsUnit.0.9.0/Lib/FsUnit.NUnit-0.9.0.dll b/packages/FsUnit.0.9.0/Lib/FsUnit.NUnit-0.9.0.dll new file mode 100644 index 0000000..9a6f066 Binary files /dev/null and b/packages/FsUnit.0.9.0/Lib/FsUnit.NUnit-0.9.0.dll differ diff --git a/packages/NUnit.2.5.9.10348/Logo.ico b/packages/NUnit.2.5.9.10348/Logo.ico new file mode 100644 index 0000000..13c4ff9 Binary files /dev/null and b/packages/NUnit.2.5.9.10348/Logo.ico differ diff --git a/packages/NUnit.2.5.9.10348/NUnit.2.5.9.10348.nupkg b/packages/NUnit.2.5.9.10348/NUnit.2.5.9.10348.nupkg new file mode 100644 index 0000000..e770e04 Binary files /dev/null and b/packages/NUnit.2.5.9.10348/NUnit.2.5.9.10348.nupkg differ diff --git a/packages/NUnit.2.5.9.10348/NUnitFitTests.html b/packages/NUnit.2.5.9.10348/NUnitFitTests.html new file mode 100644 index 0000000..ca5cd4f --- /dev/null +++ b/packages/NUnit.2.5.9.10348/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/packages/NUnit.2.5.9.10348/Tools/NUnitFitTests.html b/packages/NUnit.2.5.9.10348/Tools/NUnitFitTests.html new file mode 100644 index 0000000..ca5cd4f --- /dev/null +++ b/packages/NUnit.2.5.9.10348/Tools/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/packages/NUnit.2.5.9.10348/Tools/NUnitTests.config b/packages/NUnit.2.5.9.10348/Tools/NUnitTests.config new file mode 100644 index 0000000..fb15771 --- /dev/null +++ b/packages/NUnit.2.5.9.10348/Tools/NUnitTests.config @@ -0,0 +1,85 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/NUnit.2.5.9.10348/Tools/NUnitTests.nunit b/packages/NUnit.2.5.9.10348/Tools/NUnitTests.nunit new file mode 100644 index 0000000..e7bb7f4 --- /dev/null +++ b/packages/NUnit.2.5.9.10348/Tools/NUnitTests.nunit @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + diff --git a/packages/NUnit.2.5.9.10348/Tools/agent.conf b/packages/NUnit.2.5.9.10348/Tools/agent.conf new file mode 100644 index 0000000..ddbcd8e --- /dev/null +++ b/packages/NUnit.2.5.9.10348/Tools/agent.conf @@ -0,0 +1,4 @@ + + 8080 + . + \ No newline at end of file diff --git a/packages/NUnit.2.5.9.10348/Tools/agent.log.conf b/packages/NUnit.2.5.9.10348/Tools/agent.log.conf new file mode 100644 index 0000000..4bd90ca --- /dev/null +++ b/packages/NUnit.2.5.9.10348/Tools/agent.log.conf @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + + + + diff --git a/packages/NUnit.2.5.9.10348/Tools/launcher.log.conf b/packages/NUnit.2.5.9.10348/Tools/launcher.log.conf new file mode 100644 index 0000000..4bd90ca --- /dev/null +++ b/packages/NUnit.2.5.9.10348/Tools/launcher.log.conf @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + + + + diff --git a/packages/NUnit.2.5.9.10348/Tools/lib/Failure.png b/packages/NUnit.2.5.9.10348/Tools/lib/Failure.png new file mode 100644 index 0000000..2e400b2 Binary files /dev/null and b/packages/NUnit.2.5.9.10348/Tools/lib/Failure.png differ diff --git a/packages/NUnit.2.5.9.10348/Tools/lib/Ignored.png b/packages/NUnit.2.5.9.10348/Tools/lib/Ignored.png new file mode 100644 index 0000000..478efbf Binary files /dev/null and b/packages/NUnit.2.5.9.10348/Tools/lib/Ignored.png differ diff --git a/packages/NUnit.2.5.9.10348/Tools/lib/Inconclusive.png b/packages/NUnit.2.5.9.10348/Tools/lib/Inconclusive.png new file mode 100644 index 0000000..4807b7c Binary files /dev/null and b/packages/NUnit.2.5.9.10348/Tools/lib/Inconclusive.png differ diff --git a/packages/NUnit.2.5.9.10348/Tools/lib/Skipped.png b/packages/NUnit.2.5.9.10348/Tools/lib/Skipped.png new file mode 100644 index 0000000..7c9fc64 Binary files /dev/null and b/packages/NUnit.2.5.9.10348/Tools/lib/Skipped.png differ diff --git a/packages/NUnit.2.5.9.10348/Tools/lib/Success.png b/packages/NUnit.2.5.9.10348/Tools/lib/Success.png new file mode 100644 index 0000000..2a30150 Binary files /dev/null and b/packages/NUnit.2.5.9.10348/Tools/lib/Success.png differ diff --git a/packages/NUnit.2.5.9.10348/Tools/lib/fit.dll b/packages/NUnit.2.5.9.10348/Tools/lib/fit.dll new file mode 100644 index 0000000..40bbef0 Binary files /dev/null and b/packages/NUnit.2.5.9.10348/Tools/lib/fit.dll differ diff --git a/packages/NUnit.2.5.9.10348/Tools/lib/log4net.dll b/packages/NUnit.2.5.9.10348/Tools/lib/log4net.dll new file mode 100644 index 0000000..20a2e1c Binary files /dev/null and b/packages/NUnit.2.5.9.10348/Tools/lib/log4net.dll differ diff --git a/packages/NUnit.2.5.9.10348/Tools/lib/nunit-console-runner.dll b/packages/NUnit.2.5.9.10348/Tools/lib/nunit-console-runner.dll new file mode 100644 index 0000000..a18299e Binary files /dev/null and b/packages/NUnit.2.5.9.10348/Tools/lib/nunit-console-runner.dll differ diff --git a/packages/NUnit.2.5.9.10348/Tools/lib/nunit-gui-runner.dll b/packages/NUnit.2.5.9.10348/Tools/lib/nunit-gui-runner.dll new file mode 100644 index 0000000..ec364fa Binary files /dev/null and b/packages/NUnit.2.5.9.10348/Tools/lib/nunit-gui-runner.dll differ diff --git a/packages/NUnit.2.5.9.10348/Tools/lib/nunit.core.dll b/packages/NUnit.2.5.9.10348/Tools/lib/nunit.core.dll new file mode 100644 index 0000000..5e9fcc0 Binary files /dev/null and b/packages/NUnit.2.5.9.10348/Tools/lib/nunit.core.dll differ diff --git a/packages/NUnit.2.5.9.10348/Tools/lib/nunit.core.interfaces.dll b/packages/NUnit.2.5.9.10348/Tools/lib/nunit.core.interfaces.dll new file mode 100644 index 0000000..3152dd2 Binary files /dev/null and b/packages/NUnit.2.5.9.10348/Tools/lib/nunit.core.interfaces.dll differ diff --git a/packages/NUnit.2.5.9.10348/Tools/lib/nunit.fixtures.dll b/packages/NUnit.2.5.9.10348/Tools/lib/nunit.fixtures.dll new file mode 100644 index 0000000..0b19937 Binary files /dev/null and b/packages/NUnit.2.5.9.10348/Tools/lib/nunit.fixtures.dll differ diff --git a/packages/NUnit.2.5.9.10348/Tools/lib/nunit.uiexception.dll b/packages/NUnit.2.5.9.10348/Tools/lib/nunit.uiexception.dll new file mode 100644 index 0000000..66b4b95 Binary files /dev/null and b/packages/NUnit.2.5.9.10348/Tools/lib/nunit.uiexception.dll differ diff --git a/packages/NUnit.2.5.9.10348/Tools/lib/nunit.uikit.dll b/packages/NUnit.2.5.9.10348/Tools/lib/nunit.uikit.dll new file mode 100644 index 0000000..adc5ead Binary files /dev/null and b/packages/NUnit.2.5.9.10348/Tools/lib/nunit.uikit.dll differ diff --git a/packages/NUnit.2.5.9.10348/Tools/lib/nunit.util.dll b/packages/NUnit.2.5.9.10348/Tools/lib/nunit.util.dll new file mode 100644 index 0000000..b31beef Binary files /dev/null and b/packages/NUnit.2.5.9.10348/Tools/lib/nunit.util.dll differ diff --git a/packages/NUnit.2.5.9.10348/Tools/nunit-agent-x86.exe b/packages/NUnit.2.5.9.10348/Tools/nunit-agent-x86.exe new file mode 100644 index 0000000..00b331c Binary files /dev/null and b/packages/NUnit.2.5.9.10348/Tools/nunit-agent-x86.exe differ diff --git a/packages/NUnit.2.5.9.10348/Tools/nunit-agent-x86.exe.config b/packages/NUnit.2.5.9.10348/Tools/nunit-agent-x86.exe.config new file mode 100644 index 0000000..d840f37 --- /dev/null +++ b/packages/NUnit.2.5.9.10348/Tools/nunit-agent-x86.exe.config @@ -0,0 +1,69 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/packages/NUnit.2.5.9.10348/Tools/nunit-agent.exe b/packages/NUnit.2.5.9.10348/Tools/nunit-agent.exe new file mode 100644 index 0000000..8729148 Binary files /dev/null and b/packages/NUnit.2.5.9.10348/Tools/nunit-agent.exe differ diff --git a/packages/NUnit.2.5.9.10348/Tools/nunit-agent.exe.config b/packages/NUnit.2.5.9.10348/Tools/nunit-agent.exe.config new file mode 100644 index 0000000..d840f37 --- /dev/null +++ b/packages/NUnit.2.5.9.10348/Tools/nunit-agent.exe.config @@ -0,0 +1,69 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/packages/NUnit.2.5.9.10348/Tools/nunit-console-x86.exe b/packages/NUnit.2.5.9.10348/Tools/nunit-console-x86.exe new file mode 100644 index 0000000..48f726f Binary files /dev/null and b/packages/NUnit.2.5.9.10348/Tools/nunit-console-x86.exe differ diff --git a/packages/NUnit.2.5.9.10348/Tools/nunit-console-x86.exe.config b/packages/NUnit.2.5.9.10348/Tools/nunit-console-x86.exe.config new file mode 100644 index 0000000..fa0a262 --- /dev/null +++ b/packages/NUnit.2.5.9.10348/Tools/nunit-console-x86.exe.config @@ -0,0 +1,69 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/packages/NUnit.2.5.9.10348/Tools/nunit-console.exe b/packages/NUnit.2.5.9.10348/Tools/nunit-console.exe new file mode 100644 index 0000000..74f3dff Binary files /dev/null and b/packages/NUnit.2.5.9.10348/Tools/nunit-console.exe differ diff --git a/packages/NUnit.2.5.9.10348/Tools/nunit-console.exe.config b/packages/NUnit.2.5.9.10348/Tools/nunit-console.exe.config new file mode 100644 index 0000000..fa0a262 --- /dev/null +++ b/packages/NUnit.2.5.9.10348/Tools/nunit-console.exe.config @@ -0,0 +1,69 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/packages/NUnit.2.5.9.10348/Tools/nunit-x86.exe b/packages/NUnit.2.5.9.10348/Tools/nunit-x86.exe new file mode 100644 index 0000000..f791368 Binary files /dev/null and b/packages/NUnit.2.5.9.10348/Tools/nunit-x86.exe differ diff --git a/packages/NUnit.2.5.9.10348/Tools/nunit-x86.exe.config b/packages/NUnit.2.5.9.10348/Tools/nunit-x86.exe.config new file mode 100644 index 0000000..1641a50 --- /dev/null +++ b/packages/NUnit.2.5.9.10348/Tools/nunit-x86.exe.config @@ -0,0 +1,83 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/packages/NUnit.2.5.9.10348/Tools/nunit.exe b/packages/NUnit.2.5.9.10348/Tools/nunit.exe new file mode 100644 index 0000000..7718d8d Binary files /dev/null and b/packages/NUnit.2.5.9.10348/Tools/nunit.exe differ diff --git a/packages/NUnit.2.5.9.10348/Tools/nunit.exe.config b/packages/NUnit.2.5.9.10348/Tools/nunit.exe.config new file mode 100644 index 0000000..1641a50 --- /dev/null +++ b/packages/NUnit.2.5.9.10348/Tools/nunit.exe.config @@ -0,0 +1,83 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/packages/NUnit.2.5.9.10348/Tools/nunit.framework.dll b/packages/NUnit.2.5.9.10348/Tools/nunit.framework.dll new file mode 100644 index 0000000..875e098 Binary files /dev/null and b/packages/NUnit.2.5.9.10348/Tools/nunit.framework.dll differ diff --git a/packages/NUnit.2.5.9.10348/Tools/pnunit-agent.exe b/packages/NUnit.2.5.9.10348/Tools/pnunit-agent.exe new file mode 100644 index 0000000..31a03d8 Binary files /dev/null and b/packages/NUnit.2.5.9.10348/Tools/pnunit-agent.exe differ diff --git a/packages/NUnit.2.5.9.10348/Tools/pnunit-agent.exe.config b/packages/NUnit.2.5.9.10348/Tools/pnunit-agent.exe.config new file mode 100644 index 0000000..0bf29b3 --- /dev/null +++ b/packages/NUnit.2.5.9.10348/Tools/pnunit-agent.exe.config @@ -0,0 +1,77 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/packages/NUnit.2.5.9.10348/Tools/pnunit-launcher.exe b/packages/NUnit.2.5.9.10348/Tools/pnunit-launcher.exe new file mode 100644 index 0000000..e4c4f09 Binary files /dev/null and b/packages/NUnit.2.5.9.10348/Tools/pnunit-launcher.exe differ diff --git a/packages/NUnit.2.5.9.10348/Tools/pnunit-launcher.exe.config b/packages/NUnit.2.5.9.10348/Tools/pnunit-launcher.exe.config new file mode 100644 index 0000000..0bf29b3 --- /dev/null +++ b/packages/NUnit.2.5.9.10348/Tools/pnunit-launcher.exe.config @@ -0,0 +1,77 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/packages/NUnit.2.5.9.10348/Tools/pnunit.framework.dll b/packages/NUnit.2.5.9.10348/Tools/pnunit.framework.dll new file mode 100644 index 0000000..ca9b5cb Binary files /dev/null and b/packages/NUnit.2.5.9.10348/Tools/pnunit.framework.dll differ diff --git a/packages/NUnit.2.5.9.10348/Tools/pnunit.tests.dll b/packages/NUnit.2.5.9.10348/Tools/pnunit.tests.dll new file mode 100644 index 0000000..e3985d6 Binary files /dev/null and b/packages/NUnit.2.5.9.10348/Tools/pnunit.tests.dll differ diff --git a/packages/NUnit.2.5.9.10348/Tools/runFile.exe b/packages/NUnit.2.5.9.10348/Tools/runFile.exe new file mode 100644 index 0000000..a794458 Binary files /dev/null and b/packages/NUnit.2.5.9.10348/Tools/runFile.exe differ diff --git a/packages/NUnit.2.5.9.10348/Tools/runFile.exe.config b/packages/NUnit.2.5.9.10348/Tools/runFile.exe.config new file mode 100644 index 0000000..f58f099 --- /dev/null +++ b/packages/NUnit.2.5.9.10348/Tools/runFile.exe.config @@ -0,0 +1,43 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/NUnit.2.5.9.10348/Tools/runpnunit.bat b/packages/NUnit.2.5.9.10348/Tools/runpnunit.bat new file mode 100644 index 0000000..a05cbb7 --- /dev/null +++ b/packages/NUnit.2.5.9.10348/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/packages/NUnit.2.5.9.10348/Tools/test.conf b/packages/NUnit.2.5.9.10348/Tools/test.conf new file mode 100644 index 0000000..14cd113 --- /dev/null +++ b/packages/NUnit.2.5.9.10348/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/packages/NUnit.2.5.9.10348/fit-license.txt b/packages/NUnit.2.5.9.10348/fit-license.txt new file mode 100644 index 0000000..e5408d9 --- /dev/null +++ b/packages/NUnit.2.5.9.10348/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/packages/NUnit.2.5.9.10348/lib/nunit.framework.dll b/packages/NUnit.2.5.9.10348/lib/nunit.framework.dll new file mode 100644 index 0000000..875e098 Binary files /dev/null and b/packages/NUnit.2.5.9.10348/lib/nunit.framework.dll differ diff --git a/packages/NUnit.2.5.9.10348/lib/nunit.framework.xml b/packages/NUnit.2.5.9.10348/lib/nunit.framework.xml new file mode 100644 index 0000000..1cccec3 --- /dev/null +++ b/packages/NUnit.2.5.9.10348/lib/nunit.framework.xml @@ -0,0 +1,10385 @@ + + + + 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 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 + + + + + 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/packages/NUnit.2.5.9.10348/lib/nunit.mocks.dll b/packages/NUnit.2.5.9.10348/lib/nunit.mocks.dll new file mode 100644 index 0000000..97b88e7 Binary files /dev/null and b/packages/NUnit.2.5.9.10348/lib/nunit.mocks.dll differ diff --git a/packages/NUnit.2.5.9.10348/lib/pnunit.framework.dll b/packages/NUnit.2.5.9.10348/lib/pnunit.framework.dll new file mode 100644 index 0000000..ca9b5cb Binary files /dev/null and b/packages/NUnit.2.5.9.10348/lib/pnunit.framework.dll differ diff --git a/packages/NUnit.2.5.9.10348/license.txt b/packages/NUnit.2.5.9.10348/license.txt new file mode 100644 index 0000000..66a5ebf --- /dev/null +++ b/packages/NUnit.2.5.9.10348/license.txt @@ -0,0 +1,15 @@ +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/packages/repositories.config b/packages/repositories.config new file mode 100644 index 0000000..f4a8b4b --- /dev/null +++ b/packages/repositories.config @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/HttpMachine.Tests/HttpMachine.Tests.csproj b/src/HttpMachine.Tests/HttpMachine.Tests.csproj similarity index 81% rename from HttpMachine.Tests/HttpMachine.Tests.csproj rename to src/HttpMachine.Tests/HttpMachine.Tests.csproj index de68b35..f158c7a 100644 --- a/HttpMachine.Tests/HttpMachine.Tests.csproj +++ b/src/HttpMachine.Tests/HttpMachine.Tests.csproj @@ -31,16 +31,14 @@ 4 - - False - ..\packages\NUnit.2.5.7.10213\lib\nunit.framework.dll + + ..\..\packages\NUnit.2.5.9.10348\lib\nunit.framework.dll - - False - ..\packages\NUnit.2.5.7.10213\lib\nunit.mocks.dll + + ..\..\packages\NUnit.2.5.9.10348\lib\nunit.mocks.dll - - ..\packages\NUnit.2.5.7.10213\lib\pnunit.framework.dll + + ..\..\packages\NUnit.2.5.9.10348\lib\pnunit.framework.dll diff --git a/HttpMachine.Tests/HttpMachineTests.cs b/src/HttpMachine.Tests/HttpMachineTests.cs similarity index 100% rename from HttpMachine.Tests/HttpMachineTests.cs rename to src/HttpMachine.Tests/HttpMachineTests.cs diff --git a/HttpMachine.Tests/Properties/AssemblyInfo.cs b/src/HttpMachine.Tests/Properties/AssemblyInfo.cs similarity index 100% rename from HttpMachine.Tests/Properties/AssemblyInfo.cs rename to src/HttpMachine.Tests/Properties/AssemblyInfo.cs diff --git a/HttpMachine.Tests/TestRequest.cs b/src/HttpMachine.Tests/TestRequest.cs similarity index 100% rename from HttpMachine.Tests/TestRequest.cs rename to src/HttpMachine.Tests/TestRequest.cs diff --git a/src/HttpMachine.Tests/packages.config b/src/HttpMachine.Tests/packages.config new file mode 100644 index 0000000..671930f --- /dev/null +++ b/src/HttpMachine.Tests/packages.config @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/HttpMachine/HttpMachine.csproj b/src/HttpMachine/HttpMachine.csproj similarity index 100% rename from HttpMachine/HttpMachine.csproj rename to src/HttpMachine/HttpMachine.csproj diff --git a/HttpMachine/HttpParser.cs b/src/HttpMachine/HttpParser.cs similarity index 100% rename from HttpMachine/HttpParser.cs rename to src/HttpMachine/HttpParser.cs diff --git a/HttpMachine/HttpParser.cs.rl b/src/HttpMachine/HttpParser.cs.rl similarity index 100% rename from HttpMachine/HttpParser.cs.rl rename to src/HttpMachine/HttpParser.cs.rl diff --git a/HttpMachine/HttpParserPublic.cs b/src/HttpMachine/HttpParserPublic.cs similarity index 100% rename from HttpMachine/HttpParserPublic.cs rename to src/HttpMachine/HttpParserPublic.cs diff --git a/HttpMachine/IHttpParserHandler.cs b/src/HttpMachine/IHttpParserHandler.cs similarity index 100% rename from HttpMachine/IHttpParserHandler.cs rename to src/HttpMachine/IHttpParserHandler.cs diff --git a/HttpMachine/Properties/AssemblyInfo.cs b/src/HttpMachine/Properties/AssemblyInfo.cs similarity index 100% rename from HttpMachine/Properties/AssemblyInfo.cs rename to src/HttpMachine/Properties/AssemblyInfo.cs diff --git a/HttpMachine/http.rl b/src/HttpMachine/http.rl similarity index 100% rename from HttpMachine/http.rl rename to src/HttpMachine/http.rl diff --git a/HttpMachine/recompilemachine b/src/HttpMachine/recompilemachine similarity index 100% rename from HttpMachine/recompilemachine rename to src/HttpMachine/recompilemachine diff --git a/HttpMachine/uri.rl b/src/HttpMachine/uri.rl similarity index 100% rename from HttpMachine/uri.rl rename to src/HttpMachine/uri.rl