Re: SVN Not building?

Cory Foy <[email protected]> Thu, 28 Aug 2008 12:59:34 -0400
Newsgroups gmane.comp.windows.dotnet.nunit.devel
Message-ID <[email protected]>
This is a multi-part message in MIME format.
--------------080909060205030508000104
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit

Charlie Poole wrote:
 > The build-all target builds the current config for all targets.
 > So it's ignoring your setting of the target as mono-2.0 and
 > attempting to build debug for all the supported targets you
 > have installed.
 >
 > I'm guessing you meant to use
 >    nant mono-2.0 build
 >

Ah, thanks. Ok, here are the other files that need to be modified. 
Mostly missing references.

src/NUnitCore/core/nunit.core.build
src/ClientUtilities/util/nunit.util.build
src/GuiRunner/nunit-gui/nunit-gui.build
src/PNUnit/agent/pnunit-agent.build
src/PNUnit/launcher/pnunit-launcher.build
src/NUnitFramework/framework/nunit.framework.build
src/NUnitFramework/tests/nunit.framework.tests.build
src/NUnitFramework/tests/NullableTypesTests.cs

With these changes, everything builds. Almost everything was either 
missing references or missing includes. The only exception was the 
NullableTypesTests - that whole thing doesn't compile, complaining that:

[csc] 
/Users/foyc/Workspace/nunit/nunit20/src/NUnitFramework/tests/NullableTypesTests.cs(35,20): 
error CS1502: The best overloaded method match for 
`NUnit.Framework.Assert.Greater(int, int)' has some invalid arguments
                   [csc] 
/Users/foyc/Workspace/nunit/nunit20/build/mono/2.0/debug/lib/nunit.framework.dll 
(Location of the symbol related to previous error)
                   [csc] 
/Users/foyc/Workspace/nunit/nunit20/src/NUnitFramework/tests/NullableTypesTests.cs(35,20): 
error CS1503: Argument 1: Cannot convert type `int?' to `int'


and about 70 other similar errors. So I just added to the preprocess #if 
to ignore the tests if MONO.

Next up is to run the tests and see where we can get. ;)

-- 
Cory Foy
http://www.cornetdesign.com
http://www.agileflorida.com

--------------080909060205030508000104
Content-Type: text/xml; x-mac-type="0"; x-mac-creator="0";
	name="nunit.core.build"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline;
 filename="nunit.core.build"

<?xml version="1.0"?>
<project name="NUnitCore" default="build" basedir=".">

  <patternset id="source-files">
        <include name="AbstractTestCaseDecoration.cs"/>
        <include name="AssemblyInfo.cs"/>
        <include name="AssemblyHelper.cs"/>
        <include name="AssemblyReader.cs"/>
        <include name="AssemblyResolver.cs"/>
        <include name="CoreExtensions.cs"/>
        <include name="CultureDetector.cs"/>
        <include name="DirectorySwapper.cs"/>
        <include name="EventListenerTextWriter.cs"/>
        <include name="EventPump.cs"/>
        <include name="EventQueue.cs"/>
        <include name="ExpectedExceptionProcessor.cs"/>
        <include name="ExtensionHost.cs"/>
        <include name="ExtensionPoint.cs"/>
        <include name="IgnoreDecorator.cs"/>
        <include name="InvalidSuiteException.cs"/>
        <include name="InvalidTestFixtureException.cs"/>
        <include name="LegacySuite.cs"/>
        <include name="Log4NetCapture.cs"/>
        <include name="LogCapture.cs"/>
        <include name="MethodHelper.cs"/>
        <include name="NamespaceTreeBuilder.cs"/>
        <include name="NoTestFixturesException.cs"/>
        <include name="NTrace.cs"/>
        <include name="NullListener.cs"/>
        <include name="NUnitConfiguration.cs"/>
        <include name="NUnitException.cs"/>
        <include name="NUnitFramework.cs"/>
        <include name="NUnitTestFixture.cs"/>
        <include name="NUnitTestMethod.cs"/>
        <include name="ParameterizedTestMethodSuite.cs"/>
        <include name="PlatformHelper.cs"/>
        <include name="ProxyTestRunner.cs"/>
        <include name="QueuingEventListener.cs"/>
        <include name="Reflect.cs"/>
        <include name="RemoteTestRunner.cs"/>
        <include name="SetUpFixture.cs"/>
        <include name="SimpleTestRunner.cs"/>
        <include name="StringTextWriter.cs"/>
        <include name="SuiteBuilderAttribute.cs"/>
        <include name="TestBuilderAttribute.cs"/>
        <include name="TestCaseBuilder.cs"/>
        <include name="TestCaseBuilderAttribute.cs"/>
        <include name="TestContext.cs"/>
        <include name="TestDecoratorAttribute.cs"/>
        <include name="TestFixture.cs"/>
        <include name="TestFixtureBuilder.cs"/>
        <include name="TestMethod.cs"/>
        <include name="TestRunnerThread.cs"/>
        <include name="TestSuite.cs"/>
        <include name="TestSuiteBuilder.cs"/>
        <include name="TextCapture.cs"/>
        <include name="ThreadedTestRunner.cs"/>
        <include name="TypeHelper.cs"/>
        <include name="Builders/CombinatorialStrategy.cs"/>
        <include name="Builders/CombinatorialTestCaseProvider.cs"/>
        <include name="Builders/CombiningStrategy.cs"/>
        <include name="Builders/DataSourceProvider.cs"/>
        <include name="Builders/InlineDataPointProvider.cs"/>
        <include name="Builders/TestCaseFactoryProvider.cs"/>
        <include name="Builders/LegacySuiteBuilder.cs"/>
        <include name="Builders/NUnitTestCaseBuilder.cs"/>
        <include name="Builders/NUnitTestFixtureBuilder.cs"/>
        <include name="Builders/PairwiseStrategy.cs"/>
        <include name="Builders/ProviderCache.cs"/>
        <include name="Builders/ProviderInfo.cs"/>
        <include name="Builders/SequentialStrategy.cs"/>
        <include name="Builders/SetUpFixtureBuilder.cs"/>
        <include name="Builders/TestAssemblyBuilder.cs"/>
        <include name="Builders/TestCaseParameterProvider.cs"/>
        <include name="Builders/ParameterizedTestCaseBuilder.cs"/>
        <include name="Extensibility/DataPointProviders.cs"/>
        <include name="Extensibility/EventListenerCollection.cs"/>
        <include name="Extensibility/FrameworkRegistry.cs"/>
        <include name="Extensibility/SuiteBuilderCollection.cs"/>
        <include name="Extensibility/TestCaseProviders.cs"/>
        <include name="Extensibility/TestCaseBuilderCollection.cs"/>
        <include name="Extensibility/TestDecoratorCollection.cs"/>
  </patternset>

  <target name="build">
    <csc target="library" 
        output="${current.build.dir}/nunit.core.dll"
        debug="${build.debug}" 
        define="${build.defines}">
      <sources>
        <patternset refid="source-files"/>
        <include name="../../GeneratedAssemblyInfo.cs"/>
      </sources>
      <nowarn>
        <warning number="618,1699" if="${runtime.version=='2.0'}"/>
      </nowarn>
      <references>
	<include name="System.Configuration.dll"/>
        <include name="${current.build.dir}/nunit.core.interfaces.dll"/>
      </references>
    </csc>
  </target>

  <target name="package">
    <copy todir="${package.src.dir}/NUnitCore/core">
      <fileset>
        <patternset refid="source-files"/>
        <include name="results.xsd"/> <!-- Need to check this -->
        <include name="summary.xslt"/>    <!-- and this -->
        <include name="nunit.core.build"/>
      </fileset>
    </copy>
  </target>

</project>

--------------080909060205030508000104
Content-Type: text/xml; x-mac-type="0"; x-mac-creator="0";
	name="nunit.util.build"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline;
 filename="nunit.util.build"

<?xml version="1.0"?>
<project name="NUnitUtil" default="build" basedir=".">

  <patternset id="source-files">
        <include name="AggregatingTestRunner.cs"/>
        <include name="AssemblyInfo.cs"/>
        <include name="AssemblyList.cs"/>
        <include name="AssemblyWatcher.cs"/>
        <include name="CategoryExpression.cs"/>
        <include name="CategoryManager.cs"/>
        <include name="CommandLineOptions.cs"/>
        <include name="ConsoleWriter.cs"/>
        <include name="ISettings.cs"/>
        <include name="ITestEvents.cs"/>
        <include name="ITestLoader.cs"/>
        <include name="MemorySettingsStorage.cs"/>
        <include name="MultipleTestDomainRunner.cs"/>
        <include name="NUnitProject.cs"/>
        <include name="NUnitRegistry.cs"/>
        <include name="PathUtils.cs"/>
        <include name="ProcessRunner.cs"/>
        <include name="ProjectConfig.cs"/>
        <include name="ProjectConfigCollection.cs"/>
        <include name="ProjectFormatException.cs"/>
        <include name="RecentFileEntry.cs"/>
        <include name="RecentFiles.cs"/>
        <include name="RecentFilesCollection.cs"/>
        <include name="RegistrySettingsStorage.cs"/>
        <include name="RemoteTestAgent.cs"/>
        <include name="ResultSummarizer.cs"/>
        <include name="ServerBase.cs"/>
        <include name="ServerUtilities.cs"/>
        <include name="Services.cs"/>
        <include name="SettingsGroup.cs"/>
        <include name="SettingsStorage.cs"/>
        <include name="StackTraceFilter.cs"/>
        <include name="TestAgent.cs"/>
        <include name="TestDomain.cs"/>
        <include name="TestEventArgs.cs"/>
        <include name="TestEventDispatcher.cs"/>
        <include name="TestExceptionHandler.cs"/>
        <include name="TestLoader.cs"/>
        <include name="TestObserver.cs"/>
        <include name="TestResultItem.cs"/>
        <include name="TestRunnerFactory.cs"/>
        <include name="TestServer.cs"/>
        <include name="VSProject.cs"/>
        <include name="VSProjectConfig.cs"/>
        <include name="VSProjectConfigCollection.cs"/>
        <include name="XmlResultTransform.cs"/>
        <include name="XmlResultVisitor.cs"/>
        <include name="XmlSettingsStorage.cs"/>
        <include name="Extensibility/IProjectConverter.cs"/>
        <include name="Extensibility/ProjectConverterCollection.cs"/>
        <include name="ProjectConverters/VisualStudioConverter.cs"/>
        <include name="Services/AddinManager.cs"/>
        <include name="Services/AddinRegistry.cs"/>
        <include name="Services/ClientExtensions.cs"/>
        <include name="Services/DomainManager.cs"/>
        <include name="Services/ProjectService.cs"/>
        <include name="Services/RecentFilesService.cs"/>
        <include name="Services/ServiceManager.cs"/>
        <include name="Services/SettingsService.cs"/>
        <include name="Services/TestAgency.cs"/>
  </patternset>

  <patternset id="resource-files">
    <include name="Transform.resx"/>
  </patternset>

  <target name="build">
    <csc target="library" 
        output="${current.build.dir}/nunit.util.dll"
        debug="${build.debug}" define="${build.defines}">
      <sources>
        <patternset refid="source-files"/>
        <include name="../../GeneratedAssemblyInfo.cs"/>
      </sources>
      <nowarn>
        <warning number="618"/>
        <warning number="1699" if="${runtime.version=='2.0'}"/>
      </nowarn>
      <resources prefix="NUnit.Util">
        <patternset refid="resource-files"/>
      </resources>
      <references>
        <include name="System.Runtime.Remoting.dll"/>
        <include name="System.Configuration.dll"/>
	<include name="${current.build.dir}/nunit.core.interfaces.dll"/>
        <include name="${current.build.dir}/nunit.core.dll"/>
        <include name="${current.lib.dir}/nunit.framework.dll"/>
      </references>
    </csc>
  </target>
  
  <target name="package">
    <copy todir="${package.src.dir}/ClientUtilities/util">
      <fileset>
        <patternset refid="source-files"/>
        <patternset refid="resource-files"/>
        <include name="nunit.util.build"/>
      </fileset>
    </copy>
  </target>

</project>

--------------080909060205030508000104
Content-Type: text/xml; x-mac-type="0"; x-mac-creator="0";
	name="nunit-gui.build"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline;
 filename="nunit-gui.build"

<?xml version="1.0"?>
<project name="NUnitGuiRunner" default="build" basedir=".">

  <patternset id="source-files">
        <include name="AboutBox.cs"/>
        <include name="AddinDialog.cs"/>
        <include name="AppEntry.cs"/>
        <include name="AssemblyInfo.cs"/>
        <include name="DetailResults.cs"/>
        <include name="ExceptionDetailsForm.cs"/>
        <include name="GuiOptions.cs"/>
        <include name="NUnitForm.cs"/>
        <include name="OptionsDialog.cs"/>
        <include name="ProjectEditor.cs"/>
        <include name="SettingsPages/AdvancedLoaderSettingsPage.cs"/>
        <include name="SettingsPages/AssemblyReloadSettingsPage.cs"/>
        <include name="SettingsPages/GuiSettingsPage.cs"/>
        <include name="SettingsPages/TestLoaderSettingsPage.cs"/>
        <include name="SettingsPages/TestResultSettingsPage.cs"/>
        <include name="SettingsPages/TreeSettingsPage.cs"/>
        <include name="SettingsPages/VisualStudioSettingsPage.cs"/>
  </patternset>

  <patternset id="resource-files">
        <include name="AboutBox.resx"/>
        <include name="AddinDialog.resx"/>
        <include name="ExceptionDetailsForm.resx"/>
        <include name="NUnitForm.resx"/>
        <include name="OptionsDialog.resx"/>
        <include name="ProjectEditor.resx"/>
        <include name="App.ico"/>
        <include name="Logo.ico"/>
        <include name="SettingsPages/AdvancedLoaderSettingsPage.resx"/>
        <include name="SettingsPages/AssemblyReloadSettingsPage.resx"/>
        <include name="SettingsPages/GuiSettingsPage.resx"/>
        <include name="SettingsPages/TestLoaderSettingsPage.resx"/>
        <include name="SettingsPages/TestResultSettingsPage.resx"/>
        <include name="SettingsPages/TreeSettingsPage.resx"/>
        <include name="SettingsPages/VisualStudioSettingsPage.resx"/>
  </patternset>

  <target name="build">
    <csc target="library" 
       output="${current.build.dir}/nunit-gui-runner.dll" 
       win32icon="Logo.ico" debug="${build.debug}"
       define="${build.defines}">
      <sources>
        <patternset refid="source-files"/>
        <include name="../../GeneratedAssemblyInfo.cs"/>
      </sources>
      <nowarn>
        <warning number="618,1699" if="${runtime.version=='2.0'}"/>
      </nowarn>
      <resources>
        <patternset refid="resource-files"/>
      </resources>
      <references>
        <include name="System.Windows.Forms.dll"/>
        <include name="System.Drawing.dll"/>
        <include name="System.Configuration.dll"/>
	<include name="${current.build.dir}/nunit.core.dll"/>
        <include name="${current.build.dir}/nunit.core.interfaces.dll"/>
        <include name="${current.build.dir}/nunit.util.dll"/>
        <include name="${current.build.dir}/nunit.uikit.dll"/>
        <include name="${current.build.dir}/nunit.core.dll"/>
        <include name="${current.lib.dir}/nunit.framework.dll"/>
      </references>
    </csc>
  </target>

  <target name="package">
    <copy todir="${package.src.dir}/GuiRunner/nunit-gui">
      <fileset>
        <patternset refid="source-files"/>
        <patternset refid="resource-files"/>
        <include name="nunit-gui.build"/>
      </fileset>
    </copy>
  </target>

</project>

--------------080909060205030508000104
Content-Type: text/xml; x-mac-type="0"; x-mac-creator="0";
	name="pnunit-agent.build"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline;
 filename="pnunit-agent.build"

<?xml version="1.0"?>
<project name="PNUnitAgent" default="build" basedir=".">

  <patternset id="source-files">
        <include name="Agent.cs"/>
        <include name="AgentConfig.cs"/>
        <include name="AssemblyInfo.cs"/>
        <include name="PNUnitTestRunner.cs"/>
  </patternset>

  <target name="build">
    <csc target="exe"
        output="${current.build.dir}/pnunit-agent.exe"
        debug="${build.debug}" 
        define="${build.defines}">
      <sources basedir=".">
        <patternset refid="source-files"/>
      </sources>
      <references>
        <include name="System.Runtime.Remoting.dll"/>
	<include name="${current.lib.dir}/pnunit.framework.dll"/>
        <include name="${current.build.dir}/nunit.core.dll"/>
        <include name="${current.build.dir}/nunit.core.interfaces.dll"/>
        <include name="${current.build.dir}/nunit.util.dll"/>
        <include name="${current.build.dir}/log4net.dll"/>
      </references>
    </csc>
  </target>

  <target name="package">
    <copy todir="${package.src.dir}/PNUnit/agent">
      <fileset>
        <patternset refid="source-files"/>
        <include name="App.ico"/>
        <include name="pnunit-agent.build"/>
      </fileset>
    </copy>
  </target>

</project>

--------------080909060205030508000104
Content-Type: text/xml; x-mac-type="0"; x-mac-creator="0";
	name="pnunit-launcher.build"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline;
 filename="pnunit-launcher.build"

<?xml version="1.0"?>
<project name="PNUnitLauncher" default="build" basedir=".">

  <patternset id="source-files">
        <include name="AssemblyInfo.cs"/>
        <include name="Barrier.cs"/>
        <include name="launcher.cs"/>
        <include name="Runner.cs"/>
        <include name="TestConf.cs"/>
  </patternset>

  <target name="build">
    <csc target="exe"
        output="${current.build.dir}/pnunit-launcher.exe"
        debug="${build.debug}" 
        define="${build.defines}">
      <sources basedir=".">
        <patternset refid="source-files"/>
      </sources>
      <references>
	<include name="System.Runtime.Remoting.dll"/>
        <include name="${current.lib.dir}/pnunit.framework.dll"/>
        <include name="${current.build.dir}/nunit.core.dll"/>
        <include name="${current.build.dir}/nunit.core.interfaces.dll"/>
        <include name="${current.build.dir}/log4net.dll"/>
      </references>
    </csc>
  </target>

  <target name="package">
    <copy todir="${package.src.dir}/PNUnit/launcher">
      <fileset>
        <patternset refid="source-files"/>
        <include name="App.ico"/>
        <include name="pnunit-launcher.build"/>
      </fileset>
    </copy>
  </target>

</project>

--------------080909060205030508000104
Content-Type: text/xml; x-mac-type="0"; x-mac-creator="0";
	name="nunit.framework.build"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline;
 filename="nunit.framework.build"

<?xml version="1.0"?>
<project name="NUnitFramework" default="build" basedir=".">

  <patternset id="source-files">
        <include name="Constraints/BinaryOperations.cs"/>
        <include name="Constraints/CollectionConstraints.cs"/>
        <include name="Constraints/ComparisonConstraints.cs"/>
        <include name="Constraints/Constraint.cs"/>
        <include name="Constraints/ConstraintBuilder.cs"/>
        <include name="Constraints/ConstraintFactory.cs"/>
        <include name="Constraints/ConstraintModifier.cs"/>
        <include name="Constraints/ConstraintOperators.cs"/>
        <include name="Constraints/ContainsConstraint.cs"/>
        <include name="Constraints/DirectoryConstraints.cs"/>
        <include name="Constraints/EmptyConstraint.cs"/>
        <include name="Constraints/EqualConstraint.cs"/>
        <include name="Constraints/IConstraint.cs"/>
        <include name="Constraints/MessageWriter.cs"/>
        <include name="Constraints/MsgUtils.cs"/>
        <include name="Constraints/Numerics.cs"/>
        <include name="Constraints/PathConstraints.cs"/>
        <include name="Constraints/PrefixConstraints.cs"/>
        <include name="Constraints/PropertyConstraint.cs"/>
        <include name="Constraints/RangeConstraint.cs"/>
        <include name="Constraints/SameAsConstraint.cs"/>
        <include name="Constraints/StringConstraints.cs"/>
        <include name="Constraints/ThrowsConstraint.cs"/>
        <include name="Constraints/TypeConstraints.cs"/>
        <include name="AssemblyInfo.cs"/>
        <include name="Assert.cs"/>
        <include name="AssertionException.cs"/>
        <include name="AssertionHelper.cs"/>
        <include name="CategoryAttribute.cs"/>
        <include name="Catch.cs"/>
        <include name="CollectionAssert.cs"/>
        <include name="DataSourceAttribute.cs"/>
        <include name="DescriptionAttribute.cs"/>
        <include name="DirectoryAssert.cs"/>
        <include name="ExpectedExceptionAttribute.cs"/>
        <include name="ExplicitAttribute.cs"/>
        <include name="FactoriesAttribute.cs"/>
        <include name="FileAssert.cs"/>
        <include name="GlobalSettings.cs"/>
        <include name="Has.cs"/>
        <include name="IExpectException.cs"/>
        <include name="IgnoreAttribute.cs"/>
        <include name="IgnoreException.cs"/>
        <include name="IncludeExcludeAttributes.cs"/>
        <include name="InconclusiveException.cs"/>
        <include name="Is.cs"/>
	<include name="ITestCaseData.cs"/>
        <include name="JoinTypeAttributes.cs"/>
        <include name="List.cs"/>
        <include name="ListMapper.cs"/>
        <include name="PropertyAttribute.cs"/>
        <include name="RandomAttribute.cs"/>
        <include name="RangeAttribute.cs"/>
        <include name="RequiredAddinAttribute.cs"/>
        <include name="SetCultureAttribute.cs"/>
        <include name="SetUpAttribute.cs"/>
        <include name="SetUpFixtureAttribute.cs"/>
        <include name="StringAssert.cs"/>
        <include name="SuccessException.cs"/>
        <include name="SuiteAttribute.cs"/>
        <include name="TearDownAttribute.cs"/>
        <include name="TestAttribute.cs"/>
        <include name="TestCaseAttribute.cs"/>
        <include name="TestCaseData.cs"/>
	<include name="TestCasesAttribute.cs"/>
        <include name="TestFixtureAttribute.cs"/>
        <include name="TestFixtureSetUpAttribute.cs"/>
        <include name="TestFixtureTearDownAttribute.cs"/>
        <include name="Text.cs"/>
        <include name="TextMessageWriter.cs"/>
        <include name="Throws.cs"/>
        <include name="ValuesAttribute.cs"/>
  </patternset>

  <target name="build">
    <csc target="library"
        output="${current.lib.dir}/nunit.framework.dll"
        doc="${current.lib.dir}/nunit.framework.xml"
        debug="${build.debug}" 
        define="${build.defines}">
      <nowarn>
        <warning number="618,672"/>
        <warning number="1699" if="${runtime.version=='2.0'}"/>
      </nowarn>
      <sources basedir=".">
        <patternset refid="source-files"/>
        <include name="../../GeneratedAssemblyInfo.cs" />
      </sources>
    </csc>

    <!-- Needed locally by some NUnit tests -->
    <copy file="${current.lib.dir}/nunit.framework.dll"
      todir="${current.test.dir}"/>
  </target>

  <target name="package">
    <copy todir="${package.src.dir}/NUnitFramework/framework">
      <fileset>
        <patternset refid="source-files"/>
        <include name="nunit.framework.build"/>
      </fileset>
    </copy>
  </target>

</project>

--------------080909060205030508000104
Content-Type: text/xml; x-mac-type="0"; x-mac-creator="0";
	name="nunit.framework.tests.build"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline;
 filename="nunit.framework.tests.build"

<?xml version="1.0"?>
<project name="NUnitFrameworkTests" default="build" basedir=".">

  <patternset id="source-files">
    <include name="Constraints/AndTest.cs"/>
    <include name="Constraints/CollectionConstraintTests.cs"/>
    <include name="Constraints/ComparisonConstraintTests.cs"/>
    <include name="Constraints/ConstraintTestBase.cs"/>
    <include name="Constraints/EmptyTest.cs"/>
    <include name="Constraints/EqualTest.cs"/>
    <include name="Constraints/NotTest.cs"/>
    <include name="Constraints/OrTest.cs"/>
    <include name="Constraints/MsgUtilTests.cs"/>
    <include name="Constraints/PathConstraintTests.cs"/>
    <include name="Constraints/SameAsTest.cs"/>
    <include name="Constraints/StringConstraintTests.cs"/>
    <include name="Constraints/TypeConstraintTests.cs"/>
    <include name="Syntax/CollectionTests.cs"/>
    <include name="Syntax/ComparisonTests.cs"/>
    <include name="Syntax/EqualityTests.cs"/>
    <include name="Syntax/OperatorOverrides.cs"/>
    <include name="Syntax/OperatorTests.cs"/>
    <include name="Syntax/PathConstraintTests.cs"/>
    <include name="Syntax/PropertyTests.cs"/>
    <include name="Syntax/SimpleConstraints.cs"/>
    <include name="Syntax/StringConstraints.cs"/>
    <include name="Syntax/SyntaxTest.cs"/>
    <include name="Syntax/TypeConstraints.cs"/>
    <include name="ArrayEqualsFailureMessageFixture.cs"/>
    <include name="ArrayEqualsFixture.cs"/>
    <include name="ArrayNotEqualFixture.cs"/>
    <include name="AssertSyntaxTests.cs"/>
    <include name="AssertThrowsTests.cs"/>
    <include name="CollectionAssertTest.cs"/>
    <include name="CollectionAdapter.cs"/>
    <include name="ConditionAssertTests.cs"/>
    <include name="DirectoryAssertTests.cs"/>
    <include name="EqualsFixture.cs"/>
    <include name="FileAssertTests.cs"/>
    <include name="GreaterEqualFixture.cs"/>
    <include name="GreaterFixture.cs"/>
    <include name="LessEqualFixture.cs"/>
    <include name="LessFixture.cs"/>
    <include name="ListContentsTests.cs"/>
    <include name="MessageChecker.cs"/>
    <include name="NotEqualFixture.cs"/>
    <include name="NotSameFixture.cs"/>
    <include name="NullableTypesTests.cs"/>
    <include name="RangeTests.cs"/>
    <include name="SameFixture.cs"/>
    <include name="StringAssertTests.cs"/>
    <include name="TestFixtureAttributeTests.cs"/>
    <include name="TextMessageWriterTests.cs"/>
    <include name="TypeAssertTest.cs"/>
  </patternset>

  <patternset id="resource-files">
        <include name="TestImage1.jpg"/>
        <include name="TestImage2.jpg"/>
        <include name="TestText1.txt"/>
        <include name="TestText2.txt"/>
  </patternset>

  <target name="build">
    <csc target="library" 
        output="${current.test.dir}/nunit.framework.tests.dll"
        debug="${build.debug}" 
        define="${build.defines}">
      <nowarn>
        <warning number="618,672"/>
      </nowarn>
      <sources>
        <patternset refid="source-files"/>
        <include name="../../GeneratedAssemblyInfo.cs"/>
      </sources>
      <resources prefix="NUnit.Framework.Tests">
        <patternset refid="resource-files"/>
      </resources>
      <references>
        <include name="${current.lib.dir}/nunit.framework.dll"/>
        <include name="System.Data.dll"/>
        <include name="System.Drawing.dll"/>
      </references>
    </csc>
  </target>

  <target name="package">
    <copy todir="${package.src.dir}/NUnitFramework/tests">
      <fileset>
        <patternset refid="source-files"/>
        <patternset refid="resource-files"/>
        <include name="nunit.framework.tests.build"/>
      </fileset>
    </copy>
  </target>

</project>

--------------080909060205030508000104
Content-Type: text/plain; x-mac-type="0"; x-mac-creator="0";
	name="NullableTypesTests.cs"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline;
 filename="NullableTypesTests.cs"

using System;

namespace NUnit.Framework.Tests
{
#if (NET_2_0 && !MONO) 
    [TestFixture, Category("Generics")]
    public class NullableTypesTests
    {
        [Test]
        public void CanTestForNull()
        {
            int? nullInt = null;
            int? five = 5;

            Assert.IsNull(nullInt);
            Assert.IsNotNull(five);
            Assert.That(nullInt, Is.Null);
            Assert.That(five, Is.Not.Null);
        }

        [Test]
        public void CanCompareNullableInts()
        {
            int? five = 5;
            int? answer = 2 + 3;

            Assert.AreEqual(five, answer);
            Assert.AreEqual(five, 5);
            Assert.AreEqual(5, five);

            Assert.That(five, Is.EqualTo(answer));
            Assert.That(five, Is.EqualTo(5));
            Assert.That(5, Is.EqualTo(five));

            Assert.Greater(five, 3);
            Assert.GreaterOrEqual(five, 5);
            Assert.Less(3, five);
            Assert.LessOrEqual(5, five);

            Assert.That(five, Is.GreaterThan(3));
            Assert.That(five, Is.GreaterThanOrEqualTo(5));
            Assert.That(3, Is.LessThan(five));
            Assert.That(5, Is.LessThanOrEqualTo(five));
        }

        [Test]
        public void CanCompareNullableDoubles()
        {
            double? five = 5.0;
            double? answer = 2.0 + 3.0;

            Assert.AreEqual(five, answer);
            Assert.AreEqual(five, 5.0);
            Assert.AreEqual(5.0, five);

            Assert.That(five, Is.EqualTo(answer));
            Assert.That(five, Is.EqualTo(5.0));
            Assert.That(5.0, Is.EqualTo(five));

            Assert.Greater(five, 3.0);
            Assert.GreaterOrEqual(five, 5.0);
            Assert.Less(3.0, five);
            Assert.LessOrEqual(5.0, five);

            Assert.That(five, Is.GreaterThan(3.0));
            Assert.That(five, Is.GreaterThanOrEqualTo(5.0));
            Assert.That(3.0, Is.LessThan(five));
            Assert.That(5.0, Is.LessThanOrEqualTo(five));
        }

        [Test]
        public void CanTestForNaN()
        {
            double? anNaN = Double.NaN;
            Assert.IsNaN(anNaN);
            Assert.That(anNaN, Is.NaN);
        }

        [Test]
        public void CanCompareNullableDecimals()
        {
            decimal? five = 5m;
            decimal? answer = 2m + 3m;

            Assert.AreEqual(five, answer);
            Assert.AreEqual(five, 5m);
            Assert.AreEqual(5m, five);

            Assert.That(five, Is.EqualTo(answer));
            Assert.That(five, Is.EqualTo(5m));
            Assert.That(5m, Is.EqualTo(five));

            Assert.Greater(five, 3m);
            Assert.GreaterOrEqual(five, 5m);
            Assert.Less(3m, five);
            Assert.LessOrEqual(5m, five);

            Assert.That(five, Is.GreaterThan(3m));
            Assert.That(five, Is.GreaterThanOrEqualTo(5m));
            Assert.That(3m, Is.LessThan(five));
            Assert.That(5m, Is.LessThanOrEqualTo(five));
        }

        [Test]
        public void CanCompareWithTolerance()
        {
            double? five = 5.0;

            Assert.AreEqual(5.0000001, five, .0001); 
            Assert.That( five, Is.EqualTo(5.0000001).Within(.0001));

            float? three = 3.0f;

            Assert.AreEqual(3.00001f, three, .001);
            Assert.That( three, Is.EqualTo(3.00001f).Within(.001));
        }

        private enum Colors
        {
            Red,
            Blue,
            Green
        }

        [Test]
        public void CanCompareNullableEnums()
        {
            Colors? color = Colors.Red;
            Colors? other = Colors.Red;

            Assert.AreEqual(color, other);
            Assert.AreEqual(color, Colors.Red);
            Assert.AreEqual(Colors.Red, color);
        }

        [Test]
        public void CanCompareNullableMixedNumerics()
        {
            int? int5 = 5;
            double? double5 = 5.0;
            decimal? decimal5 = 5.00m;

            Assert.AreEqual(int5, double5);
            Assert.AreEqual(int5, decimal5);
            Assert.AreEqual(double5, int5);
            Assert.AreEqual(double5, decimal5);
            Assert.AreEqual(decimal5, int5);
            Assert.AreEqual(decimal5, double5);

            Assert.That(int5, Is.EqualTo(double5));
            Assert.That(int5, Is.EqualTo(decimal5));
            Assert.That(double5, Is.EqualTo(int5));
            Assert.That(double5, Is.EqualTo(decimal5));
            Assert.That(decimal5, Is.EqualTo(int5));
            Assert.That(decimal5, Is.EqualTo(double5));

            Assert.AreEqual(5, double5);
            Assert.AreEqual(5, decimal5);
            Assert.AreEqual(5.0, int5);
            Assert.AreEqual(5.0, decimal5);
            Assert.AreEqual(5m, int5);
            Assert.AreEqual(5m, double5);

            Assert.That(5, Is.EqualTo(double5));
            Assert.That(5, Is.EqualTo(decimal5));
            Assert.That(5.0, Is.EqualTo(int5));
            Assert.That(5.0, Is.EqualTo(decimal5));
            Assert.That(5m, Is.EqualTo(int5));
            Assert.That(5m, Is.EqualTo(double5));

            Assert.AreEqual(double5, 5);
            Assert.AreEqual(decimal5, 5);
            Assert.AreEqual(int5, 5.0);
            Assert.AreEqual(decimal5, 5.0);
            Assert.AreEqual(int5, 5m);
            Assert.AreEqual(double5, 5m);

            Assert.That(double5, Is.EqualTo(5));
            Assert.That(decimal5, Is.EqualTo(5));
            Assert.That(int5, Is.EqualTo(5.0));
            Assert.That(decimal5, Is.EqualTo(5.0));
            Assert.That(int5, Is.EqualTo(5m));
            Assert.That(double5, Is.EqualTo(5m));

            Assert.Greater(int5, 3.0);
            Assert.Greater(int5, 3m);
            Assert.Greater(double5, 3);
            Assert.Greater(double5, 3m);
            Assert.Greater(decimal5, 3);
            Assert.Greater(decimal5, 3.0);

            Assert.That(int5, Is.GreaterThan(3.0));
            Assert.That(int5, Is.GreaterThan(3m));
            Assert.That(double5, Is.GreaterThan(3));
            Assert.That(double5, Is.GreaterThan(3m));
            Assert.That(decimal5, Is.GreaterThan(3));
            Assert.That(decimal5, Is.GreaterThan(3.0));

            Assert.Less(3.0, int5);
            Assert.Less(3m, int5);
            Assert.Less(3, double5);
            Assert.Less(3m, double5);
            Assert.Less(3, decimal5);
            Assert.Less(3.0, decimal5);

            Assert.That(3.0, Is.LessThan(int5));
            Assert.That(3m, Is.LessThan(int5));
            Assert.That(3, Is.LessThan(double5));
            Assert.That(3m, Is.LessThan(double5));
            Assert.That(3, Is.LessThan(decimal5));
            Assert.That(3.0, Is.LessThan(decimal5));
        }

        private struct MyStruct
        {
            int i;
            string s;

            public MyStruct(int i, string s)
            {
                this.i = i;
                this.s = s;
            }
        }

        [Test]
        public void CanCompareNullableStructs()
        {
            MyStruct struct1 = new MyStruct(5, "Hello");
            MyStruct struct2 = new MyStruct(5, "Hello");
            Nullable<MyStruct> one = new MyStruct(5, "Hello");
            Nullable<MyStruct> two = new MyStruct(5, "Hello");

            Assert.AreEqual(struct1, struct2); // Control
            Assert.AreEqual(one, two);
            Assert.AreEqual(one, struct1);
            Assert.AreEqual(struct2, two);
        }
    }
#endif
}

--------------080909060205030508000104
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
--------------080909060205030508000104
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
nunit-developer mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/nunit-developer

--------------080909060205030508000104--