summaryrefslogtreecommitdiff
path: root/Source/UnitTests
Commit message (Collapse)AuthorAge
* Merging complete. Everything looks good *crosses fingers*Gravatar Checkmate502016-06-06
|
* renamed fp32 to BigFloatGravatar Dietrich2015-04-20
|
* adding references to the floating point type wherever references to the real ↵Gravatar Dietrich2015-04-17
| | | | type exist. This remains a work in progress
* Fix bug in BigDec.FloorCeiling() which gave the wrong answers forGravatar Dan Liew2015-03-10
| | | | | negative numbers. I have decided that this method will floor towards negative infinity rather than zero to match SMT-LIBv2's to_int function.
* Protect Bitvector field of BvExtractExpr when it is immutable.Gravatar Dan Liew2015-02-12
|
* Protect E0 and E1 in BvConcatExpr if Expr is immutable.Gravatar Dan Liew2015-02-12
|
* Protect the Args field of NAryExpr when it is immutable.Gravatar Dan Liew2015-02-12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Made changing the reference throw an exception if the NAryExpr was constructed as immutable * Changed the type of NAryExpr.Args to be IList<Expr> rather than List<Expr> so that when the NAryExpr is immutable I can return ``_Args.AsReadOnly()`` (instead of ``_Args``) which returns a read only wrapper around the List<Expr> so that clients cannot change the list. I came across two problems * Making this change required changing types all over the place (from List<Expr> to IList<Expr>). I feel that changes are extensive enough that there's a good chance that out of tree clients using Boogie's libraries might break. I've waited for a code review but this didn't happen so I'm committing anyway. * I came across something that looks like bad design of the IAppliable interface which potentially breaks immutability enforcement. I've left this as a "FIXME" in this. Here's the problematic method. ``` Type Typecheck(ref List<Expr>/*!*/ args, out TypeParamInstantiation/*!*/ tpInstantiation, TypecheckingContext/*!*/ tc); ``` It potentially allows the instance of the args to be changed which seems very suspect.
* Backed out changeset ed4196d6fe50Gravatar Dan Liew2015-01-29
| | | | | | Compilation does not depend NUnit.Runners so it should not be a required package. Instead users should install it manually as described in Source/UnitTests/README.md
* Make NUnit.Runners a require NuGet package again. This is anGravatar Dan Liew2015-01-29
| | | | | | attempt to unbreak the Jenkins build. I don't think doing this is ideal. The package isn't required to run tests, it's only required if you want to run them on the command line.
* Tweak the unit test documentation on Visual studio.Gravatar Dan Liew2015-01-29
|
* Try to fix the "out-of-the-box" build of Boogie under Visual Studio. It turnsGravatar Dan Liew2015-01-29
| | | | | | | | | | | | out we had the repository set up in "MSBuild-Integrated package" mode[1] (missing packages won't fetched unless the user explicitly allows it for the solution) but what we want is "Automatic package restore" (provided NuGet is setup correctly automatically fetch the missing packages). I've followed the migration guide [2] and it appears that now Visual Studio will try to automatically fetch after making this change. [1] http://docs.nuget.org/consume/package-restore [2] http://docs.nuget.org/Consume/Package-Restore/Migrating-to-Automatic-Package-Restore
* Improve documentation on testing.Gravatar Dan Liew2015-01-29
|
* Add unit tests to check that ComputeHashCode() and GetHashCode() agreeGravatar Dan Liew2015-01-29
| | | | for BvExtractExpr, BvConcatExpr and OldExpr.
* Add unit tests to check that ComputeHashCode() and GetHashCode() agreeGravatar Dan Liew2015-01-29
| | | | for LiteralExpr, IdentifierExpr and NAryExpr.
* Protect the body of ForAllExpr, ExistsExpr and LambdaExpr when theyGravatar Dan Liew2015-01-29
| | | | are immutable. Add unit tests to check this.
* Fix ForAllExpr, ExistsExpr and LambdaExpr constructors so it is possibleGravatar Dan Liew2015-01-29
| | | | to set them as immutable (not currently enforced for these Expr types).
* Protect the NAryExpr.Fun field when the NAryExpr is immutable.Gravatar Dan Liew2015-01-29
| | | | | Add a unit test for this. We need to protect the Args field too but that is going to be much harder to enforce.
* Protect the Expr field of OldExpr if it is immutable. Add unit testGravatar Dan Liew2015-01-29
| | | | to check this is being enforced.
* Add some unit tests to check the enforcement of Expr immutability.Gravatar Dan Liew2015-01-29
| | | | | | | For IdentifierExpr and the Type field of Expr. There are lots of places where it still isn't enforced but hopefully we'll fix those in due time.
* Add unit test to catch another bug in Boogie where FunctionCall ShallowTypeGravatar Dan Liew2014-11-25
| | | | | | is not correctly set. This is related to the bug fixed in cea703affa29. That commit fixed the ShallowType when it was set using the constructor that takes a Function but the parser uses the other constructor which has the same bug.
* Added a unit test to catch a bug in Boogie where a NAryExpr.ShallowTypeGravatar Dan Liew2014-11-25
| | | | fails when the Function is a FunctionCall
* Change the ToolsVersion attribute of the Project tag in the recentlyGravatar Dan Liew2014-11-19
| | | | | | | added unit tests csproj files from 12.0 to 4.0. This done so that Monodevelop 5.0.1 can import these projects (it can't handle the newer ToolsVersion). This didn't seem to break anything in Visual Studio 2013
* Make run-unittests.py executable under Linux/OSX. ThisGravatar Dan Liew2014-11-17
| | | | | required changing the line endings so that it uses unix line endings.
* Introduce unit tests which use NUnit. NUnit is now a dependencyGravatar Dan Liew2014-11-17
so developers need to install it via NuGet. There aren't many tests yet. Just a few for Core and Basetypes but hopefully more will be added in the future. More information can be found in Source/UnitTests/README.md