diff --git a/2015_02_19_Seemann_Mark_Equivalence_Classes_xunitnet_FsCheck_Property-based_testing/FizzBuzz.sln b/2015_02_19_Seemann_Mark_Equivalence_Classes_xunitnet_FsCheck_Property-based_testing/FizzBuzz.sln new file mode 100644 index 0000000..a8f8567 --- /dev/null +++ b/2015_02_19_Seemann_Mark_Equivalence_Classes_xunitnet_FsCheck_Property-based_testing/FizzBuzz.sln @@ -0,0 +1,22 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio 2013 +VisualStudioVersion = 12.0.31101.0 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{F2A71F9B-5D33-465A-A702-920D77279786}") = "FizzBuzz", "FizzBuzz\FizzBuzz.fsproj", "{522A65F5-EFF8-487B-9A1B-F5BB64D9B087}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {522A65F5-EFF8-487B-9A1B-F5BB64D9B087}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {522A65F5-EFF8-487B-9A1B-F5BB64D9B087}.Debug|Any CPU.Build.0 = Debug|Any CPU + {522A65F5-EFF8-487B-9A1B-F5BB64D9B087}.Release|Any CPU.ActiveCfg = Release|Any CPU + {522A65F5-EFF8-487B-9A1B-F5BB64D9B087}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/2015_02_19_Seemann_Mark_Equivalence_Classes_xunitnet_FsCheck_Property-based_testing/FizzBuzz/FizzBuzz.fs b/2015_02_19_Seemann_Mark_Equivalence_Classes_xunitnet_FsCheck_Property-based_testing/FizzBuzz/FizzBuzz.fs new file mode 100644 index 0000000..21fdb58 --- /dev/null +++ b/2015_02_19_Seemann_Mark_Equivalence_Classes_xunitnet_FsCheck_Property-based_testing/FizzBuzz/FizzBuzz.fs @@ -0,0 +1,51 @@ +// Copyright (c) 2014 Mark Seemann. +// Permission to reproduce or modify is granted for personal, educational use. +// No warranty implied. + +namespace Ploeh.Samples + +open Xunit.Extensions +open FsCheck +open FsCheck.Xunit + +module FizzBuzz = + let transform number = + match number % 3, number % 5 with + | 0, 0 -> "FizzBuzz" + | _, 0 -> "Buzz" + | 0, _ -> "Fizz" + | _ -> number.ToString() + +module Tests = + [] + let ``FizzBuzz.transform returns number`` (number : int) = + (number % 3 <> 0 && number % 5 <> 0) ==> lazy + let actual = FizzBuzz.transform number + let expected = number.ToString() + expected = actual + + [] + let ``FizzBuzz.transform returns Fizz`` (number : int) = + (number % 3 = 0 && number % 5 <> 0) ==> lazy + let actual = FizzBuzz.transform number + let expected = "Fizz" + expected = actual + + + [] + let ``FizzBuzz.transform returns Buzz`` (number : int) = + (number % 5 = 0 && number % 3 <> 0) ==> lazy + let actual = FizzBuzz.transform number + let expected = "Buzz" + expected = actual + + type DivisibleByThreeAndFive = + static member Int() = + Arb.Default.Int32() + |> Arb.mapFilter (fun x -> x * 3 * 5) (fun _ -> true) + + [ |], QuietOnSuccess = true)>] + let ``FizzBuzz.transform returns FizzBuzz`` (number : int) = + let actual = FizzBuzz.transform number + let expected = "FizzBuzz" + expected = actual diff --git a/2015_02_19_Seemann_Mark_Equivalence_Classes_xunitnet_FsCheck_Property-based_testing/FizzBuzz/FizzBuzz.fsproj b/2015_02_19_Seemann_Mark_Equivalence_Classes_xunitnet_FsCheck_Property-based_testing/FizzBuzz/FizzBuzz.fsproj new file mode 100644 index 0000000..3c8fdf1 --- /dev/null +++ b/2015_02_19_Seemann_Mark_Equivalence_Classes_xunitnet_FsCheck_Property-based_testing/FizzBuzz/FizzBuzz.fsproj @@ -0,0 +1,92 @@ + + + + + Debug + AnyCPU + 2.0 + 522a65f5-eff8-487b-9a1b-f5bb64d9b087 + Library + FizzBuzz + FizzBuzz + v4.5.1 + 4.3.1.0 + FizzBuzz + + + true + full + false + false + bin\Debug\ + DEBUG;TRACE + 3 + bin\Debug\FizzBuzz.XML + + + pdbonly + true + true + bin\Release\ + TRACE + 3 + bin\Release\FizzBuzz.XML + + + 11 + + + + + $(MSBuildExtensionsPath32)\..\Microsoft SDKs\F#\3.0\Framework\v4.0\Microsoft.FSharp.Targets + + + + + $(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\FSharp\Microsoft.FSharp.Targets + + + + + + + + + + + + ..\packages\FsCheck.1.0.3\lib\net45\FsCheck.dll + True + + + ..\packages\FsCheck.Xunit.1.0.3\lib\net45\FsCheck.Xunit.dll + True + + + + True + + + + + + ..\packages\Unquote.2.2.2\lib\net40\Unquote.dll + True + + + ..\packages\xunit.1.9.2\lib\net20\xunit.dll + True + + + ..\packages\xunit.extensions.1.9.2\lib\net20\xunit.extensions.dll + True + + + + \ No newline at end of file diff --git a/2015_02_19_Seemann_Mark_Equivalence_Classes_xunitnet_FsCheck_Property-based_testing/FizzBuzz/app.config b/2015_02_19_Seemann_Mark_Equivalence_Classes_xunitnet_FsCheck_Property-based_testing/FizzBuzz/app.config new file mode 100644 index 0000000..bb9b825 --- /dev/null +++ b/2015_02_19_Seemann_Mark_Equivalence_Classes_xunitnet_FsCheck_Property-based_testing/FizzBuzz/app.config @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/2015_02_19_Seemann_Mark_Equivalence_Classes_xunitnet_FsCheck_Property-based_testing/FizzBuzz/packages.config b/2015_02_19_Seemann_Mark_Equivalence_Classes_xunitnet_FsCheck_Property-based_testing/FizzBuzz/packages.config new file mode 100644 index 0000000..89ef004 --- /dev/null +++ b/2015_02_19_Seemann_Mark_Equivalence_Classes_xunitnet_FsCheck_Property-based_testing/FizzBuzz/packages.config @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/2015_02_19_Seemann_Mark_Equivalence_Classes_xunitnet_FsCheck_Property-based_testing/README.md b/2015_02_19_Seemann_Mark_Equivalence_Classes_xunitnet_FsCheck_Property-based_testing/README.md new file mode 100644 index 0000000..6bb5a36 --- /dev/null +++ b/2015_02_19_Seemann_Mark_Equivalence_Classes_xunitnet_FsCheck_Property-based_testing/README.md @@ -0,0 +1,8 @@ +# Equivalence Classes, xUnit.net, FsCheck, Property-Based Testing + +Original code can be found at [github.com/ploeh/EquivalenceClassesFsCheckFizzBuzz](https://github.com/ploeh/EquivalenceClassesFsCheckFizzBuzz). + +This is essentially the same code that I write in my *Equivalence Classes, xUnit.net, FsCheck, Property-Based Testing* presentation, of which live recordings exist: + +- [NDC London 2014](https://vimeo.com/113588391) +- [YSoft Technology Hour, Prague 2015](https://youtu.be/2oN9caQflJ8) diff --git a/2015_02_19_Seemann_Mark_Equivalence_Classes_xunitnet_FsCheck_Property-based_testing/licence b/2015_02_19_Seemann_Mark_Equivalence_Classes_xunitnet_FsCheck_Property-based_testing/licence new file mode 100644 index 0000000..e89d0be --- /dev/null +++ b/2015_02_19_Seemann_Mark_Equivalence_Classes_xunitnet_FsCheck_Property-based_testing/licence @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2014 Mark Seemann + +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. diff --git a/2015_02_19_Seemann_Mark_Equivalence_Classes_xunitnet_FsCheck_Property-based_testing/packages/FsCheck.1.0.3/FsCheck.1.0.3.nupkg b/2015_02_19_Seemann_Mark_Equivalence_Classes_xunitnet_FsCheck_Property-based_testing/packages/FsCheck.1.0.3/FsCheck.1.0.3.nupkg new file mode 100644 index 0000000..b7fdb4f Binary files /dev/null and b/2015_02_19_Seemann_Mark_Equivalence_Classes_xunitnet_FsCheck_Property-based_testing/packages/FsCheck.1.0.3/FsCheck.1.0.3.nupkg differ diff --git a/2015_02_19_Seemann_Mark_Equivalence_Classes_xunitnet_FsCheck_Property-based_testing/packages/FsCheck.1.0.3/lib/net45/FsCheck.XML b/2015_02_19_Seemann_Mark_Equivalence_Classes_xunitnet_FsCheck_Property-based_testing/packages/FsCheck.1.0.3/lib/net45/FsCheck.XML new file mode 100644 index 0000000..5f64209 --- /dev/null +++ b/2015_02_19_Seemann_Mark_Equivalence_Classes_xunitnet_FsCheck_Property-based_testing/packages/FsCheck.1.0.3/lib/net45/FsCheck.XML @@ -0,0 +1,2566 @@ + + +FsCheck + + + + + + +Returns a generator for 'a. + + + + + + + + + + +Returns a sequence of the immediate shrinks of the given value. The immediate shrinks should not include +doubles or the given value itself. The default implementation returns the empty sequence (i.e. no shrinking). + + + + + + + + + + + Check all public static methods on the given type that have a testable return type with the verbose configuration, +and throws on failure or exhaustion. + + + + + Check all public static methods on the given type that have a testable return type with vthe erbose configuration, +and throws on failure or exhaustion. + + + + +Check one property with the verbose configuration, and throw an exception if it fails or is exhausted. + + + + + Check all public static methods on the given type that have a testable return type with vthe erbose configuration + + + + + Check all public static methods on the given type that have a testable return type with vthe erbose configuration + + + + +Check one property with the verbose configuration, and using the given name. + + + + +Check one property with the verbose configuration. + + + + +Check all public static methods on the given type that have a testable return type with quick configuration + + + + +Check all public static methods on the given type that have a testable return type with quick configuration, +and throw on failure or exhaustion. + + + + +Check one property with the quick configuration, and throw an exception if it fails or is exhausted. + + + + +Check all public static methods on the given type that have a testable return type with quick configuration + + + + +Check all public static methods on the given type that have a testable return type with quick configuration + + + + +Check one property with the quick configuration, and using the given name. + + + + +Check one property with the quick configuration. + + + + +Check the given property using the given config, and the given test name. + + + + +Check the given property using the given config. + + + + +Check the given property identified by the given MethodInfo. + + + + +Check all public static methods on the given type that have a testable return type with the given configuration. +This includes let-bound functions in a module. + + + + +Check all public static methods on the given type that have a testable return type with the given configuration. +This includes let-bound functions in a module. + + + + + + + +A custom test runner, e.g. to integrate with a test framework like xUnit or NUnit. + + + + +The Arbitrary instances on this class will be merged in back to front order, i.e. instances for the same generated type at the front +of the list will override those at the back. The instances on Arb.Default are always known, and are at the back (so they can always be +overridden) + + + + +What to print every time a counter-example is succesfully shrunk + + + + +What to print when new arguments args are generated in test n + + + + +The size to use for the last test, when all the tests are passing. The size increases linearly between Start- and EndSize. + + + + +The size to use for the first test. + + + + +Name of the test. + + + + +If set, the seed to use to start testing. Allows reproduction of previous runs. + + + + +The maximum number of tests where values are rejected, e.g. as the result of ==> + + + + +The maximum number of tests that are run. + + + + + + + +Like the Verbose configuration, only throws an exception with the error message if the test fails or is exhausted. +Useful for use within other unit testing frameworks that usually adopt this methodolgy to signal failure. + + + + +The verbose configuration prints each generated argument. + + + + +Like the Quick configuration, only throws an exception with the error message if the test fails or is exhausted. +Useful for use within other unit testing frameworks that usually adopt this methodolgy to signal failure. + + + + +The quick configuration only prints a summary result at the end of the test. + + + + +The default configuration is the quick configuration. + + + + +For configuring a run. + + + + + + + +Use the generator for 'a, but don't shrink. + + + + + + + + + + +Whereas most types are restricted by a size that grows +as the test gets further, by applying this type the underlying +type will ignore this size and always generate from the full range. +Note that this only makes a difference for types that have a range - +currently Int16, Int32, Int64 have DontSize Arbitrary instances. +This is typically (and at least currently) only applicable for value types +that are comparable, hence the type constraints. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +map the given function to the value in the generator, yielding a new generator of the result type. + + + + +Generator of a random value, based on a size parameter and a randomly generated int. + + + + + + + + + + + + + + + + + + + +Called before a group of properties on a type are checked. + + + + +Called on a succesful shrink. + + + + +Called whenever all tests are done, either True, False or Exhausted. + + + + +Called whenever arguments are generated and after the test is run. + + + + +For implementing your own test runner. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + determines for which Outcome the result should be shrunk, or shrinking should continue. + + + + + + + + + + + + + + + + + + + +Type synonym for a test result generator. + + + + + + + + + + + + + + + + + + + +Returns a new result that is Succeeded if and only if both this +and the given Result are Succeeded. + + + + +The result of one execution of a property. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Generates (), of the unit type. + + + + +Generate arbitrary uint64 that is between 0 and size. + + + + +Generate arbitrary uint32 that is between 0 and size. + + + + +Generate arbitrary uint16 that is between 0 and size. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Generates arbitrary strings, which are lists of chars generated by Char. + + + + + + + +Generates an arbitrary signed byte. + + + + + + + +Generate an option value that is 'None' 1/8 of the time. + + + + +Generate an object - a boxed char, string or boolean value. + + + + +Generate a nullable value that is null 1/8 of the time. + + + + + Generates an Float (without NaN, Infinity) + + + + + + + + + + + + + + + + + + + + + + + Generate a System.Collections.Generic.List of values. + + + + + + + +Generates an interval between two non-negative integers. + + + + + + + +Generate arbitrary int64 that is between -size and size. +Note that since the size is an int32, this does not actually cover the full +range of int64. See DontSize<int64> instead. + + + + +Generate arbitrary int32 that is between -size and size. + + + + +Generate arbitrary int16 that is between -size and size. + + + + + Generate a System.Collections.Generic.IList of values. + + + + + Generate a System.Collections.Generic.IDictionary of values. + Shrinks by reducing the number of elements + + + + + Generate a System.Collections.Generic.ICollection of values. + + + + + + + +Generate a Function value that can be printed and shrunk. Function values can be generated for types 'a->'b where 'a has a CoArbitrary +value and 'b has an Arbitrary value. + + + + +Generate a list of values. The size of the list is between 0 and the test size + 1. + + + + +Generates arbitrary floats, NaN, NegativeInfinity, PositiveInfinity, Maxvalue, MinValue, Epsilon included fairly frequently. + + + + +Generates arbitrary floats, NaN, NegativeInfinity, PositiveInfinity, Maxvalue, MinValue, Epsilon included fairly frequently. + + + + +Arrays whose length does not change when shrinking. + + + + +Generate arbitrary uint32 that is uniformly distributed in the whole range of uint32 values. + + + + +Generate arbitrary uint32 that is uniformly distributed in the whole range of uint32 values. + + + + +Generate arbitrary uint16 that is uniformly distributed in the whole range of uint16 values. + + + + +Generate arbitrary int64 between Int64.MinValue and Int64.MaxValue + + + + +Generate arbitrary int32 that is between Int32.MinValue and Int32.MaxValue + + + + +Generate arbitrary int16 that is uniformly distributed in the whole range of int16 values. + + + + +Overrides the shrinker of any type to be empty, i.e. not to shrink at all. + + + + + Generate a System.Collections.Generic.Dictionary of values. + Shrinks by reducing the number of elements + + + + +Try to derive an arbitrary instance for the given type reflectively. +Generates and shrinks values for record, union, tuple and enum types. +Also generates (but doesn't shrink) values for immutable classes +(i.e. single constructor, no mutable properties or fields). + + + + + + + +Generates an arbitrary DateTimeOffset between 1900 and 2100. + A DateTimeOffset is shrunk first by shrinking its offset, then by removing its second, minute and hour components. + + + + +Generates an arbitrary DateTime between 1900 and 2100. A DateTime is shrunk by removing its second, minute and hour components. + + + + + + + +Generates arbitrary chars, between ASCII codes Char.MinValue and 127. + + + + +Generates an arbitrary byte. + + + + +Generates an arbitrary bool. + + + + +Generate a function value. Function values can be generated for types 'a->'b where 'a has a CoArbitrary +value and 'b has an Arbitrary value. + + + + +Generate a rank 2, zero based array. + + + + +Generate a rank 1 array. + + + + +A collection of default generators. + + + + + + + + + + + Return an Arbitrary instance that is a mapped and filtered version of an existing arbitrary instance. + The generator uses Gen.map with the given mapper and then Gen.suchThat with the given predicate, + and the shrinks are filtered using Seq.filter with the given predicate. +This is sometimes useful if using just a filter would reduce the chance of getting a good value +from the generator - and you can map the value instead. E.g. PositiveInt. + + + + + Return an Arbitrary instance that is a filtered version of an existing arbitrary instance. + The generator uses Gen.suchThat, and the shrinks are filtered using Seq.filter with the given predicate. + + + + +Construct an Arbitrary instance for a type that can be mapped to and from another type (e.g. a wrapper), +based on a Arbitrary instance for the source type and two mapping functions. + + + + + Construct an Arbitrary instance from a generator and shrinker. + + + + + Construct an Arbitrary instance from a generator. + Shrink is not supported for this type. + + + + +Register the generators that are static members of the type argument. + + + + +Register the generators that are static members of the given type. + + + + + + + + + + +The generic shrinker should work for most number-like types. + + + + +Returns the immediate shrinks for the given value based on its type. + + + + +Returns a Gen<'Value> + + + + +Get the Arbitrary instance for the given type. + + + + + + + + + + +Initial state of both object and model. + + + + +Generate a number of possible commands based on the current state of the model. The commands +are just hints to speed up execution; preconditions are still checked. + + + + +A specification for an object under test, based on an abstract model of the +object's behavior. + + + + +Executes the command on the model of the object. + + + + +Excecutes the command on the actual object under test. + + + + + + + +Precondition for execution of the command. + + + + + + + +Postcondition that must hold after execution of the command. + + + + + + + +A single command describes pre and post conditions and the model for a single method under test. + + + + +Turn a specification into a property. + + + + + + + +For model-based random testing. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Memoize the given function. + + + + +Memoize the given function using the given dictionary + + + + + + + + + + + + + +Register the generators that are static members of the type argument. + + + + + + + +Construct an Arbitrary instance for a type that can be mapped to and from another type (e.g. a wrapper), +based on a Arbitrary instance for the source type and two mapping functions. + + + + + + + +Generates a value that satisfies a predicate. This function keeps re-trying +by increasing the size of the original generator ad infinitum. Make sure there is a high chance that +the predicate is satisfied. + + + + + Construct an Arbitrary instance from a generator. + Shrink is not supported for this type. + + + + + + + + + + +Map the given function to the value in the generator, yielding a new generator of the result type. + + + + +Override the current size of the test. resize n g invokes generator g with size parameter n. + + + + + Generates a non-empty list of random length. The maximum length + depends on the size parameter. + + + + +Generates a list of given length, containing values generated by the given generator. + + + + + Generates a list of random length. The maximum length depends on the + size parameter. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Construct a property that fails if both fail. + + + + +Construct a property that fails if both fail. + + + + + + + +Collect data values. The argument of collect is evaluated in each test case, +and the distribution of values is reported. + + + + + + + + + + + + + +Construct a property that succeeds if both succeed. + + + + +Construct a property that succeeds if both succeed. + + + + + + + + + + +Check one property with the verbose configuration, and using the given name. + + + + + Check one property with the verbose configuration. + + + + + + + + Check one property with the quick configuration, and throw an exception if it fails or is exhausted. + + + + + Check one property with the quick configuration, and throw an exception if it fails or is exhausted. + + + + + Check one property with the quick configuration, and using the given name. + + + + + Check one property with the quick configuration + + + + + + + + + + +Check the given property using the given config. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +The size to use for the first test. + + + + +A custom test runner, e.g. to integrate with a test framework like xUnit or NUnit. + + + + +Name of the test. + + + + +The maximum number of tests that are run. + + + + +The maximum number of tests where values are rejected + + + + +What to print every time a counter-example is succesfully shrunk + + + + +What to print when new arguments args are generated in test n + + + + +The size to use for the last test, when all the tests are passing. The size increases linearly between Start- and EndSize. + + + + +The size to use for the first test. + + + + +A custom test runner, e.g. to integrate with a test framework like xUnit or NUnit. + + + + +Name of the test. + + + + +The maximum number of tests that are run. + + + + +The maximum number of tests where values are rejected + + + + +What to print every time a counter-example is succesfully shrunk + + + + +What to print when new arguments args are generated in test n + + + + +The size to use for the last test, when all the tests are passing. The size increases linearly between Start- and EndSize. + + + + + + + + + + + + + +Returns the immediate shrinks for the given value based on its type. + + + + + + + + + + +Build a generator that generates a value from one of the constants in the given non-empty seq, with +given probabilities. The sum of the probabilities must be larger than zero. + + + + +Build a generator that generates a value from one of the generators in the given non-empty seq, with +given probabilities. The sum of the probabilities must be larger than zero. + + + + +Build a generator that generates a value from one of the generators in the given non-empty seq, with +given probabilities. The sum of the probabilities must be larger than zero. + + + + +Build a generator that generates a value from one of the generators in the given non-empty seq, with +given probabilities. The sum of the probabilities must be larger than zero. + + + + +Build a generator that randomly generates one of the values in the given non-empty seq. + + + + +Build a generator that randomly generates one of the values in the given non-empty seq. + + + + + Generate a constant value + + + + +Sequence the given list of generators into a generator of a list. + + + + +Sequence the given list of generators into a generator of a list. + + + + +Sequence the given list of generators into a generator of a list. + + + + +Build a generator that generates a value from one of the constants in the given non-empty seq, with +given probabilities. The sum of the probabilities must be larger than zero. + + + + +Build a generator that generates a value from one of the generators in the given non-empty seq, with +given probabilities. The sum of the probabilities must be larger than zero. + + + + +Build a generator that randomly generates one of the values in the given non-empty seq. + + + + +Build a generator that generates a value from one of the generators in the given non-empty seq, with +equal probability. + + + + + Returns a generator for the type argument + + + + + + + +Generates an integer between l and h, inclusive. + + + + +Build a generator that generates a value from one of the generators in the given non-empty seq, with +equal probability. + + + + +Build a generator that generates a value from one of the generators in the given non-empty seq, with +equal probability. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Basic co-arbitrary generator transformer, which is dependent on an int. +Only used for generating arbitrary functions. + + + + +Promote the given function f to a function generator. Only used for generating arbitrary functions. + + + + +Apply the given Gen function to the given generator, aka the applicative <*> operator. + + + + +Always generate v. + + + + + Generates a 2D array. The square root of the size is the maximum number of rows and columns. + + + + + Generates a 2D array of the given dimensions. + + + + + Generates an array using the specified generator. The maximum length is the size+1. + + + + + Generates an array of a specified length. + + + + + Generates sublists of the given sequence. + + + + + Generates a non-empty list of random length. The maximum length + depends on the size parameter. + + + + + Generates a list of random length. The maximum length depends on the + size parameter. + + + + +Generates a value that satisfies a predicate. Contrary to suchThatOption, this function keeps re-trying +by increasing the size of the original generator ad infinitum. Make sure there is a high chance that +the predicate is satisfied. + + + + +Tries to generate a value that satisfies a predicate. This function 'gives up' by generating None +if the given original generator did not generate any values that satisfied the predicate, after trying to +get values from by increasing its size. + + + + +Generates a list of given length, containing values generated by the given generator. + + + + +Sequence the given list of generators into a generator of a list. + + + + +Map the given function over values to a function over generators of those values. + + + + +Map the given function over values to a function over generators of those values. + + + + +Build a generator that generates a 4-tuple of the values generated by the given generator. + + + + +Map the given function over values to a function over generators of those values. + + + + +Build a generator that generates a 3-tuple of the values generated by the given generator. + + + + +Map the given function over values to a function over generators of those values. + + + + +Build a generator that generates a 2-tuple of the values generated by the given generator. + + + + +Map the given function over values to a function over generators of those values. + + + + +Build a generator that generates a value from one of the generators in the given non-empty seq, with +given probabilities. The sum of the probabilities must be larger than zero. + + + + +Build a generator that generates a value from one of the generators in the given non-empty seq, with +equal probability. + + + + +Build a generator that randomly generates one of the values in the given non-empty seq. + + + + +Generates an integer between l and h, inclusive. + + + + +Generates n values of the given size. + + + + +Generates a value with maximum size n. + + + + +Generates a random number generator. Useful for starting off the process +of generating a random value. + + + + +Override the current size of the test. resize n g invokes generator g with size parameter n. + + + + +Obtain the current size. sized g calls g, passing it the current size as a parameter. + + + + +Apply ('map') the function f on the value in the generator, yielding a new generator. + + + + +Combinators to build custom random generators for any type. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +The workflow type for generators. + + + + +The workflow function for generators, e.g. gen { ... } + + + + + + + + + + + + + + + + + + + + + + + + + +Computation expression builder for Gen. + + + + + Like <*>, but puts f in a Gen first. + + + + + Lifted function application = apply f to a, all in the Gen applicative functor. + + + + +Operators for Gen. + + + + + Turns a testable type into a property. Testables are unit, boolean, Lazy testables, Gen testables, functions + from a type for which a generator is know to a testable, tuples up to 6 tuple containing testables, and lists + containing testables. + + + + +Fails the property if it does not complete within t milliseconds. Note that the called property gets a +cancel signal, but whether it responds to that is up to the property; the execution may not actually stop. + + + + +Add the given label to the property. The labels of a failing sub-property are displayed when it fails. + + + + +Collect data values property combinator. The argument of collect is evaluated in each test case, +and the distribution of values is reported, using any_to_string. + + + + +Count trivial cases property combinator. Test cases for which the condition is True are classified as trivial. + + + + +Classify test cases combinator. Test cases satisfying the condition are assigned the classification given. + + + + + + + +Expect exception 't when executing p. So, results in success if an exception of the given type is thrown, +and a failure otherwise. + + + + +Depending on the condition, return the first testable if true and the second if false. + + + + +Quantified property combinator. Provide a custom test data generator to a property. + + + + +Combinators to build properties, which define the property to be tested, with some +convenience methods to investigate the generated arguments and any found counter-examples. + + + + +Construct a property that fails if both fail. (cfr 'or') + + + + +Construct a property that succeeds if both succeed. (cfr 'and') + + + + +Add the given label to the property. Property on the left hand side, label on the right. + + + + +Add the given label to the property. label on the left hand side, property on the right. + + + + +Add the given label to the property. Property on the left hand side, label on the right. + + + + +Conditional property combinator. Resulting property holds if the property after ==> holds whenever the condition does. + + + + +Operators for Prop. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Generate random numbers based on splitting seeds. Based Hugs' Random implementation. + + + + + + + + + + + + + + + + +Equality for generic types + + + + + Get reader for union case name (aka tag) + + + + + Returns the case name, type, and functions that will construct a constructor and a reader of a union type respectively + + + + + + + + + + + Get reader for record type + + + + + Get constructor for record type + + + + + Get information on the fields of a record type + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Builds a generator for the given type based on reflection. Currently works for record and union types. + + + + + + + + + + + Generate a random enum of the type specified by the System.Type + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Force this value to do the necessary initializations of typeclasses. Normally this initialization happens automatically. +In any case, it can be forced any number of times without problem. + + + + +A runner that prints results to the console. + + + + + + + + + + +A function that returns the default string that is printed as a result of the test. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Merge the instances defined by the given instances type with the ones already defined in this TypeClass. +Instances defined in the given type override the instances in this TypeClass instance. + + + + +Get the instance registered on this TypeClass for the given type parameter 'T. The result will be cast +to TypeClassT, which should be 'TypeClass<'T> but that's impossible to express in .NET's type system. + + + + +Get the instance registered on this TypeClass for the given type and optionally the given arguments. +The result is of type 'TypeClass<'T>, dynamically. + + + + +Discover instances for this TypeClass on the given type. Merge the result with this TypeClass, +with the newly discovered instances overriding the instances on this TypeClass. + + + + +Make a new TypeClass with only the instances registered on the given type. +Note that the instances of this TypeClass will not be registered on the new TypeClass. +Use Merge in addition to achieve that, or use DiscoverAndMerge to do both. + + + + +Compares this TypeClass with the given TypeClass. Returns, respectively, the new instances, overridden instances, +new array instances, overridden array instances, new catch all or overridden catchall introduced by the other TypeClass. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Haskell typeclass concept simulation. For internal use. + + + + + + + + + + diff --git a/2015_02_19_Seemann_Mark_Equivalence_Classes_xunitnet_FsCheck_Property-based_testing/packages/FsCheck.1.0.3/lib/net45/FsCheck.dll b/2015_02_19_Seemann_Mark_Equivalence_Classes_xunitnet_FsCheck_Property-based_testing/packages/FsCheck.1.0.3/lib/net45/FsCheck.dll new file mode 100644 index 0000000..3d59c6f Binary files /dev/null and b/2015_02_19_Seemann_Mark_Equivalence_Classes_xunitnet_FsCheck_Property-based_testing/packages/FsCheck.1.0.3/lib/net45/FsCheck.dll differ diff --git a/2015_02_19_Seemann_Mark_Equivalence_Classes_xunitnet_FsCheck_Property-based_testing/packages/FsCheck.Xunit.1.0.3/FsCheck.Xunit.1.0.3.nupkg b/2015_02_19_Seemann_Mark_Equivalence_Classes_xunitnet_FsCheck_Property-based_testing/packages/FsCheck.Xunit.1.0.3/FsCheck.Xunit.1.0.3.nupkg new file mode 100644 index 0000000..afa98f5 Binary files /dev/null and b/2015_02_19_Seemann_Mark_Equivalence_Classes_xunitnet_FsCheck_Property-based_testing/packages/FsCheck.Xunit.1.0.3/FsCheck.Xunit.1.0.3.nupkg differ diff --git a/2015_02_19_Seemann_Mark_Equivalence_Classes_xunitnet_FsCheck_Property-based_testing/packages/FsCheck.Xunit.1.0.3/lib/net45/FsCheck.Xunit.XML b/2015_02_19_Seemann_Mark_Equivalence_Classes_xunitnet_FsCheck_Property-based_testing/packages/FsCheck.Xunit.1.0.3/lib/net45/FsCheck.Xunit.XML new file mode 100644 index 0000000..07755bc --- /dev/null +++ b/2015_02_19_Seemann_Mark_Equivalence_Classes_xunitnet_FsCheck_Property-based_testing/packages/FsCheck.Xunit.1.0.3/lib/net45/FsCheck.Xunit.XML @@ -0,0 +1,192 @@ + + +FsCheck.Xunit + + + + + + + + + + + + + + + + + + + + + + + + + + + +Output all generated arguments. + + + + +The size to use for the first test. + + + + +If set, the seed to use to start testing. Allows reproduction of previous runs. You can just paste +the tuple from the output window, e.g. 12344,12312 or (123,123). + + + + +If set, suppresses the output from the test if the test is successful. This can be useful when running tests +with TestDriven.net, because TestDriven.net pops up the Output window in Visual Studio if a test fails; thus, +when conditioned to that behaviour, it's always a bit jarring to receive output from passing tests. +The default is false, which means that FsCheck will also output test results on success, but if set to true, +FsCheck will suppress output in the case of a passing test. This setting doesn't affect the behaviour in case of +test failures. + + + + +The maximum number of tests that are run. + + + + +The maximum number of tests where values are rejected, e.g. as the result of ==> + + + + +The size to use for the last test, when all the tests are passing. The size increases linearly between Start- and EndSize. + + + + +The Arbitrary instances to use for this test method. The Arbitrary instances +are merged in back to front order i.e. instances for the same generated type + + + + +Output all generated arguments. + + + + +The size to use for the first test. + + + + + + + +If set, the seed to use to start testing. Allows reproduction of previous runs. You can just paste +the tuple from the output window, e.g. 12344,12312 or (123,123). + + + + +If set, suppresses the output from the test if the test is successful. This can be useful when running tests +with TestDriven.net, because TestDriven.net pops up the Output window in Visual Studio if a test fails; thus, +when conditioned to that behaviour, it's always a bit jarring to receive output from passing tests. +The default is false, which means that FsCheck will also output test results on success, but if set to true, +FsCheck will suppress output in the case of a passing test. This setting doesn't affect the behaviour in case of +test failures. + + + + +The maximum number of tests that are run. + + + + +The maximum number of tests where values are rejected, e.g. as the result of ==> + + + + +The size to use for the last test, when all the tests are passing. The size increases linearly between Start- and EndSize. + + + + +The Arbitrary instances to use for this test method. The Arbitrary instances +are merged in back to front order i.e. instances for the same generated type + + + + + + + + + + +Run this method as an FsCheck test. + + + + + + + + + + + + + + + + +Override Arbitrary instances for FsCheck tests within the attributed class +or module. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/2015_02_19_Seemann_Mark_Equivalence_Classes_xunitnet_FsCheck_Property-based_testing/packages/FsCheck.Xunit.1.0.3/lib/net45/FsCheck.Xunit.dll b/2015_02_19_Seemann_Mark_Equivalence_Classes_xunitnet_FsCheck_Property-based_testing/packages/FsCheck.Xunit.1.0.3/lib/net45/FsCheck.Xunit.dll new file mode 100644 index 0000000..80bc0bb Binary files /dev/null and b/2015_02_19_Seemann_Mark_Equivalence_Classes_xunitnet_FsCheck_Property-based_testing/packages/FsCheck.Xunit.1.0.3/lib/net45/FsCheck.Xunit.dll differ diff --git a/2015_02_19_Seemann_Mark_Equivalence_Classes_xunitnet_FsCheck_Property-based_testing/packages/Unquote.2.2.2/Unquote.2.2.2.nupkg b/2015_02_19_Seemann_Mark_Equivalence_Classes_xunitnet_FsCheck_Property-based_testing/packages/Unquote.2.2.2/Unquote.2.2.2.nupkg new file mode 100644 index 0000000..af063bc Binary files /dev/null and b/2015_02_19_Seemann_Mark_Equivalence_Classes_xunitnet_FsCheck_Property-based_testing/packages/Unquote.2.2.2/Unquote.2.2.2.nupkg differ diff --git a/2015_02_19_Seemann_Mark_Equivalence_Classes_xunitnet_FsCheck_Property-based_testing/packages/Unquote.2.2.2/lib/net40/Unquote.dll b/2015_02_19_Seemann_Mark_Equivalence_Classes_xunitnet_FsCheck_Property-based_testing/packages/Unquote.2.2.2/lib/net40/Unquote.dll new file mode 100644 index 0000000..5bf3a9f Binary files /dev/null and b/2015_02_19_Seemann_Mark_Equivalence_Classes_xunitnet_FsCheck_Property-based_testing/packages/Unquote.2.2.2/lib/net40/Unquote.dll differ diff --git a/2015_02_19_Seemann_Mark_Equivalence_Classes_xunitnet_FsCheck_Property-based_testing/packages/Unquote.2.2.2/lib/net40/Unquote.xml b/2015_02_19_Seemann_Mark_Equivalence_Classes_xunitnet_FsCheck_Property-based_testing/packages/Unquote.2.2.2/lib/net40/Unquote.xml new file mode 100644 index 0000000..124de58 --- /dev/null +++ b/2015_02_19_Seemann_Mark_Equivalence_Classes_xunitnet_FsCheck_Property-based_testing/packages/Unquote.2.2.2/lib/net40/Unquote.xml @@ -0,0 +1,898 @@ + + +Unquote + + + + + + + + + + + + + + + +Exception used to signal assertion failure to be caught by any exception framework +(used when not NUnit or xUnit.net or when compiled for Silverlight) + + + + + + + + + + + + + + + + +Exception used to distinguish an error in the quotation evaluation engine. + + + + + + + + + + + + + + + + + + + + + + +Test wether the given expr fails with the given expected exception (or a subclass thereof) when the additional assertion on the exception object holds. + + + + +Test wether the given expr fails with the given expected exception (or a subclass thereof). + + + + +Evaluate the given boolean expression: if false output incremental eval steps using +1) stdout if fsi mode +2) framework fail methods if Xunit or Nunit present +3) System.Exception if release mode. + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Functions and values public inline Operator functions rely on (and therefore must be public, +even though we do not want to expose them publically). + + + + +Operators on Expr and Expr<'a> for performing unit test assertions. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +aty is the arg type, bty is the return type, x is the arg + + + + + + + + + + + + + + + + + + + + + + +name is the name of the unary op method, aty is the arg type, x is the arg + + + + + + + + + + + + + +Binary ops of the form 'a->int->'a + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +name is the name of the method, aty is the type of the first arg, bty is the type of the second arg, +x is the first arg, y is the second arg. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +The purpose of these operator implementations is two fold 1) many F# operators do not include dynamic impls, +so we must give them. 2) even those operators which are given dynamic impls do not perform well since they +need to be accessed via reflection, so we give "native" impls here. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +"reraise" the given exception, preserving the stacktrace (e.g. for InnerExceptions of TargetInvocation exceptions) + + + + +Strip possibly nested target invocation exception + + + + + + + +The F#-style signature. Note: this property is out-of-place in this assembly and may be moved elsewhere in future versions. + + + + +Determine whether this expression is reduced. + + + + +Convert the given expression to a list of all of its Reduce steps in order. + + + + +Convert this expression with the given variable environment to a list of all of its Reduce steps in order. + + + + +Reduce this expression by one step: convert each branch of the given expression to a Value expression of its +evaluation if each sub-branch of the branch is reduced. +If this expression is already reduced, or cannot be reduced, returns itself. + + + + +Reduce this expression by one step with the given variable environment: convert each branch of the given expression to a Value expression of its +evaluation if each sub-branch of the branch is reduced. +If this expression is already reduced, or cannot be reduced, returns itself. + + + + +Decompile this expression to its source code representation. Sub-expressions which are +not currently supported will fallback on the default Expr.ToString() implementation. + + + + +Evaluate this untyped expression. + + + + +Evaluate this untyped expression with the given variable environment. + + + + +Evaluate this typed expression with the given variable environment. + + + + +Evaluate this typed expression. + + + + + + + +Extensions methods on Expr and Expr<'a> for decompiling, evaluating, and incrementally reducing quotation expressions. Also includes a bonus +extension method on Type for getting the short, F#-style name of a type. + + + + +Match Call(None, ...) patterns for NumericLiterals, returning the literal value as a string and suffix on success + + + + +Match a sequence, list, or array op_RangeStep expression, return (startToken, endToken, startExpression, stepExpression, endExpression). Must come before Call patterns. + + + + +Match a sequence, list, or array op_Range expression, return (startToken, endToken, startExpression, endExpression). Must come before Call patterns. + + + + + + + +Partial application and zero application of Lambda call (e.g. List.map (+), or id). +Must come before Let and Lambdas patterns. +Cases: 1) Let .. Lambdas .. Call + 2) Lambdas .. Call + + + + +Test whether the given expression represents a tuple let binding: e.g. let x,y = 1,2. +Must come before Let pattern and after IncompleteLambdaCall pattern. + + + + +Test whether the Expr is a Var and equals the given Var property-wise + + + + + + + +Match non-custom binary infix Call patterns. +Must come before Call pattern. + + + + +Matches lambda values, returning the demanged (but not source) name of the lambda + + + + + + + +Extra Quoation patterns for sprinting and reducing Quotation Expressions + + + + + + + + + + + + + + + + + + + +sprints the generic arguments of a call if definitely not inferable. + + + + + + + +Determine whether the generic args for a call are inferable + + + + +Sprint the F#-style type signature of the given Type. Handles known type abbreviations, +simple types, arbitrarily complex generic types (multiple parameters and nesting), +lambdas, tuples, and arrays. + + + + + + + +get the source name for the Module or F# Function represented by the given MemberInfo + + + + + + + + + + +is the top-level FSI module + + + + + + + + + + + + + + + + + + + +try to find the first class symbolic function representation of a "op_" function name + + + + + + + + + + + + + + + + + + + +Extra reflection functions sprinting and reducing Quotation Expressions + + + + + + + + + + + + + +Precedence + + + + +Associativity + + + + + + + +Represents an operator's precedence. The lower the precedence value, the lower the binding. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Print the newline concated source code reduce steps of the given expression to stdout. + + + + +Determine whether the given expression is reduced. + + + + +Convert the given expression with the given variable environment to a list of all of its Reduce steps in order. + + + + +Reduce the given expression by one step with the given variable environment: convert each branch of the given expression to a Value expression of its +evaluation if each sub-branch of the branch is reduced. +If this expression is already reduced, or cannot be reduced, returns itself. + + + + +Evaluate the given typed expression with the given variable environment. + + + + +Evaluate the given untyped expression with the given variable environment. + + + + +Convert the given expression to a list of all of its Reduce steps in order. + + + + +Reduce by one step: convert each branch of the given expression to a Value expression of its +evaluation if each sub-branch of the branch is reduced. +If this expression is already reduced, or cannot be reduced, returns itself. + + + + +Decompile given expression to its source code representation. Sub-expressions which are +not currently supported will fallback on the default Expr.ToString() implementation. + + + + +Evaluate the given typed expression. + + + + +Evaluate the given untyped expression. + + + + +Operators on Expr and Expr<'a> for decompiling, evaluating, and incrementally reducing quotation expressions. + + + + + + + + + + + + + + + + + + + +Construct a Value from an evaluated expression + + + + + + + + + + + + + diff --git a/2015_02_19_Seemann_Mark_Equivalence_Classes_xunitnet_FsCheck_Property-based_testing/packages/Unquote.2.2.2/lib/sl4/Unquote.dll b/2015_02_19_Seemann_Mark_Equivalence_Classes_xunitnet_FsCheck_Property-based_testing/packages/Unquote.2.2.2/lib/sl4/Unquote.dll new file mode 100644 index 0000000..64131c2 Binary files /dev/null and b/2015_02_19_Seemann_Mark_Equivalence_Classes_xunitnet_FsCheck_Property-based_testing/packages/Unquote.2.2.2/lib/sl4/Unquote.dll differ diff --git a/2015_02_19_Seemann_Mark_Equivalence_Classes_xunitnet_FsCheck_Property-based_testing/packages/Unquote.2.2.2/lib/sl4/Unquote.xml b/2015_02_19_Seemann_Mark_Equivalence_Classes_xunitnet_FsCheck_Property-based_testing/packages/Unquote.2.2.2/lib/sl4/Unquote.xml new file mode 100644 index 0000000..b91e8c6 --- /dev/null +++ b/2015_02_19_Seemann_Mark_Equivalence_Classes_xunitnet_FsCheck_Property-based_testing/packages/Unquote.2.2.2/lib/sl4/Unquote.xml @@ -0,0 +1,892 @@ + + +Unquote + + + + + + + + + + + + +Exception used to signal assertion failure to be caught by any exception framework +(used when not NUnit or xUnit.net or when compiled for Silverlight) + + + + + + + + + + + + + +Exception used to distinguish an error in the quotation evaluation engine. + + + + + + + + + + + + + + + + + + + + + + +Test wether the given expr fails with the given expected exception (or a subclass thereof) when the additional assertion on the exception object holds. + + + + +Test wether the given expr fails with the given expected exception (or a subclass thereof). + + + + +Evaluate the given boolean expression: if false output incremental eval steps using +1) stdout if fsi mode +2) framework fail methods if Xunit or Nunit present +3) System.Exception if release mode. + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Functions and values public inline Operator functions rely on (and therefore must be public, +even though we do not want to expose them publically). + + + + +Operators on Expr and Expr<'a> for performing unit test assertions. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +aty is the arg type, bty is the return type, x is the arg + + + + + + + + + + + + + + + + + + + + + + +name is the name of the unary op method, aty is the arg type, x is the arg + + + + + + + + + + + + + +Binary ops of the form 'a->int->'a + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +name is the name of the method, aty is the type of the first arg, bty is the type of the second arg, +x is the first arg, y is the second arg. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +The purpose of these operator implementations is two fold 1) many F# operators do not include dynamic impls, +so we must give them. 2) even those operators which are given dynamic impls do not perform well since they +need to be accessed via reflection, so we give "native" impls here. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +"reraise" the given exception, preserving the stacktrace (e.g. for InnerExceptions of TargetInvocation exceptions) + + + + +Strip possibly nested target invocation exception + + + + + + + +The F#-style signature. Note: this property is out-of-place in this assembly and may be moved elsewhere in future versions. + + + + +Determine whether this expression is reduced. + + + + +Convert the given expression to a list of all of its Reduce steps in order. + + + + +Convert this expression with the given variable environment to a list of all of its Reduce steps in order. + + + + +Reduce this expression by one step: convert each branch of the given expression to a Value expression of its +evaluation if each sub-branch of the branch is reduced. +If this expression is already reduced, or cannot be reduced, returns itself. + + + + +Reduce this expression by one step with the given variable environment: convert each branch of the given expression to a Value expression of its +evaluation if each sub-branch of the branch is reduced. +If this expression is already reduced, or cannot be reduced, returns itself. + + + + +Decompile this expression to its source code representation. Sub-expressions which are +not currently supported will fallback on the default Expr.ToString() implementation. + + + + +Evaluate this untyped expression. + + + + +Evaluate this untyped expression with the given variable environment. + + + + +Evaluate this typed expression with the given variable environment. + + + + +Evaluate this typed expression. + + + + + + + +Extensions methods on Expr and Expr<'a> for decompiling, evaluating, and incrementally reducing quotation expressions. Also includes a bonus +extension method on Type for getting the short, F#-style name of a type. + + + + +Match Call(None, ...) patterns for NumericLiterals, returning the literal value as a string and suffix on success + + + + +Match a sequence, list, or array op_RangeStep expression, return (startToken, endToken, startExpression, stepExpression, endExpression). Must come before Call patterns. + + + + +Match a sequence, list, or array op_Range expression, return (startToken, endToken, startExpression, endExpression). Must come before Call patterns. + + + + + + + +Partial application and zero application of Lambda call (e.g. List.map (+), or id). +Must come before Let and Lambdas patterns. +Cases: 1) Let .. Lambdas .. Call + 2) Lambdas .. Call + + + + +Test whether the given expression represents a tuple let binding: e.g. let x,y = 1,2. +Must come before Let pattern and after IncompleteLambdaCall pattern. + + + + +Test whether the Expr is a Var and equals the given Var property-wise + + + + + + + +Match non-custom binary infix Call patterns. +Must come before Call pattern. + + + + +Matches lambda values, returning the demanged (but not source) name of the lambda + + + + + + + +Extra Quoation patterns for sprinting and reducing Quotation Expressions + + + + + + + + + + + + + + + + + + + +sprints the generic arguments of a call if definitely not inferable. + + + + + + + +Determine whether the generic args for a call are inferable + + + + +Sprint the F#-style type signature of the given Type. Handles known type abbreviations, +simple types, arbitrarily complex generic types (multiple parameters and nesting), +lambdas, tuples, and arrays. + + + + + + + +get the source name for the Module or F# Function represented by the given MemberInfo + + + + + + + + + + +is the top-level FSI module + + + + + + + + + + + + + + + + + + + +try to find the first class symbolic function representation of a "op_" function name + + + + + + + + + + + + + + + + + + + +Extra reflection functions sprinting and reducing Quotation Expressions + + + + + + + + + + + + + +Precedence + + + + +Associativity + + + + + + + +Represents an operator's precedence. The lower the precedence value, the lower the binding. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Print the newline concated source code reduce steps of the given expression to stdout. + + + + +Determine whether the given expression is reduced. + + + + +Convert the given expression with the given variable environment to a list of all of its Reduce steps in order. + + + + +Reduce the given expression by one step with the given variable environment: convert each branch of the given expression to a Value expression of its +evaluation if each sub-branch of the branch is reduced. +If this expression is already reduced, or cannot be reduced, returns itself. + + + + +Evaluate the given typed expression with the given variable environment. + + + + +Evaluate the given untyped expression with the given variable environment. + + + + +Convert the given expression to a list of all of its Reduce steps in order. + + + + +Reduce by one step: convert each branch of the given expression to a Value expression of its +evaluation if each sub-branch of the branch is reduced. +If this expression is already reduced, or cannot be reduced, returns itself. + + + + +Decompile given expression to its source code representation. Sub-expressions which are +not currently supported will fallback on the default Expr.ToString() implementation. + + + + +Evaluate the given typed expression. + + + + +Evaluate the given untyped expression. + + + + +Operators on Expr and Expr<'a> for decompiling, evaluating, and incrementally reducing quotation expressions. + + + + + + + + + + + + + + + + + + + +Construct a Value from an evaluated expression + + + + + + + + + + + + + diff --git a/2015_02_19_Seemann_Mark_Equivalence_Classes_xunitnet_FsCheck_Property-based_testing/packages/repositories.config b/2015_02_19_Seemann_Mark_Equivalence_Classes_xunitnet_FsCheck_Property-based_testing/packages/repositories.config new file mode 100644 index 0000000..017bcf0 --- /dev/null +++ b/2015_02_19_Seemann_Mark_Equivalence_Classes_xunitnet_FsCheck_Property-based_testing/packages/repositories.config @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/2015_02_19_Seemann_Mark_Equivalence_Classes_xunitnet_FsCheck_Property-based_testing/packages/xunit.1.9.2/lib/net20/xunit.dll b/2015_02_19_Seemann_Mark_Equivalence_Classes_xunitnet_FsCheck_Property-based_testing/packages/xunit.1.9.2/lib/net20/xunit.dll new file mode 100644 index 0000000..c2534a8 Binary files /dev/null and b/2015_02_19_Seemann_Mark_Equivalence_Classes_xunitnet_FsCheck_Property-based_testing/packages/xunit.1.9.2/lib/net20/xunit.dll differ diff --git a/2015_02_19_Seemann_Mark_Equivalence_Classes_xunitnet_FsCheck_Property-based_testing/packages/xunit.1.9.2/lib/net20/xunit.dll.tdnet b/2015_02_19_Seemann_Mark_Equivalence_Classes_xunitnet_FsCheck_Property-based_testing/packages/xunit.1.9.2/lib/net20/xunit.dll.tdnet new file mode 100644 index 0000000..4d8afc8 --- /dev/null +++ b/2015_02_19_Seemann_Mark_Equivalence_Classes_xunitnet_FsCheck_Property-based_testing/packages/xunit.1.9.2/lib/net20/xunit.dll.tdnet @@ -0,0 +1,5 @@ + + xUnit.net {0}.{1}.{2} build {3} + xunit.runner.tdnet.dll + Xunit.Runner.TdNet.TdNetRunner + \ No newline at end of file diff --git a/2015_02_19_Seemann_Mark_Equivalence_Classes_xunitnet_FsCheck_Property-based_testing/packages/xunit.1.9.2/lib/net20/xunit.runner.msbuild.dll b/2015_02_19_Seemann_Mark_Equivalence_Classes_xunitnet_FsCheck_Property-based_testing/packages/xunit.1.9.2/lib/net20/xunit.runner.msbuild.dll new file mode 100644 index 0000000..020857f Binary files /dev/null and b/2015_02_19_Seemann_Mark_Equivalence_Classes_xunitnet_FsCheck_Property-based_testing/packages/xunit.1.9.2/lib/net20/xunit.runner.msbuild.dll differ diff --git a/2015_02_19_Seemann_Mark_Equivalence_Classes_xunitnet_FsCheck_Property-based_testing/packages/xunit.1.9.2/lib/net20/xunit.runner.tdnet.dll b/2015_02_19_Seemann_Mark_Equivalence_Classes_xunitnet_FsCheck_Property-based_testing/packages/xunit.1.9.2/lib/net20/xunit.runner.tdnet.dll new file mode 100644 index 0000000..2c5b1b3 Binary files /dev/null and b/2015_02_19_Seemann_Mark_Equivalence_Classes_xunitnet_FsCheck_Property-based_testing/packages/xunit.1.9.2/lib/net20/xunit.runner.tdnet.dll differ diff --git a/2015_02_19_Seemann_Mark_Equivalence_Classes_xunitnet_FsCheck_Property-based_testing/packages/xunit.1.9.2/lib/net20/xunit.runner.utility.dll b/2015_02_19_Seemann_Mark_Equivalence_Classes_xunitnet_FsCheck_Property-based_testing/packages/xunit.1.9.2/lib/net20/xunit.runner.utility.dll new file mode 100644 index 0000000..c22d733 Binary files /dev/null and b/2015_02_19_Seemann_Mark_Equivalence_Classes_xunitnet_FsCheck_Property-based_testing/packages/xunit.1.9.2/lib/net20/xunit.runner.utility.dll differ diff --git a/2015_02_19_Seemann_Mark_Equivalence_Classes_xunitnet_FsCheck_Property-based_testing/packages/xunit.1.9.2/lib/net20/xunit.xml b/2015_02_19_Seemann_Mark_Equivalence_Classes_xunitnet_FsCheck_Property-based_testing/packages/xunit.1.9.2/lib/net20/xunit.xml new file mode 100644 index 0000000..d8b316f --- /dev/null +++ b/2015_02_19_Seemann_Mark_Equivalence_Classes_xunitnet_FsCheck_Property-based_testing/packages/xunit.1.9.2/lib/net20/xunit.xml @@ -0,0 +1,2611 @@ + + + + xunit + + + + + Contains various static methods that are used to verify that conditions are met during the + process of running tests. + + + + + Initializes a new instance of the class. + + + + + Verifies that a collection contains a given object. + + The type of the object to be verified + The object expected to be in the collection + The collection to be inspected + Thrown when the object is not present in the collection + + + + Verifies that a collection contains a given object, using an equality comparer. + + The type of the object to be verified + The object expected to be in the collection + The collection to be inspected + The comparer used to equate objects in the collection with the expected object + Thrown when the object is not present in the collection + + + + Verifies that a string contains a given sub-string, using the current culture. + + The sub-string expected to be in the string + The string to be inspected + Thrown when the sub-string is not present inside the string + + + + Verifies that a string contains a given sub-string, using the given comparison type. + + The sub-string expected to be in the string + The string to be inspected + The type of string comparison to perform + Thrown when the sub-string is not present inside the string + + + + Verifies that a collection does not contain a given object. + + The type of the object to be compared + The object that is expected not to be in the collection + The collection to be inspected + Thrown when the object is present inside the container + + + + Verifies that a collection does not contain a given object, using an equality comparer. + + The type of the object to be compared + The object that is expected not to be in the collection + The collection to be inspected + The comparer used to equate objects in the collection with the expected object + Thrown when the object is present inside the container + + + + Verifies that a string does not contain a given sub-string, using the current culture. + + The sub-string which is expected not to be in the string + The string to be inspected + Thrown when the sub-string is present inside the string + + + + Verifies that a string does not contain a given sub-string, using the current culture. + + The sub-string which is expected not to be in the string + The string to be inspected + The type of string comparison to perform + Thrown when the sub-string is present inside the given string + + + + Verifies that a block of code does not throw any exceptions. + + A delegate to the code to be tested + + + + Verifies that a collection is empty. + + The collection to be inspected + Thrown when the collection is null + Thrown when the collection is not empty + + + + Verifies that two objects are equal, using a default comparer. + + The type of the objects to be compared + The expected value + The value to be compared against + Thrown when the objects are not equal + + + + Verifies that two objects are equal, using a custom equatable comparer. + + The type of the objects to be compared + The expected value + The value to be compared against + The comparer used to compare the two objects + Thrown when the objects are not equal + + + + Verifies that two values are equal, within the number of decimal + places given by . + + The expected value + The value to be compared against + The number of decimal places (valid values: 0-15) + Thrown when the values are not equal + + + + Verifies that two values are equal, within the number of decimal + places given by . + + The expected value + The value to be compared against + The number of decimal places (valid values: 0-15) + Thrown when the values are not equal + + + + Verifies that two sequences are equivalent, using a default comparer. + + The type of the objects to be compared + The expected value + The value to be compared against + Thrown when the objects are not equal + + + + Verifies that two sequences are equivalent, using a custom equatable comparer. + + The type of the objects to be compared + The expected value + The value to be compared against + The comparer used to compare the two objects + Thrown when the objects are not equal + + + Do not call this method. + + + + Verifies that the condition is false. + + The condition to be tested + Thrown if the condition is not false + + + + Verifies that the condition is false. + + The condition to be tested + The message to show when the condition is not false + Thrown if the condition is not false + + + + Verifies that a value is within a given range. + + The type of the value to be compared + The actual value to be evaluated + The (inclusive) low value of the range + The (inclusive) high value of the range + Thrown when the value is not in the given range + + + + Verifies that a value is within a given range, using a comparer. + + The type of the value to be compared + The actual value to be evaluated + The (inclusive) low value of the range + The (inclusive) high value of the range + The comparer used to evaluate the value's range + Thrown when the value is not in the given range + + + + Verifies that an object is of the given type or a derived type. + + The type the object should be + The object to be evaluated + The object, casted to type T when successful + Thrown when the object is not the given type + + + + Verifies that an object is of the given type or a derived type. + + The type the object should be + The object to be evaluated + Thrown when the object is not the given type + + + + Verifies that an object is not exactly the given type. + + The type the object should not be + The object to be evaluated + Thrown when the object is the given type + + + + Verifies that an object is not exactly the given type. + + The type the object should not be + The object to be evaluated + Thrown when the object is the given type + + + + Verifies that an object is exactly the given type (and not a derived type). + + The type the object should be + The object to be evaluated + The object, casted to type T when successful + Thrown when the object is not the given type + + + + Verifies that an object is exactly the given type (and not a derived type). + + The type the object should be + The object to be evaluated + Thrown when the object is not the given type + + + + Verifies that a collection is not empty. + + The collection to be inspected + Thrown when a null collection is passed + Thrown when the collection is empty + + + + Verifies that two objects are not equal, using a default comparer. + + The type of the objects to be compared + The expected object + The actual object + Thrown when the objects are equal + + + + Verifies that two objects are not equal, using a custom equality comparer. + + The type of the objects to be compared + The expected object + The actual object + The comparer used to examine the objects + Thrown when the objects are equal + + + + Verifies that two sequences are not equivalent, using a default comparer. + + The type of the objects to be compared + The expected object + The actual object + Thrown when the objects are equal + + + + Verifies that two sequences are not equivalent, using a custom equality comparer. + + The type of the objects to be compared + The expected object + The actual object + The comparer used to compare the two objects + Thrown when the objects are equal + + + + Verifies that a value is not within a given range, using the default comparer. + + The type of the value to be compared + The actual value to be evaluated + The (inclusive) low value of the range + The (inclusive) high value of the range + Thrown when the value is in the given range + + + + Verifies that a value is not within a given range, using a comparer. + + The type of the value to be compared + The actual value to be evaluated + The (inclusive) low value of the range + The (inclusive) high value of the range + The comparer used to evaluate the value's range + Thrown when the value is in the given range + + + + Verifies that an object reference is not null. + + The object to be validated + Thrown when the object is not null + + + + Verifies that two objects are not the same instance. + + The expected object instance + The actual object instance + Thrown when the objects are the same instance + + + + Verifies that an object reference is null. + + The object to be inspected + Thrown when the object reference is not null + + + + Verifies that the provided object raised INotifyPropertyChanged.PropertyChanged + as a result of executing the given test code. + + The object which should raise the notification + The property name for which the notification should be raised + The test code which should cause the notification to be raised + Thrown when the notification is not raised + + + + Verifies that two objects are the same instance. + + The expected object instance + The actual object instance + Thrown when the objects are not the same instance + + + + Verifies that the given collection contains only a single + element of the given type. + + The collection. + The single item in the collection. + Thrown when the collection does not contain + exactly one element. + + + + Verifies that the given collection contains only a single + element of the given value. The collection may or may not + contain other values. + + The collection. + The value to find in the collection. + The single item in the collection. + Thrown when the collection does not contain + exactly one element. + + + + Verifies that the given collection contains only a single + element of the given type. + + The collection type. + The collection. + The single item in the collection. + Thrown when the collection does not contain + exactly one element. + + + + Verifies that the given collection contains only a single + element of the given type which matches the given predicate. The + collection may or may not contain other values which do not + match the given predicate. + + The collection type. + The collection. + The item matching predicate. + The single item in the filtered collection. + Thrown when the filtered collection does + not contain exactly one element. + + + + Verifies that the exact exception is thrown (and not a derived exception type). + + The type of the exception expected to be thrown + A delegate to the code to be tested + The exception that was thrown, when successful + Thrown when an exception was not thrown, or when an exception of the incorrect type is thrown + + + + Verifies that the exact exception is thrown (and not a derived exception type). + Generally used to test property accessors. + + The type of the exception expected to be thrown + A delegate to the code to be tested + The exception that was thrown, when successful + Thrown when an exception was not thrown, or when an exception of the incorrect type is thrown + + + + Verifies that the exact exception is thrown (and not a derived exception type). + + The type of the exception expected to be thrown + A delegate to the code to be tested + The exception that was thrown, when successful + Thrown when an exception was not thrown, or when an exception of the incorrect type is thrown + + + + Verifies that the exact exception is thrown (and not a derived exception type). + Generally used to test property accessors. + + The type of the exception expected to be thrown + A delegate to the code to be tested + The exception that was thrown, when successful + Thrown when an exception was not thrown, or when an exception of the incorrect type is thrown + + + + Verifies that an expression is true. + + The condition to be inspected + Thrown when the condition is false + + + + Verifies that an expression is true. + + The condition to be inspected + The message to be shown when the condition is false + Thrown when the condition is false + + + + Used by the PropertyChanged. + + + + + Used by the Throws and DoesNotThrow methods. + + + + + Used by the Throws and DoesNotThrow methods. + + + + + This command sets up the necessary trace listeners and standard + output/error listeners to capture Assert/Debug.Trace failures, + output to stdout/stderr, and Assert/Debug.Write text. It also + captures any exceptions that are thrown and packages them as + FailedResults, including the possibility that the configuration + file is messed up (which is exposed when we attempt to manipulate + the trace listener list). + + + + + Base class used by commands which delegate to inner commands. + + + + + Interface which represents the ability to invoke of a test method. + + + + + Executes the test method. + + The instance of the test class + Returns information about the test run + + + + Creates the start XML to be sent to the callback when the test is about to start + running. + + Return the of the start node, or null if the test + is known that it will not be running. + + + + Gets the display name of the test method. + + + + + Determines if the test runner infrastructure should create a new instance of the + test class before running the test. + + + + + Determines if the test should be limited to running a specific amount of time + before automatically failing. + + The timeout value, in milliseconds; if zero, the test will not have + a timeout. + + + + Creates a new instance of the class. + + The inner command to delegate to. + + + + + + + + + + + + + + + + + + + + + + Initializes a new instance of the + class. + + The command that will be wrapped. + The test method. + + + + + + + Represents an implementation of to be used with + tests which are decorated with the . + + + + + Represents an xUnit.net test command. + + + + + The method under test. + + + + + Initializes a new instance of the class. + + The method under test. + The display name of the test. + The timeout, in milliseconds. + + + + + + + + + + + + + Gets the name of the method under test. + + + + + + + + + + + Gets the name of the type under test. + + + + + Initializes a new instance of the class. + + The test method. + + + + + + + Base class for exceptions that have actual and expected values + + + + + The base assert exception class + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The user message to be displayed + + + + Initializes a new instance of the class. + + The user message to be displayed + The inner exception + + + + Initializes a new instance of the class. + + The user message to be displayed + The stack trace to be displayed + + + + + + + Determines whether to exclude a line from the stack frame. By default, this method + removes all stack frames from methods beginning with Xunit.Assert or Xunit.Sdk. + + The stack frame to be filtered. + Return true to exclude the line from the stack frame; false, otherwise. + + + + Filters the stack trace to remove all lines that occur within the testing framework. + + The original stack trace + The filtered stack trace + + + + + + + Gets a string representation of the frames on the call stack at the time the current exception was thrown. + + A string that describes the contents of the call stack, with the most recent method call appearing first. + + + + Gets the user message + + + + + Creates a new instance of the class. + + The expected value + The actual value + The user message to be shown + + + + Creates a new instance of the class. + + The expected value + The actual value + The user message to be shown + Set to true to skip the check for difference position + + + + + + + + + + Gets the actual value. + + + + + Gets the expected value. + + + + + Gets a message that describes the current exception. Includes the expected and actual values. + + The error message that explains the reason for the exception, or an empty string(""). + 1 + + + + Exception thrown when a collection unexpectedly does not contain the expected value. + + + + + Creates a new instance of the class. + + The expected object value + + + + Creates a new instance of the class. + + The expected object value + The actual value + + + + + + + Exception to be thrown from when the number of + parameter values does not the test method signature. + + + + + + + + + + + Exception thrown when code unexpectedly fails change a property. + + + + + Creates a new instance of the class. Call this constructor + when no exception was thrown. + + The name of the property that was expected to be changed. + + + + + + + Exception thrown when the collection did not contain exactly one element. + + + + + Initializes a new instance of the class. + + The numbers of items in the collection. + + + + Initializes a new instance of the class. + + The numbers of items in the collection. + The object expected to be in the collection. + + + + + + + Internal class used for version-resilient test runners. DO NOT CALL DIRECTLY. + Version-resilient runners should link against xunit.runner.utility.dll and use + ExecutorWrapper instead. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Exception thrown when the value is unexpectedly not of the given type or a derived type. + + + + + Creates a new instance of the class. + + The expected type + The actual object value + + + + + + + Allows the user to record actions for a test. + + + + + Records any exception which is thrown by the given code. + + The code which may thrown an exception. + Returns the exception that was thrown by the code; null, otherwise. + + + + Records any exception which is thrown by the given code that has + a return value. Generally used for testing property accessors. + + The code which may thrown an exception. + Returns the exception that was thrown by the code; null, otherwise. + + + + Exception that is thrown when one or more exceptions are thrown from + the After method of a . + + + + + Initializes a new instance of the class. + + The exceptions. + + + + Initializes a new instance of the class. + + The exceptions. + + + + + + + + + + Gets the list of exceptions thrown in the After method. + + + + + Gets a message that describes the current exception. + + + + + Gets a string representation of the frames on the call stack at the time the current exception was thrown. + + + + + Implementation of which executes the + instances attached to a test method. + + + + + Initializes a new instance of the class. + + The inner command. + The method. + + + + Executes the test method. + + The instance of the test class + Returns information about the test run + + + + This class supports the xUnit.net infrastructure and is not intended to be used + directly from your code. + + + + + This API supports the xUnit.net infrastructure and is not intended to be used + directly from your code. + + + + + This API supports the xUnit.net infrastructure and is not intended to be used + directly from your code. + + + + + This API supports the xUnit.net infrastructure and is not intended to be used + directly from your code. + + + + + Guard class, used for guard clauses and argument validation + + + + + + + + + + + + + + Base class which contains XML manipulation helper methods + + + + + Interface that represents a single test result. + + + + + Converts the test result into XML that is consumed by the test runners. + + The parent node. + The newly created XML node. + + + + The amount of time spent in execution + + + + + Adds the test execution time to the XML node. + + The XML node. + + + + + + + + + + Utility methods for dealing with exceptions. + + + + + Gets the message for the exception, including any inner exception messages. + + The exception + The formatted message + + + + Gets the stack trace for the exception, including any inner exceptions. + + The exception + The formatted stack trace + + + + Rethrows an exception object without losing the existing stack trace information + + The exception to re-throw. + + For more information on this technique, see + http://www.dotnetjunkies.com/WebLog/chris.taylor/archive/2004/03/03/8353.aspx + + + + + A dictionary which contains multiple unique values for each key. + + The type of the key. + The type of the value. + + + + Adds the value for the given key. If the key does not exist in the + dictionary yet, it will add it. + + The key. + The value. + + + + Removes all keys and values from the dictionary. + + + + + Determines whether the dictionary contains to specified key and value. + + The key. + The value. + + + + Calls the delegate once for each key/value pair in the dictionary. + + + + + Removes the given key and all of its values. + + + + + Removes the given value from the given key. If this was the + last value for the key, then the key is removed as well. + + The key. + The value. + + + + Gets the values for the given key. + + + + + Gets the count of the keys in the dictionary. + + + + + Gets the keys. + + + + + + + + XML utility methods + + + + + Adds an attribute to an XML node. + + The XML node. + The attribute name. + The attribute value. + + + + Adds a child element to an XML node. + + The parent XML node. + The child element name. + The new child XML element. + + + + Sets the inner text of the XML node, properly escaping it as necessary. + + The element whose inner text will be set. + The inner text to be escaped and then set. + + + + Exception that is thrown when a call to Debug.Assert() fails. + + + + + Creates a new instance of the class. + + The original assert message + + + + Creates a new instance of the class. + + The original assert message + The original assert detailed message + + + + + + + + + + Gets the original assert detailed message. + + + + + Gets the original assert message. + + + + + Gets a message that describes the current exception. + + + + + Exception thrown when a collection unexpectedly contains the expected value. + + + + + Creates a new instance of the class. + + The expected object value + + + + + + + Exception thrown when code unexpectedly throws an exception. + + + + + Creates a new instance of the class. + + Actual exception + + + + THIS CONSTRUCTOR IS FOR UNIT TESTING PURPOSES ONLY. + + + + + + + + + + + Gets a string representation of the frames on the call stack at the time the current exception was thrown. + + A string that describes the contents of the call stack, with the most recent method call appearing first. + + + + Exception thrown when a collection is unexpectedly not empty. + + + + + Creates a new instance of the class. + + + + + + + + Exception thrown when two values are unexpectedly not equal. + + + + + Creates a new instance of the class. + + The expected object value + The actual object value + + + + Creates a new instance of the class. + + The expected object value + The actual object value + Set to true to skip the check for difference position + + + + + + + Exception thrown when a value is unexpectedly true. + + + + + Creates a new instance of the class. + + The user message to be display, or null for the default message + + + + + + + Exception thrown when a value is unexpectedly not in the given range. + + + + + Creates a new instance of the class. + + The actual object value + The low value of the range + The high value of the range + + + + + + + + + + Gets the actual object value + + + + + Gets the high value of the range + + + + + Gets the low value of the range + + + + + Gets a message that describes the current exception. + + The error message that explains the reason for the exception, or an empty string(""). + + + + Exception thrown when the value is unexpectedly of the exact given type. + + + + + Creates a new instance of the class. + + The expected type + The actual object value + + + + + + + Exception thrown when the value is unexpectedly not of the exact given type. + + + + + Creates a new instance of the class. + + The expected type + The actual object value + + + + + + + Used to decorate xUnit.net test classes that utilize fixture classes. + An instance of the fixture data is initialized just before the first + test in the class is run, and if it implements IDisposable, is disposed + after the last test in the class is run. + + The type of the fixture + + + + Called on the test class just before each test method is run, + passing the fixture data so that it can be used for the test. + All test runs share the same instance of fixture data. + + The fixture data + + + + Exception thrown when a value is unexpectedly in the given range. + + + + + Creates a new instance of the class. + + The actual object value + The low value of the range + The high value of the range + + + + + + + + + + Gets the actual object value + + + + + Gets the high value of the range + + + + + Gets the low value of the range + + + + + Gets a message that describes the current exception. + + The error message that explains the reason for the exception, or an empty string(""). + + + + Base attribute which indicates a test method interception (allows code to be run before and + after the test is run). + + + + + This method is called after the test method is executed. + + The method under test + + + + This method is called before the test method is executed. + + The method under test + + + + + + + Exception thrown when a collection is unexpectedly empty. + + + + + Creates a new instance of the class. + + + + + + + + Exception thrown when two values are unexpectedly equal. + + + + + Creates a new instance of the class. + + + + + + + + Exception thrown when an object is unexpectedly null. + + + + + Creates a new instance of the class. + + + + + + + + Exception thrown when two values are unexpected the same instance. + + + + + Creates a new instance of the class. + + + + + + + + Exception thrown when an object reference is unexpectedly not null. + + + + + Creates a new instance of the class. + + + + + + + + + Command that automatically creates the instance of the test class + and disposes it (if it implements ). + + + + + Creates a new instance of the object. + + The command that is bring wrapped + The method under test + + + + Executes the test method. Creates a new instance of the class + under tests and passes it to the inner command. Also catches + any exceptions and converts them into s. + + The instance of the test class + Returns information about the test run + + + + Command used to wrap a which has associated + fixture data. + + + + + Creates a new instance of the class. + + The inner command + The fixtures to be set on the test class + + + + Sets the fixtures on the test class by calling SetFixture, then + calls the inner command. + + The instance of the test class + Returns information about the test run + + + + A timer class used to figure out how long tests take to run. On most .NET implementations + this will use the class because it's a high + resolution timer; however, on Silverlight/CoreCLR, it will use + (which will provide lower resolution results). + + + + + Creates a new instance of the class. + + + + + Starts timing. + + + + + Stops timing. + + + + + Gets how long the timer ran, in milliseconds. In order for this to be valid, + both and must have been called. + + + + + Attribute used to decorate a test method with arbitrary name/value pairs ("traits"). + + + + + Creates a new instance of the class. + + The trait name + The trait value + + + + Gets the trait name. + + + + + + + + Gets the trait value. + + + + + Runner that executes an synchronously. + + + + + Execute the . + + The test class command to execute + The methods to execute; if null or empty, all methods will be executed + The start run callback + The end run result callback + A with the results of the test run + + + + Factory for objects, based on the type under test. + + + + + Creates the test class command, which implements , for a given type. + + The type under test + The test class command, if the class is a test class; null, otherwise + + + + Creates the test class command, which implements , for a given type. + + The type under test + The test class command, if the class is a test class; null, otherwise + + + + Represents an xUnit.net test class + + + + + Interface which describes the ability to executes all the tests in a test class. + + + + + Allows the test class command to choose the next test to be run from the list of + tests that have not yet been run, thereby allowing it to choose the run order. + + The tests remaining to be run + The index of the test that should be run + + + + Execute actions to be run after all the test methods of this test class are run. + + Returns the thrown during execution, if any; null, otherwise + + + + Execute actions to be run before any of the test methods of this test class are run. + + Returns the thrown during execution, if any; null, otherwise + + + + Enumerates the test commands for a given test method in this test class. + + The method under test + The test commands for the given test method + + + + Enumerates the methods which are test methods in this test class. + + The test methods + + + + Determines if a given refers to a test method. + + The test method to validate + True if the method is a test method; false, otherwise + + + + Gets the object instance that is under test. May return null if you wish + the test framework to create a new object instance for each test method. + + + + + Gets or sets the type that is being tested + + + + + Creates a new instance of the class. + + + + + Creates a new instance of the class. + + The type under test + + + + Creates a new instance of the class. + + The type under test + + + + Chooses the next test to run, randomly, using the . + + The tests remaining to be run + The index of the test that should be run + + + + Execute actions to be run after all the test methods of this test class are run. + + Returns the thrown during execution, if any; null, otherwise + + + + Execute actions to be run before any of the test methods of this test class are run. + + Returns the thrown during execution, if any; null, otherwise + + + + Enumerates the test commands for a given test method in this test class. + + The method under test + The test commands for the given test method + + + + Enumerates the methods which are test methods in this test class. + + The test methods + + + + Determines if a given refers to a test method. + + The test method to validate + True if the method is a test method; false, otherwise + + + + Gets the object instance that is under test. May return null if you wish + the test framework to create a new object instance for each test method. + + + + + Gets or sets the randomizer used to determine the order in which tests are run. + + + + + Sets the type that is being tested + + + + + Implementation of that represents a skipped test. + + + + + Creates a new instance of the class. + + The method that is being skipped + The display name for the test. If null, the fully qualified + type name is used. + The reason the test was skipped. + + + + + + + + + + Gets the skip reason. + + + + + + + + Factory for creating objects. + + + + + Make instances of objects for the given class and method. + + The class command + The method under test + The set of objects + + + + A command wrapper which times the running of a command. + + + + + Creates a new instance of the class. + + The command that will be timed. + + + + Executes the inner test method, gathering the amount of time it takes to run. + + Returns information about the test run + + + + Wraps a command which should fail if it runs longer than the given timeout value. + + + + + Creates a new instance of the class. + + The command to be run + The timout, in milliseconds + The method under test + + + + Executes the test method, failing if it takes too long. + + Returns information about the test run + + + + + + + Attributes used to decorate a test fixture that is run with an alternate test runner. + The test runner must implement the interface. + + + + + Creates a new instance of the class. + + The class which implements ITestClassCommand and acts as the runner + for the test fixture. + + + + Gets the test class command. + + + + + Exception thrown when two object references are unexpectedly not the same instance. + + + + + Creates a new instance of the class. + + The expected object reference + The actual object reference + + + + + + + Contains the test results from an assembly. + + + + + Contains multiple test results, representing them as a composite test result. + + + + + Adds a test result to the composite test result list. + + + + + + Gets the test results. + + + + + Creates a new instance of the class. + + The filename of the assembly + + + + Creates a new instance of the class. + + The filename of the assembly + The configuration filename + + + + Converts the test result into XML that is consumed by the test runners. + + The parent node. + The newly created XML node. + + + + Gets the fully qualified filename of the configuration file. + + + + + Gets the directory where the assembly resides. + + + + + Gets the number of failed results. + + + + + Gets the fully qualified filename of the assembly. + + + + + Gets the number of passed results. + + + + + Gets the number of skipped results. + + + + + Contains the test results from a test class. + + + + + Creates a new instance of the class. + + The type under test + + + + Creates a new instance of the class. + + The simple name of the type under test + The fully qualified name of the type under test + The namespace of the type under test + + + + Sets the exception thrown by the test fixture. + + The thrown exception + + + + Converts the test result into XML that is consumed by the test runners. + + The parent node. + The newly created XML node. + + + + Gets the fully qualified test fixture exception type, when an exception has occurred. + + + + + Gets the number of tests which failed. + + + + + Gets the fully qualified name of the type under test. + + + + + Gets the test fixture exception message, when an exception has occurred. + + + + + Gets the simple name of the type under test. + + + + + Gets the namespace of the type under test. + + + + + Gets the number of tests which passed. + + + + + Gets the number of tests which were skipped. + + + + + Gets the test fixture exception stack trace, when an exception has occurred. + + + + + Represents a failed test result. + + + + + Represents the results from running a test method + + + + + Initializes a new instance of the class. The traits for + the test method are discovered using reflection. + + The method under test. + The display name for the test. If null, the fully qualified + type name is used. + + + + Initializes a new instance of the class. + + The name of the method under test. + The type of the method under test. + The display name for the test. If null, the fully qualified + type name is used. + The traits. + + + + Converts the test result into XML that is consumed by the test runners. + + The parent node. + The newly created XML node. + + + + Gets or sets the display name of the method under test. This is the value that's shown + during failures and in the resulting output XML. + + + + + Gets the name of the method under test. + + + + + Gets or sets the standard output/standard error from the test that was captured + while the test was running. + + + + + Gets the traits attached to the test method. + + + + + Gets the name of the type under test. + + + + + Creates a new instance of the class. + + The method under test + The exception throw by the test + The display name for the test. If null, the fully qualified + type name is used. + + + + Creates a new instance of the class. + + The name of the method under test + The name of the type under test + The display name of the test + The custom properties attached to the test method + The full type name of the exception throw + The exception message + The exception stack trace + + + + Converts the test result into XML that is consumed by the test runners. + + The parent node. + The newly created XML node. + + + + Gets the exception type thrown by the test method. + + + + + Gets the exception message thrown by the test method. + + + + + Gets the stack trace of the exception thrown by the test method. + + + + + Represents a passing test result. + + + + + Create a new instance of the class. + + The method under test + The display name for the test. If null, the fully qualified + type name is used. + + + + Create a new instance of the class. + + The name of the method under test + The name of the type under test + The display name for the test. If null, the fully qualified + type name is used. + The custom properties attached to the test method + + + + Converts the test result into XML that is consumed by the test runners. + + The parent node. + The newly created XML node. + + + + Represents a skipped test result. + + + + + Creates a new instance of the class. Uses reflection to discover + the skip reason. + + The method under test + The display name for the test. If null, the fully qualified + type name is used. + The reason the test was skipped. + + + + Creates a new instance of the class. + + The name of the method under test + The name of the type under test + The display name for the test. If null, the fully qualified + type name is used. + The traits attached to the method under test + The skip reason + + + + Converts the test result into XML that is consumed by the test runners. + + The parent node. + The newly created XML node. + + + + Gets the skip reason. + + + + + Represents information about an attribute. + + + + + Gets the instance of the attribute, if available. + + The type of the attribute + The instance of the attribute, if available. + + + + Gets an initialized property value of the attribute. + + The type of the property + The name of the property + The property value + + + + Represents information about a method. + + + + + Creates an instance of the type where this test method was found. If using + reflection, this should be the ReflectedType. + + A new instance of the type. + + + + Gets all the custom attributes for the method that are of the given type. + + The type of the attribute + The matching attributes that decorate the method + + + + Determines if the method has at least one instance of the given attribute type. + + The type of the attribute + True if the method has at least one instance of the given attribute type; false, otherwise + + + + Invokes the test on the given class, with the given parameters. + + The instance of the test class (may be null if + the test method is static). + The parameters to be passed to the test method. + + + + Gets a value which represents the class that this method was + reflected from (i.e., equivalent to MethodInfo.ReflectedType) + + + + + Gets a value indicating whether the method is abstract. + + + + + Gets a value indicating whether the method is static. + + + + + Gets the underlying for the method, if available. + + + + + Gets the name of the method. + + + + + Gets the fully qualified type name of the return type. + + + + + Gets the fully qualified type name of the type that this method belongs to. If + using reflection, this should be the ReflectedType. + + + + + Represents information about a type. + + + + + Gets all the custom attributes for the type that are of the given attribute type. + + The type of the attribute + The matching attributes that decorate the type + + + + Gets a test method by name. + + The name of the method + The method, if it exists; null, otherwise. + + + + Gets all the methods + + + + + + Determines if the type has at least one instance of the given attribute type. + + The type of the attribute + True if the type has at least one instance of the given attribute type; false, otherwise + + + + Determines if the type implements the given interface. + + The type of the interface + True if the type implements the given interface; false, otherwise + + + + Gets a value indicating whether the type is abstract. + + + + + Gets a value indicating whether the type is sealed. + + + + + Gets the underlying object, if available. + + + + + Utility class which inspects methods for test information + + + + + Gets the display name. + + The method to be inspected + The display name + + + + Gets the skip reason from a test method. + + The method to be inspected + The skip reason + + + + Gets the test commands for a test method. + + The method to be inspected + The objects for the test method + + + + Gets the timeout value for a test method. + + The method to be inspected + The timeout, in milliseconds + + + + Gets the traits on a test method. + + The method to be inspected + A dictionary of the traits + + + + Determines whether a test method has a timeout. + + The method to be inspected + True if the method has a timeout; false, otherwise + + + + Determines whether a test method has traits. + + The method to be inspected + True if the method has traits; false, otherwise + + + + Determines whether a test method should be skipped. + + The method to be inspected + True if the method should be skipped; false, otherwise + + + + Determines whether a method is a test method. A test method must be decorated + with the (or derived class) and must not be abstract. + + The method to be inspected + True if the method is a test method; false, otherwise + + + + Wrapper to implement and using reflection. + + + + + Converts an into an using reflection. + + + + + + + Converts a into an using reflection. + + The method to wrap + The wrapper + + + + Converts a into an using reflection. + + The type to wrap + The wrapper + + + + Utility class which inspects types for test information + + + + + Determines if a type contains any test methods + + The type to be inspected + True if the class contains any test methods; false, otherwise + + + + Retrieves the type to run the test class with from the , if present. + + The type to be inspected + The type of the test class runner, if present; null, otherwise + + + + Retrieves a list of the test methods from the test class. + + The type to be inspected + The test methods + + + + Determines if the test class has a applied to it. + + The type to be inspected + True if the test class has a run with attribute; false, otherwise + + + + Determines if the type implements . + + The type to be inspected + True if the type implements ; false, otherwise + + + + Determines whether the specified type is abstract. + + The type. + + true if the specified type is abstract; otherwise, false. + + + + + Determines whether the specified type is static. + + The type. + + true if the specified type is static; otherwise, false. + + + + + Determines if a class is a test class. + + The type to be inspected + True if the type is a test class; false, otherwise + + + + Attribute that is applied to a method to indicate that it is a fact that should be run + by the test runner. It can also be extended to support a customized definition of a + test method. + + + + + Creates instances of which represent individual intended + invocations of the test method. + + The method under test + An enumerator through the desired test method invocations + + + + Enumerates the test commands represented by this test method. Derived classes should + override this method to return instances of , one per execution + of a test method. + + The test method + The test commands which will execute the test runs for the given method + + + + Gets the name of the test to be used when the test is skipped. Defaults to + null, which will cause the fully qualified test name to be used. + + + + + Obsolete. Please use the property instead. + + + + + Marks the test so that it will not be run, and gets or sets the skip reason + + + + + Marks the test as failing if it does not finish running within the given time + period, in milliseconds; set to 0 or less to indicate the method has no timeout + + + + + Exception thrown when code unexpectedly fails to throw an exception. + + + + + Creates a new instance of the class. Call this constructor + when no exception was thrown. + + The type of the exception that was expected + + + + Creates a new instance of the class. Call this constructor + when an exception of the wrong type was thrown. + + The type of the exception that was expected + The actual exception that was thrown + + + + + + + THIS CONSTRUCTOR IS FOR UNIT TESTING PURPOSES ONLY. + + + + + + + + Gets a string representation of the frames on the call stack at the time the current exception was thrown. + + A string that describes the contents of the call stack, with the most recent method call appearing first. + + + + Exception thrown when a test method exceeds the given timeout value + + + + + Creates a new instance of the class. + + The timeout value, in milliseconds + + + + + + + Exception thrown when a value is unexpectedly false. + + + + + Creates a new instance of the class. + + The user message to be displayed, or null for the default message + + + + + + diff --git a/2015_02_19_Seemann_Mark_Equivalence_Classes_xunitnet_FsCheck_Property-based_testing/packages/xunit.1.9.2/xunit.1.9.2.nupkg b/2015_02_19_Seemann_Mark_Equivalence_Classes_xunitnet_FsCheck_Property-based_testing/packages/xunit.1.9.2/xunit.1.9.2.nupkg new file mode 100644 index 0000000..8351335 Binary files /dev/null and b/2015_02_19_Seemann_Mark_Equivalence_Classes_xunitnet_FsCheck_Property-based_testing/packages/xunit.1.9.2/xunit.1.9.2.nupkg differ diff --git a/2015_02_19_Seemann_Mark_Equivalence_Classes_xunitnet_FsCheck_Property-based_testing/packages/xunit.extensions.1.9.2/lib/net20/xunit.extensions.dll b/2015_02_19_Seemann_Mark_Equivalence_Classes_xunitnet_FsCheck_Property-based_testing/packages/xunit.extensions.1.9.2/lib/net20/xunit.extensions.dll new file mode 100644 index 0000000..ea46cb1 Binary files /dev/null and b/2015_02_19_Seemann_Mark_Equivalence_Classes_xunitnet_FsCheck_Property-based_testing/packages/xunit.extensions.1.9.2/lib/net20/xunit.extensions.dll differ diff --git a/2015_02_19_Seemann_Mark_Equivalence_Classes_xunitnet_FsCheck_Property-based_testing/packages/xunit.extensions.1.9.2/lib/net20/xunit.extensions.xml b/2015_02_19_Seemann_Mark_Equivalence_Classes_xunitnet_FsCheck_Property-based_testing/packages/xunit.extensions.1.9.2/lib/net20/xunit.extensions.xml new file mode 100644 index 0000000..a0718b1 --- /dev/null +++ b/2015_02_19_Seemann_Mark_Equivalence_Classes_xunitnet_FsCheck_Property-based_testing/packages/xunit.extensions.1.9.2/lib/net20/xunit.extensions.xml @@ -0,0 +1,811 @@ + + + + xunit.extensions + + + + + A wrapper for Assert which is used by . + + + + + Verifies that a collection contains a given object. + + The type of the object to be verified + The object expected to be in the collection + The collection to be inspected + Thrown when the object is not present in the collection + + + + Verifies that a collection contains a given object, using an equality comparer. + + The type of the object to be verified + The object expected to be in the collection + The collection to be inspected + The comparer used to equate objects in the collection with the expected object + Thrown when the object is not present in the collection + + + + Verifies that a string contains a given sub-string, using the current culture. + + The sub-string expected to be in the string + The string to be inspected + Thrown when the sub-string is not present inside the string + + + + Verifies that a string contains a given sub-string, using the given comparison type. + + The sub-string expected to be in the string + The string to be inspected + The type of string comparison to perform + Thrown when the sub-string is not present inside the string + + + + Verifies that a collection does not contain a given object. + + The type of the object to be compared + The object that is expected not to be in the collection + The collection to be inspected + Thrown when the object is present inside the container + + + + Verifies that a collection does not contain a given object, using an equality comparer. + + The type of the object to be compared + The object that is expected not to be in the collection + The collection to be inspected + The comparer used to equate objects in the collection with the expected object + Thrown when the object is present inside the container + + + + Verifies that a string does not contain a given sub-string, using the current culture. + + The sub-string which is expected not to be in the string + The string to be inspected + Thrown when the sub-string is present inside the string + + + + Verifies that a string does not contain a given sub-string, using the current culture. + + The sub-string which is expected not to be in the string + The string to be inspected + The type of string comparison to perform + Thrown when the sub-string is present inside the given string + + + + Verifies that a block of code does not throw any exceptions. + + A delegate to the code to be tested + + + + Verifies that a collection is empty. + + The collection to be inspected + Thrown when the collection is null + Thrown when the collection is not empty + + + + Verifies that two objects are equal, using a default comparer. + + The type of the objects to be compared + The expected value + The value to be compared against + Thrown when the objects are not equal + + + + Verifies that two objects are equal, using a custom equatable comparer. + + The type of the objects to be compared + The expected value + The value to be compared against + The comparer used to compare the two objects + Thrown when the objects are not equal + + + + Verifies that two values are equal, within the number of decimal + places given by . + + The expected value + The value to be compared against + The number of decimal places (valid values: 0-15) + Thrown when the values are not equal + + + + Verifies that two values are equal, within the number of decimal + places given by . + + The expected value + The value to be compared against + The number of decimal places (valid values: 0-15) + Thrown when the values are not equal + + + + Verifies that the condition is false. + + The condition to be tested + Thrown if the condition is not false + + + + Verifies that the condition is false. + + The condition to be tested + The message to show when the condition is not false + Thrown if the condition is not false + + + + Verifies that a value is within a given range. + + The type of the value to be compared + The actual value to be evaluated + The (inclusive) low value of the range + The (inclusive) high value of the range + Thrown when the value is not in the given range + + + + Verifies that a value is within a given range, using a comparer. + + The type of the value to be compared + The actual value to be evaluated + The (inclusive) low value of the range + The (inclusive) high value of the range + The comparer used to evaluate the value's range + Thrown when the value is not in the given range + + + + Verifies that an object is of the given type or a derived type. + + The type the object should be + The object to be evaluated + The object, casted to type T when successful + Thrown when the object is not the given type + + + + Verifies that an object is of the given type or a derived type. + + The type the object should be + The object to be evaluated + Thrown when the object is not the given type + + + + Verifies that an object is not exactly the given type. + + The type the object should not be + The object to be evaluated + Thrown when the object is the given type + + + + Verifies that an object is not exactly the given type. + + The type the object should not be + The object to be evaluated + Thrown when the object is the given type + + + + Verifies that an object is exactly the given type (and not a derived type). + + The type the object should be + The object to be evaluated + The object, casted to type T when successful + Thrown when the object is not the given type + + + + Verifies that an object is exactly the given type (and not a derived type). + + The type the object should be + The object to be evaluated + Thrown when the object is not the given type + + + + Verifies that a collection is not empty. + + The collection to be inspected + Thrown when a null collection is passed + Thrown when the collection is empty + + + + Verifies that two objects are not equal, using a default comparer. + + The type of the objects to be compared + The expected object + The actual object + Thrown when the objects are equal + + + + Verifies that two objects are not equal, using a custom equality comparer. + + The type of the objects to be compared + The expected object + The actual object + The comparer used to examine the objects + Thrown when the objects are equal + + + + Verifies that a value is not within a given range, using the default comparer. + + The type of the value to be compared + The actual value to be evaluated + The (inclusive) low value of the range + The (inclusive) high value of the range + Thrown when the value is in the given range + + + + Verifies that a value is not within a given range, using a comparer. + + The type of the value to be compared + The actual value to be evaluated + The (inclusive) low value of the range + The (inclusive) high value of the range + The comparer used to evaluate the value's range + Thrown when the value is in the given range + + + + Verifies that an object reference is not null. + + The object to be validated + Thrown when the object is not null + + + + Verifies that two objects are not the same instance. + + The expected object instance + The actual object instance + Thrown when the objects are the same instance + + + + Verifies that an object reference is null. + + The object to be inspected + Thrown when the object reference is not null + + + + Verifies that two objects are the same instance. + + The expected object instance + The actual object instance + Thrown when the objects are not the same instance + + + + Verifies that the given collection contains only a single + element of the given type. + + The collection. + The single item in the collection. + Thrown when the collection does not contain + exactly one element. + + + + Verifies that the given collection contains only a single + element of the given type. + + The collection type. + The collection. + The single item in the collection. + Thrown when the collection does not contain + exactly one element. + + + + Verifies that the exact exception is thrown (and not a derived exception type). + + The type of the exception expected to be thrown + A delegate to the code to be tested + The exception that was thrown, when successful + Thrown when an exception was not thrown, or when an exception of the incorrect type is thrown + + + + Verifies that the exact exception is thrown (and not a derived exception type). + Generally used to test property accessors. + + The type of the exception expected to be thrown + A delegate to the code to be tested + The exception that was thrown, when successful + Thrown when an exception was not thrown, or when an exception of the incorrect type is thrown + + + + Verifies that the exact exception is thrown (and not a derived exception type). + + The type of the exception expected to be thrown + A delegate to the code to be tested + The exception that was thrown, when successful + Thrown when an exception was not thrown, or when an exception of the incorrect type is thrown + + + + Verifies that the exact exception is thrown (and not a derived exception type). + Generally used to test property accessors. + + The type of the exception expected to be thrown + A delegate to the code to be tested + The exception that was thrown, when successful + Thrown when an exception was not thrown, or when an exception of the incorrect type is thrown + + + + Verifies that an expression is true. + + The condition to be inspected + Thrown when the condition is false + + + + Verifies that an expression is true. + + The condition to be inspected + The message to be shown when the condition is false + Thrown when the condition is false + + + + A class which can be derived from for test classes, which bring an overridable version + of Assert (using the class. + + + + + Gets a class which provides assertions. + + + + + Apply this attribute to your test method to replace the + with another role. + + + + + Replaces the identity of the current thread with . + + The role's name + + + + Restores the original . + + The method under test + + + + Stores the current and replaces it with + a new role identified in constructor. + + The method under test + + + + Gets the name. + + + + + Apply this attribute to your test method to automatically create a + that is rolled back when the test is + finished. + + + + + Rolls back the transaction. + + + + + Creates the transaction. + + + + + Gets or sets the isolation level of the transaction. + Default value is .Unspecified. + + + + + Gets or sets the scope option for the transaction. + Default value is .Required. + + + + + Gets or sets the timeout of the transaction, in milliseconds. + By default, the transaction will not timeout. + + + + + Provides a data source for a data theory, with the data coming from a class + which must implement IEnumerable<object[]>. + + + + + Abstract attribute which represents a data source for a data theory. + Data source providers derive from this attribute and implement GetData + to return the data for the theory. + + + + + Returns the data to be used to test the theory. + + + The parameter is provided so that the + test data can be converted to the destination parameter type when necessary. + Generally, data should NOT be automatically converted, UNLESS the source data + format does not have rich types (for example, all numbers in Excel spreadsheets + are returned as even if they are integers). Derivers of + this class should NOT throw exceptions for mismatched types or mismatched number + of parameters; the test framework will throw these exceptions at the correct + time. + + The method that is being tested + The types of the parameters for the test method + The theory data + + + + + + + Initializes a new instance of the class. + + The class that provides the data. + + + + + + + Gets the type of the class that provides the data. + + + + + Represents an implementation of which uses an + instance of to get the data for a + decorated test method. + + + + + + + + Converts a parameter to its destination parameter type, if necessary. + + The parameter value + The destination parameter type (null if not known) + The converted parameter value + + + + Gets the data adapter to be used to retrieve the test data. + + + + + Provides a data source for a data theory, with the data coming from inline values. + + + + + Initializes a new instance of the class. + + The data values to pass to the theory + + + + Returns the data to be used to test the theory. + + The method that is being tested + The types of the parameters for the test method + The theory data, in table form + + + + Gets the data values. + + + + + Provides a data source for a data theory, with the data coming from an OLEDB connection. + + + + + Creates a new instance of . + + The OLEDB connection string to the data + The SELECT statement used to return the data for the theory + + + + Gets the connection string. + + + + + Gets the select statement. + + + + + + + + Provides a data source for a data theory, with the data coming from a public static property on the test class. + The property must return IEnumerable<object[]> with the test data. + + + + + Creates a new instance of / + + The name of the public static property on the test class that will provide the test data + + + + Returns the data to be used to test the theory. + + The method that is being tested + The types of the parameters for the test method + The theory data, in table form + + + + Gets the property name. + + + + + Gets or sets the type to retrieve the property data from. If not set, then the property will be + retrieved from the unit test class. + + + + + Provides a data source for a data theory, with the data coming a Microsoft SQL Server. + + + + + Creates a new instance of , using a trusted connection. + + The server name of the Microsoft SQL Server + The database name + The SQL SELECT statement to return the data for the data theory + + + + Creates a new instance of , using the provided username and password. + + The server name of the Microsoft SQL Server + The database name + The username for the server + The password for the server + The SQL SELECT statement to return the data for the data theory + + + + Provides a data source for a data theory, with the data coming a Microsoft Excel (.xls) spreadsheet. + + + + + Creates a new instance of . + + The filename of the XLS spreadsheet file; if the filename provided + is relative, then it is relative to the location of xunit.extensions.dll. + The SELECT statement that returns the data for the theory + + + + + + + A wrapper around the static operations on which allows time + to be frozen using the . The clock begins in the + thawed state; that is, calls to , , and + return current (non-frozen) values. + + + + + Freezes the clock with the current time. + Until is called, all calls to , , and + will return the exact same values. + + + + + Freezes the clock with the given date and time, considered to be local time. + Until is called, all calls to , , and + will return the exact same values. + + The local date and time to freeze to + + + + Freezes the clock with the given date and time, considered to be Coordinated Universal Time (UTC). + Until is called, all calls to , , and + will return the exact same values. + + The UTC date and time to freeze to + + + + Thaws the clock so that , , and + return normal values. + + + + + Gets a object that is set to the current date and time on this computer, + expressed as the local time. + + + + + Gets the current date. + + + + + Gets a object that is set to the current date and time on this computer, + expressed as the Coordinated Universal Time (UTC). + + + + + Apply this attribute to your test method to freeze the time represented by the + class. + + + + + Freeze the clock with the current date and time. + + + + + Freeze the clock with the given date, considered to be local time. + + The frozen year + The frozen month + The frozen day + + + + Freeze the clock with the given date and time, considered to be in local time. + + The frozen year + The frozen month + The frozen day + The frozen hour + The frozen minute + The frozen second + + + + Freeze the clock with the given date and time, with the given kind of time. + + The frozen year + The frozen month + The frozen day + The frozen hour + The frozen minute + The frozen second + The frozen time kind + + + + Thaws the clock. + + The method under test + + + + Freezes the clock. + + The method under test + + + + Marks a test method as being a data theory. Data theories are tests which are fed + various bits of data from a data source, mapping to parameters on the test method. + If the data source contains multiple rows, then the test method is executed + multiple times (once with each data row). + + + + + Creates instances of which represent individual intended + invocations of the test method, one per data row in the data source. + + The method under test + An enumerator through the desired test method invocations + + + + Represents a single invocation of a data theory test method. + + + + + Creates a new instance of . + + The method under test + The parameters to be passed to the test method + + + + Creates a new instance of based on a generic theory. + + The method under test + The parameters to be passed to the test method + The generic types that were used to resolved the generic method. + + + + + + + Gets the parameter values that are passed to the test method. + + + + + Apply to a test method to trace the method begin and end. + + + + + This method is called before the test method is executed. + + The method under test + + + + This method is called after the test method is executed. + + The method under test + + + diff --git a/2015_02_19_Seemann_Mark_Equivalence_Classes_xunitnet_FsCheck_Property-based_testing/packages/xunit.extensions.1.9.2/xunit.extensions.1.9.2.nupkg b/2015_02_19_Seemann_Mark_Equivalence_Classes_xunitnet_FsCheck_Property-based_testing/packages/xunit.extensions.1.9.2/xunit.extensions.1.9.2.nupkg new file mode 100644 index 0000000..278df1f Binary files /dev/null and b/2015_02_19_Seemann_Mark_Equivalence_Classes_xunitnet_FsCheck_Property-based_testing/packages/xunit.extensions.1.9.2/xunit.extensions.1.9.2.nupkg differ