├── ExcelMapper.build ├── ExcelMapper.snk ├── Readme.txt ├── go.bat ├── lib ├── ExcelToDTOMapper.DTO.dll ├── NUnit │ ├── nunit.framework.dll │ ├── nunit.framework.extensions.dll │ └── nunit.framework.xml ├── RhinoMocks │ ├── Rhino.Mocks.dll │ └── Rhino.Mocks.xml ├── RunTimeCodeGenerator │ ├── RunTimeCodeGenerator.dll │ └── RunTimeCodeGenerator.pdb ├── ServiceLocator │ ├── Microsoft.Practices.ServiceLocation.XML │ └── Microsoft.Practices.ServiceLocation.dll └── StructureMap │ ├── StructureMap.AutoMocking.dll │ ├── StructureMap.AutoMocking.xml │ ├── StructureMap.dll │ └── StructureMap.xml ├── license.txt ├── release ├── excelmapper.zip └── unmerged-excelmapper.zip ├── src ├── BuildDTOsFromExcel.Tests │ ├── BuildDTOsFromExcel.Tests.csproj │ ├── EngineTests.cs │ ├── ExtensionTests.cs │ ├── FileService │ │ ├── FileParserTests.cs │ │ └── FileSystemServiceTests.cs │ ├── Properties │ │ └── AssemblyInfo.cs │ └── TestDirectory │ │ ├── File1.txt │ │ ├── File2.txt │ │ ├── Roles.xlsx │ │ └── Users.xlsx ├── BuildDTOsFromExcel │ ├── BuildDTOsFromExcel.csproj │ ├── Engine.cs │ ├── Extensions.cs │ ├── FileService │ │ ├── FileParser.cs │ │ ├── FileSystemService.cs │ │ ├── IFileParser.cs │ │ └── IFileSystemService.cs │ ├── IEngine.cs │ ├── Program.cs │ └── Properties │ │ └── AssemblyInfo.cs ├── ExcelMapper.Tests │ ├── DTO │ │ └── User.cs │ ├── Excel │ │ ├── UsersXls.xls │ │ └── UsersXlsx.xlsx │ ├── ExcelMapper.Tests.csproj │ ├── ExcelToDTOMapperTests.cs │ ├── Properties │ │ └── AssemblyInfo.cs │ ├── Repository │ │ ├── Connection │ │ │ ├── ConnectionStringTests.cs │ │ │ └── ConnectionTests.cs │ │ ├── ExcelRepositoryTests.cs │ │ ├── Extensions │ │ │ └── DataReaderExtensionTests.cs │ │ └── OleDBDataProviderTests.cs │ ├── RunTimCodeGeneratorLoggingConfig.xml │ ├── SystemTest.cs │ └── TestData.cs ├── ExcelMapper.sln ├── ExcelMapper │ ├── Configuration │ │ ├── BootStrapper.cs │ │ ├── ExcelMapper.cs │ │ ├── ExcelMapperRegistry.cs │ │ ├── FileConfiguration.cs │ │ └── StructureMapServiceLocator.cs │ ├── ExcelMapper.csproj │ ├── ExcelMapper.snk │ ├── ExcelToDTOMapper.cs │ ├── IExcelToDTOMapper.cs │ ├── Properties │ │ └── AssemblyInfo.cs │ └── Repository │ │ ├── CacheValue.cs │ │ ├── Connection │ │ ├── ConnectionBuilder.cs │ │ ├── ConnectionString.cs │ │ ├── IConnectionBuilder.cs │ │ └── IConnectionString.cs │ │ ├── ExcelRepository.cs │ │ ├── Extensions │ │ ├── DataReaderExtensions.cs │ │ ├── PropertyTypeExtensions.cs │ │ └── StringExtensions.cs │ │ ├── FileService.cs │ │ ├── IDataProvider.cs │ │ ├── IFileService.cs │ │ ├── IRepository.cs │ │ └── OleDbDataProvider.cs └── Samples.Tests │ ├── Excel │ └── Users.xlsx │ ├── Properties │ └── AssemblyInfo.cs │ ├── ReadWriteExistingExcelFileTests.cs │ └── Samples.Tests.csproj └── tools ├── ILMerge ├── ILMerge License.rtf ├── ILMerge.doc └── ILMerge.exe ├── nant ├── NAnt.CompressionTasks.dll ├── NAnt.CompressionTasks.pdb ├── NAnt.CompressionTasks.xml ├── NAnt.Core.dll ├── NAnt.Core.pdb ├── NAnt.Core.xml ├── NAnt.DotNetTasks.dll ├── NAnt.DotNetTasks.pdb ├── NAnt.DotNetTasks.xml ├── NAnt.MSNetTasks.dll ├── NAnt.MSNetTasks.pdb ├── NAnt.MSNetTasks.xml ├── NAnt.NUnit.dll ├── NAnt.NUnit.pdb ├── NAnt.NUnit.xml ├── NAnt.NUnit1Tasks.dll ├── NAnt.NUnit1Tasks.pdb ├── NAnt.NUnit1Tasks.xml ├── NAnt.NUnit2Tasks.dll ├── NAnt.NUnit2Tasks.pdb ├── NAnt.NUnit2Tasks.xml ├── NAnt.SourceControlTasks.dll ├── NAnt.SourceControlTasks.pdb ├── NAnt.SourceControlTasks.xml ├── NAnt.VSNetTasks.dll ├── NAnt.VSNetTasks.pdb ├── NAnt.VSNetTasks.xml ├── NAnt.VisualCppTasks.dll ├── NAnt.VisualCppTasks.pdb ├── NAnt.VisualCppTasks.xml ├── NAnt.Win32Tasks.dll ├── NAnt.Win32Tasks.pdb ├── NAnt.Win32Tasks.xml ├── NAnt.exe ├── NAnt.exe.config ├── NAnt.pdb ├── NAnt.xml ├── NDoc.Documenter.NAnt.dll ├── NDoc.Documenter.NAnt.pdb ├── extensions │ └── common │ │ ├── 2.0 │ │ ├── NAnt.MSBuild.dll │ │ ├── NAnt.MSBuild.pdb │ │ └── NAnt.MSBuild.xml │ │ └── neutral │ │ └── NAntContrib │ │ ├── NAnt.Contrib.Tasks.dll │ │ ├── NAnt.Contrib.Tasks.pdb │ │ └── NAnt.Contrib.Tasks.xml ├── lib │ ├── common │ │ ├── 1.1 │ │ │ ├── nunit-console-runner.dll │ │ │ ├── nunit-console.exe │ │ │ ├── nunit.core.dll │ │ │ ├── nunit.framework.dll │ │ │ └── nunit.util.dll │ │ ├── 2.0 │ │ │ ├── nunit-console-runner.dll │ │ │ ├── nunit-console.exe │ │ │ ├── nunit.core.dll │ │ │ ├── nunit.framework.dll │ │ │ └── nunit.util.dll │ │ └── neutral │ │ │ ├── ICSharpCode.SharpCvsLib.Console.dll │ │ │ ├── ICSharpCode.SharpCvsLib.dll │ │ │ ├── ICSharpCode.SharpZipLib.dll │ │ │ ├── NAntContrib │ │ │ ├── CollectionGen.dll │ │ │ ├── Interop.MsmMergeTypeLib.dll │ │ │ ├── Interop.StarTeam.dll │ │ │ ├── Interop.WindowsInstaller.dll │ │ │ ├── SLiNgshoT.Core.dll │ │ │ └── SourceSafe.Interop.dll │ │ │ ├── NDoc.Core.dll │ │ │ ├── NDoc.Documenter.Msdn.dll │ │ │ ├── NDoc.ExtendedUI.dll │ │ │ └── NUnitCore.dll │ └── net │ │ └── 1.0 │ │ ├── NDoc.Core.dll │ │ ├── NDoc.Documenter.Msdn.dll │ │ ├── NDoc.ExtendedUI.dll │ │ ├── nunit-console-runner.dll │ │ ├── nunit-console.exe │ │ ├── nunit.core.dll │ │ ├── nunit.framework.dll │ │ └── nunit.util.dll ├── log4net.dll └── scvs.exe └── nunit ├── Logo.ico ├── bin ├── Failure.jpg ├── Ignored.jpg ├── NUnitFitTests.html ├── NUnitTests.config ├── NUnitTests.nunit ├── Success.jpg ├── clr.bat ├── fit.dll ├── loadtest-assembly.dll ├── mock-assembly.dll ├── nonamespace-assembly.dll ├── notestfixtures-assembly.dll ├── nunit-console-runner.dll ├── nunit-console-x86.exe ├── nunit-console-x86.exe.config ├── nunit-console.exe ├── nunit-console.exe.config ├── nunit-console.tests.dll ├── nunit-gui-runner.dll ├── nunit-gui.tests.dll ├── nunit-x86.exe ├── nunit-x86.exe.config ├── nunit.core.dll ├── nunit.core.extensions.dll ├── nunit.core.interfaces.dll ├── nunit.core.tests.dll ├── nunit.exe ├── nunit.exe.config ├── nunit.extensions.tests.dll ├── nunit.fixtures.dll ├── nunit.fixtures.tests.dll ├── nunit.framework.dll ├── nunit.framework.extensions.dll ├── nunit.framework.tests.dll ├── nunit.framework.xml ├── nunit.mocks.dll ├── nunit.mocks.tests.dll ├── nunit.uikit.dll ├── nunit.uikit.tests.dll ├── nunit.util.dll ├── nunit.util.tests.dll ├── runFile.exe ├── runFile.exe.config ├── test-assembly.dll ├── test-utilities.dll └── timing-tests.dll ├── doc ├── addinsDialog.html ├── assertions.html ├── attributes.html ├── category.html ├── classicModel.html ├── codeFuncs.js ├── collectionAssert.html ├── collectionConstraints.html ├── comparisonAsserts.html ├── comparisonConstraints.html ├── compoundConstraints.html ├── conditionAsserts.html ├── conditionConstraints.html ├── configEditor.html ├── configFiles.html ├── consoleCommandLine.html ├── constraintModel.html ├── contextMenu.html ├── culture.html ├── customAsserts.html ├── customConstraints.html ├── description.html ├── equalConstraint.html ├── equalityAsserts.html ├── exception.html ├── explicit.html ├── extensibility.html ├── favicon.ico ├── features.html ├── fileAssert.html ├── files │ ├── QuickStart.Spanish.doc │ ├── QuickStart.doc │ ├── Results.xsd │ ├── Summary.xslt │ ├── Thumbs.db │ └── testresult.xml ├── fixtureSetup.html ├── fixtureTeardown.html ├── getStarted.html ├── guiCommandLine.html ├── identityAsserts.html ├── ignore.html ├── img │ ├── addinsDialog.JPG │ ├── assembliesTab.jpg │ ├── assemblyReloadOptions.JPG │ ├── bulletOff.gif │ ├── bulletOn.gif │ ├── configEditor.jpg │ ├── console-mock.jpg │ ├── displayTab.jpg │ ├── generalOptions.jpg │ ├── generalTab.jpg │ ├── gui-screenshot.jpg │ ├── gui-verify.jpg │ ├── langfilter.gif │ ├── logo.gif │ ├── miniGui.jpg │ ├── optionsDialog.jpg │ ├── resultTab.jpg │ ├── testLoadOptions.jpg │ ├── testOutputOptions.jpg │ ├── testProperties.jpg │ ├── testResultOptions.JPG │ ├── testTab.jpg │ ├── testsTab.jpg │ ├── textOutputOptions.jpg │ ├── treeDisplayOptions.JPG │ └── visualStudioOptions.JPG ├── index.html ├── installation.html ├── license.html ├── listMapper.html ├── mainMenu.html ├── multiAssembly.html ├── nunit-console.html ├── nunit-gui.html ├── nunit.css ├── nunitAddins.html ├── optionsDialog.html ├── platform.html ├── platformSupport.html ├── projectEditor.html ├── property.html ├── propertyConstraint.html ├── quickStart.html ├── releaseNotes.html ├── sameasConstraint.html ├── samples.html ├── setCulture.html ├── setup.html ├── setupFixture.html ├── stringAssert.html ├── stringConstraints.html ├── suite.html ├── teardown.html ├── test.html ├── testFixture.html ├── testProperties.html ├── typeAsserts.html ├── typeConstraints.html ├── upgrade.html ├── utilityAsserts.html └── vsSupport.html ├── fit-license.txt ├── license.txt ├── rowtest-license.txt └── samples ├── Extensibility └── Core │ ├── CoreExtensibility.sln │ ├── Install.bat │ ├── MaxTimeDecorator │ ├── AssemblyInfo.cs │ ├── MaxTimeAttribute.cs │ ├── MaxTimeDecorator.build │ ├── MaxTimeDecorator.cs │ ├── MaxTimeDecorator.csproj │ ├── MaxTimeTestCase.cs │ └── Tests │ │ ├── AssemblyInfo.cs │ │ ├── MaxTimeDecoratorTests.cs │ │ └── MaxTimeDecoratorTests.csproj │ ├── Minimal │ ├── Minimal.build │ ├── Minimal.cs │ ├── Minimal.csproj │ └── ReadMe.txt │ ├── SampleFixtureExtension │ ├── AssemblyInfo.cs │ ├── ReadMe.txt │ ├── SampleFixtureExtension.build │ ├── SampleFixtureExtension.cs │ ├── SampleFixtureExtension.csproj │ ├── SampleFixtureExtensionAttribute.cs │ ├── SampleFixtureExtensionBuilder.cs │ └── Tests │ │ ├── AssemblyInfo.cs │ │ ├── SampleFixtureExtensionTests.cs │ │ └── SampleFixtureExtensionTests.csproj │ └── SampleSuiteExtension │ ├── Addin.cs │ ├── AssemblyInfo.cs │ ├── ReadMe.txt │ ├── SampleSuiteExtension.build │ ├── SampleSuiteExtension.cs │ ├── SampleSuiteExtension.csproj │ ├── SampleSuiteExtensionAttribute.cs │ ├── SampleSuiteExtensionBuilder.cs │ └── Tests │ ├── AssemblyInfo.cs │ ├── SampleSuiteExtensionTests.cs │ └── SampleSuiteExtensionTests.csproj ├── ReadMe.txt ├── cpp ├── cpp-cli │ ├── cpp-cli.sln │ ├── failures │ │ ├── AssemblyInfo.cpp │ │ ├── cpp-cli-failures.build │ │ ├── cpp-cli-failures.vcproj │ │ ├── cppsample.cpp │ │ └── cppsample.h │ └── syntax │ │ ├── AssemblyInfo.cpp │ │ ├── cpp-cli-syntax.build │ │ ├── cpp-cli-syntax.cpp │ │ └── cpp-cli-syntax.vcproj └── managed │ ├── failures │ ├── AssemblyInfo.cpp │ ├── cpp-managed-failures.build │ ├── cpp-managed-failures.vcproj │ ├── cppsample.cpp │ └── cppsample.h │ └── managed-cpp.sln ├── csharp ├── CSharp.sln ├── failures │ ├── AssemblyInfo.cs │ ├── CSharpTest.cs │ ├── cs-failures.build │ └── cs-failures.csproj ├── money-port │ ├── AssemblyInfo.cs │ ├── IMoney.cs │ ├── Money.cs │ ├── MoneyBag.cs │ ├── MoneyTest.cs │ ├── cs-money-port.build │ ├── cs-money-port.csproj │ └── cs-money-port.dll.config ├── money │ ├── AssemblyInfo.cs │ ├── IMoney.cs │ ├── Money.cs │ ├── MoneyBag.cs │ ├── MoneyTest.cs │ ├── cs-money.build │ └── cs-money.csproj └── syntax │ ├── AssemblyInfo.cs │ ├── AssertSyntaxTests.cs │ ├── cs-syntax.build │ └── cs-syntax.csproj ├── jsharp ├── failures │ ├── AssemblyInfo.jsl │ ├── JSharpTest.jsl │ ├── jsharp-failures.build │ └── jsharp-failures.vjsproj └── jsharp.sln └── vb ├── failures ├── AssemblyInfo.vb ├── SimpleVBTest.vb ├── vb-failures.build └── vb-failures.vbproj ├── money ├── AssemblyInfo.vb ├── IMoney.vb ├── Money.vb ├── MoneyBag.vb ├── MoneyTest.vb ├── vb-money.build └── vb-money.vbproj ├── syntax ├── AssemblyInfo.vb ├── AssertSyntaxTests.vb ├── vb-syntax.build └── vb-syntax.vbproj └── vb-samples.sln /ExcelMapper.snk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvbalaw/ExcelMapper/65a085f4ee0103fab6be0f45b375a7d7ef2c1ddf/ExcelMapper.snk -------------------------------------------------------------------------------- /Readme.txt: -------------------------------------------------------------------------------- 1 | Help on using ExcelMapper: http://shashankshetty.wordpress.com/2009/05/09/using-excelmapper/ -------------------------------------------------------------------------------- /go.bat: -------------------------------------------------------------------------------- 1 | @tools\nant\NAnt.exe -targetframework:net-3.5 -buildfile:ExcelMapper.build -D:use-svn-revision=false -D:debug=true full 2 | PAUSE -------------------------------------------------------------------------------- /lib/ExcelToDTOMapper.DTO.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvbalaw/ExcelMapper/65a085f4ee0103fab6be0f45b375a7d7ef2c1ddf/lib/ExcelToDTOMapper.DTO.dll -------------------------------------------------------------------------------- /lib/NUnit/nunit.framework.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvbalaw/ExcelMapper/65a085f4ee0103fab6be0f45b375a7d7ef2c1ddf/lib/NUnit/nunit.framework.dll -------------------------------------------------------------------------------- /lib/NUnit/nunit.framework.extensions.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvbalaw/ExcelMapper/65a085f4ee0103fab6be0f45b375a7d7ef2c1ddf/lib/NUnit/nunit.framework.extensions.dll -------------------------------------------------------------------------------- /lib/RhinoMocks/Rhino.Mocks.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvbalaw/ExcelMapper/65a085f4ee0103fab6be0f45b375a7d7ef2c1ddf/lib/RhinoMocks/Rhino.Mocks.dll -------------------------------------------------------------------------------- /lib/RunTimeCodeGenerator/RunTimeCodeGenerator.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvbalaw/ExcelMapper/65a085f4ee0103fab6be0f45b375a7d7ef2c1ddf/lib/RunTimeCodeGenerator/RunTimeCodeGenerator.dll -------------------------------------------------------------------------------- /lib/RunTimeCodeGenerator/RunTimeCodeGenerator.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvbalaw/ExcelMapper/65a085f4ee0103fab6be0f45b375a7d7ef2c1ddf/lib/RunTimeCodeGenerator/RunTimeCodeGenerator.pdb -------------------------------------------------------------------------------- /lib/ServiceLocator/Microsoft.Practices.ServiceLocation.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvbalaw/ExcelMapper/65a085f4ee0103fab6be0f45b375a7d7ef2c1ddf/lib/ServiceLocator/Microsoft.Practices.ServiceLocation.dll -------------------------------------------------------------------------------- /lib/StructureMap/StructureMap.AutoMocking.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvbalaw/ExcelMapper/65a085f4ee0103fab6be0f45b375a7d7ef2c1ddf/lib/StructureMap/StructureMap.AutoMocking.dll -------------------------------------------------------------------------------- /lib/StructureMap/StructureMap.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvbalaw/ExcelMapper/65a085f4ee0103fab6be0f45b375a7d7ef2c1ddf/lib/StructureMap/StructureMap.dll -------------------------------------------------------------------------------- /license.txt: -------------------------------------------------------------------------------- 1 | Copyright (c) 2009 McCreary, Veselka, Bragg & Allen, P.C. Attorneys at Law 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining a copy 4 | of this software and associated documentation files (the "Software"), to deal 5 | in the Software without restriction, including without limitation the rights 6 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 7 | copies of the Software, and to permit persons to whom the Software is 8 | furnished to do so, subject to the following conditions: 9 | 10 | The above copyright notice and this permission notice shall be included in 11 | all copies or substantial portions of the Software. 12 | 13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 18 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 19 | THE SOFTWARE. -------------------------------------------------------------------------------- /release/excelmapper.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvbalaw/ExcelMapper/65a085f4ee0103fab6be0f45b375a7d7ef2c1ddf/release/excelmapper.zip -------------------------------------------------------------------------------- /release/unmerged-excelmapper.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvbalaw/ExcelMapper/65a085f4ee0103fab6be0f45b375a7d7ef2c1ddf/release/unmerged-excelmapper.zip -------------------------------------------------------------------------------- /src/BuildDTOsFromExcel.Tests/EngineTests.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.IO; 3 | using System.Reflection; 4 | 5 | using BuildDTOsFromExcel.FileService; 6 | 7 | using ExcelMapper; 8 | using ExcelMapper.Configuration; 9 | 10 | using Microsoft.Practices.ServiceLocation; 11 | 12 | using NUnit.Framework; 13 | 14 | namespace BuildDTOsFromExcel.Tests 15 | { 16 | public class EngineTests 17 | { 18 | [TestFixture] 19 | public class When_given_a_list_of_excel_files 20 | { 21 | private IEngine _engine; 22 | 23 | [SetUp] 24 | public void SetUp() 25 | { 26 | ExcelMapper.Configuration.ExcelMapper.SetUp(); 27 | _engine = new Engine(new FileParser(new FileSystemService()), ServiceLocator.Current.GetInstance()); 28 | } 29 | 30 | [Test] 31 | public void Should_create_class_files_for_each_tab_and_write_a_success_message_if_excelmapper_run_is_success() 32 | { 33 | string[] args = new[] { "TestDirectory\\Users.xlsx", "TestDirectory\\Roles.xlsx" }; 34 | 35 | Assert.AreEqual(DefaultSettings.SuccessMessage, _engine.Run(args)); 36 | } 37 | 38 | [Test] 39 | public void Should_create_classes_for_each_of_the_tabs_in_the_assembly() 40 | { 41 | Assembly assembly = Assembly.LoadFile(Path.GetFullPath("ExcelToDTOMapper.DTO.dll")); 42 | Type[] types = assembly.GetTypes(); 43 | Assert.IsTrue(types.Length == 2); 44 | Assert.AreEqual("User", types[0].Name); 45 | Assert.AreEqual("Role", types[1].Name); 46 | } 47 | 48 | [Test] 49 | public void Should_write_an_error_message_if_the_excelmapper_fails() 50 | { 51 | string[] args = new[] { "TestDirectory\\User.xlsx" }; 52 | 53 | Assert.AreEqual(DefaultSettings.ErrorMessage, _engine.Run(args)); 54 | } 55 | } 56 | } 57 | } -------------------------------------------------------------------------------- /src/BuildDTOsFromExcel.Tests/ExtensionTests.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | using NUnit.Framework; 4 | 5 | namespace BuildDTOsFromExcel.Tests 6 | { 7 | public class ExtensionTests 8 | { 9 | [TestFixture] 10 | public class When_asked_for_an_AssemblyName 11 | { 12 | [Test] 13 | public void Should_return_the_assembly_name_it_if_it_exists_in_the_array_of_arguments() 14 | { 15 | string[] args = new[] { "/Assembly:MyAssembly", "file1", "file2" }; 16 | string assemblyName = args.GetAssemblyName(); 17 | Assert.AreEqual("MyAssembly", assemblyName); 18 | } 19 | 20 | [Test] 21 | public void Should_return_the_default_assembly_name_it_if_it_exists_in_the_array_of_arguments() 22 | { 23 | string[] args = new[] { "file1", "file2" }; 24 | string assemblyName = args.GetAssemblyName(); 25 | Assert.AreEqual(DefaultSettings.AssemblyName, assemblyName); 26 | } 27 | } 28 | 29 | [TestFixture] 30 | public class When_asked_for_files 31 | { 32 | [Test] 33 | public void Should_return_the_file_names_that_are_in_the_array_of_arguments() 34 | { 35 | string[] args = new[] { "/Assembly:MyAssembly", "file1", "file2", "*.xlsx" }; 36 | List files = args.GetFiles(); 37 | Assert.IsTrue(files.Count == 3); 38 | Assert.IsFalse(files.Exists(x => x.Equals("/Assembly:MyAssembly"))); 39 | } 40 | } 41 | } 42 | } -------------------------------------------------------------------------------- /src/BuildDTOsFromExcel.Tests/FileService/FileSystemServiceTests.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Linq; 3 | 4 | using BuildDTOsFromExcel.FileService; 5 | 6 | using NUnit.Framework; 7 | 8 | namespace BuildDTOsFromExcel.Tests.FileService 9 | { 10 | public class FileSystemServiceTests 11 | { 12 | [TestFixture] 13 | public class When_given_a_directory 14 | { 15 | private IFileSystemService _fileSystemService; 16 | private const string Directory = "TestDirectory"; 17 | private const string SearchPattern = "*.txt"; 18 | 19 | [SetUp] 20 | public void SetUp() 21 | { 22 | _fileSystemService = new FileSystemService(); 23 | } 24 | 25 | [Test] 26 | public void Should_return_files_in_current_working_directory_if_directory_name_is_null_or_empty() 27 | { 28 | Assert.IsTrue(_fileSystemService.GetFiles(null, SearchPattern).ToList().Count > 0); 29 | } 30 | 31 | [Test] 32 | public void Should_give_the_list_of_files_within_the_directory() 33 | { 34 | Assert.IsTrue(_fileSystemService.GetFiles(Directory, SearchPattern).ToList().Count > 0); 35 | } 36 | } 37 | 38 | [TestFixture] 39 | public class When_asked_for_filepath 40 | { 41 | private IFileSystemService _fileSystemService; 42 | private string _directoryName; 43 | private string _fileName; 44 | 45 | [SetUp] 46 | public void SetUp() 47 | { 48 | _fileSystemService = new FileSystemService(); 49 | _directoryName = "directory"; 50 | _fileName = "User.cs"; 51 | } 52 | 53 | [Test] 54 | public void Should_give_the_filename_if_the_directory_is_null_or_empty() 55 | { 56 | Assert.AreEqual(_fileName, _fileSystemService.GetFilePath(_fileName, "")); 57 | } 58 | 59 | [Test] 60 | public void Should_return_the_directory_filename_combination_path() 61 | { 62 | Assert.AreEqual(String.Format("{0}\\{1}", _directoryName, _fileName), _fileSystemService.GetFilePath(_fileName, _directoryName)); 63 | } 64 | } 65 | } 66 | } -------------------------------------------------------------------------------- /src/BuildDTOsFromExcel.Tests/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | 5 | // General Information about an assembly is controlled through the following 6 | // set of attributes. Change these attribute values to modify the information 7 | // associated with an assembly. 8 | [assembly: AssemblyTitle("BuildDTOsFromExcel.Tests")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("Microsoft")] 12 | [assembly: AssemblyProduct("BuildDTOsFromExcel.Tests")] 13 | [assembly: AssemblyCopyright("Copyright © Microsoft 2009")] 14 | [assembly: AssemblyTrademark("")] 15 | [assembly: AssemblyCulture("")] 16 | 17 | // Setting ComVisible to false makes the types in this assembly not visible 18 | // to COM components. If you need to access a type in this assembly from 19 | // COM, set the ComVisible attribute to true on that type. 20 | [assembly: ComVisible(false)] 21 | 22 | // The following GUID is for the ID of the typelib if this project is exposed to COM 23 | [assembly: Guid("973f53d8-f980-482b-8705-a6f8dda66af4")] 24 | 25 | // Version information for an assembly consists of the following four values: 26 | // 27 | // Major Version 28 | // Minor Version 29 | // Build Number 30 | // Revision 31 | // 32 | // You can specify all the values or you can default the Build and Revision Numbers 33 | // by using the '*' as shown below: 34 | // [assembly: AssemblyVersion("1.0.*")] 35 | [assembly: AssemblyVersion("1.0.0.0")] 36 | [assembly: AssemblyFileVersion("1.0.0.0")] 37 | -------------------------------------------------------------------------------- /src/BuildDTOsFromExcel.Tests/TestDirectory/File1.txt: -------------------------------------------------------------------------------- 1 |  -------------------------------------------------------------------------------- /src/BuildDTOsFromExcel.Tests/TestDirectory/File2.txt: -------------------------------------------------------------------------------- 1 |  -------------------------------------------------------------------------------- /src/BuildDTOsFromExcel.Tests/TestDirectory/Roles.xlsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvbalaw/ExcelMapper/65a085f4ee0103fab6be0f45b375a7d7ef2c1ddf/src/BuildDTOsFromExcel.Tests/TestDirectory/Roles.xlsx -------------------------------------------------------------------------------- /src/BuildDTOsFromExcel.Tests/TestDirectory/Users.xlsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvbalaw/ExcelMapper/65a085f4ee0103fab6be0f45b375a7d7ef2c1ddf/src/BuildDTOsFromExcel.Tests/TestDirectory/Users.xlsx -------------------------------------------------------------------------------- /src/BuildDTOsFromExcel/Engine.cs: -------------------------------------------------------------------------------- 1 | using BuildDTOsFromExcel.FileService; 2 | 3 | using ExcelMapper; 4 | 5 | namespace BuildDTOsFromExcel 6 | { 7 | public class Engine : IEngine 8 | { 9 | private readonly IFileParser _parser; 10 | private readonly IExcelToDTOMapper _excelToDTOMapper; 11 | 12 | public Engine(IFileParser parser, IExcelToDTOMapper excelToDTOMapper) 13 | { 14 | _parser = parser; 15 | _excelToDTOMapper = excelToDTOMapper; 16 | } 17 | 18 | public string Run(string[] args) 19 | { 20 | return _excelToDTOMapper.Run(args.GetAssemblyName(), _parser.Parse(args.GetFiles())) 21 | ? DefaultSettings.SuccessMessage 22 | : DefaultSettings.ErrorMessage; 23 | } 24 | } 25 | } -------------------------------------------------------------------------------- /src/BuildDTOsFromExcel/Extensions.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | 5 | namespace BuildDTOsFromExcel 6 | { 7 | public static class Extensions 8 | { 9 | private const string AssemblyPredicate = "/Assembly:"; 10 | 11 | public static List GetFiles(this string[] args) 12 | { 13 | return Array.FindAll(args, arg => !arg.Contains(AssemblyPredicate)).ToList(); 14 | } 15 | 16 | public static string GetAssemblyName(this string[] args) 17 | { 18 | string assembly = Array.Find(args, arg => arg.Contains(AssemblyPredicate)); 19 | return !String.IsNullOrEmpty(assembly) ? assembly.Replace(AssemblyPredicate, String.Empty) : DefaultSettings.AssemblyName; 20 | } 21 | } 22 | } -------------------------------------------------------------------------------- /src/BuildDTOsFromExcel/FileService/FileParser.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.IO; 4 | 5 | namespace BuildDTOsFromExcel.FileService 6 | { 7 | public class FileParser : IFileParser 8 | { 9 | private readonly IFileSystemService _fileSystemService; 10 | private const string XlsSearchPattern = "*.xls"; 11 | private const string XlsxSearchPattern = "*.xlsx"; 12 | 13 | public FileParser(IFileSystemService fileSystemService) 14 | { 15 | _fileSystemService = fileSystemService; 16 | } 17 | 18 | public List Parse(List files) 19 | { 20 | List filesWithSearchPattern = files.FindAll(x => x.Contains(XlsSearchPattern) || x.Contains(XlsxSearchPattern)); 21 | List completeListOfFiles = files.FindAll(x => !x.Contains(XlsSearchPattern) && !x.Contains(XlsxSearchPattern)); 22 | foreach (string file in filesWithSearchPattern) 23 | { 24 | completeListOfFiles.AddRange(GetFiles(file)); 25 | } 26 | return completeListOfFiles; 27 | } 28 | 29 | private IEnumerable GetFiles(string file) 30 | { 31 | string directory = Path.GetDirectoryName(file); 32 | string searchPattern = Path.GetFileName(file); 33 | if (String.IsNullOrEmpty(directory)) 34 | { 35 | directory = Directory.GetCurrentDirectory(); 36 | } 37 | return _fileSystemService.GetFiles(directory, searchPattern); 38 | } 39 | } 40 | } -------------------------------------------------------------------------------- /src/BuildDTOsFromExcel/FileService/FileSystemService.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.IO; 4 | 5 | namespace BuildDTOsFromExcel.FileService 6 | { 7 | public class FileSystemService : IFileSystemService 8 | { 9 | public IEnumerable GetFiles(string directory, string searchPattern) 10 | { 11 | if (String.IsNullOrEmpty(directory)) 12 | { 13 | directory = Directory.GetCurrentDirectory(); 14 | } 15 | 16 | DirectoryInfo directoryInfo = new DirectoryInfo(directory); 17 | FileInfo[] files = directoryInfo.GetFiles(searchPattern, SearchOption.AllDirectories); 18 | foreach (FileInfo file in files) 19 | { 20 | yield return file.FullName; 21 | } 22 | } 23 | 24 | public string GetFilePath(string fileName, string directory) 25 | { 26 | return String.IsNullOrEmpty(directory) ? fileName : Path.Combine(directory, fileName); 27 | } 28 | } 29 | } -------------------------------------------------------------------------------- /src/BuildDTOsFromExcel/FileService/IFileParser.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace BuildDTOsFromExcel.FileService 4 | { 5 | public interface IFileParser 6 | { 7 | List Parse(List files); 8 | } 9 | } -------------------------------------------------------------------------------- /src/BuildDTOsFromExcel/FileService/IFileSystemService.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace BuildDTOsFromExcel.FileService 4 | { 5 | public interface IFileSystemService 6 | { 7 | IEnumerable GetFiles(string directory, string searchPattern); 8 | string GetFilePath(string fileName, string directory); 9 | } 10 | } -------------------------------------------------------------------------------- /src/BuildDTOsFromExcel/IEngine.cs: -------------------------------------------------------------------------------- 1 | namespace BuildDTOsFromExcel 2 | { 3 | public interface IEngine 4 | { 5 | string Run(string[] args); 6 | } 7 | } -------------------------------------------------------------------------------- /src/BuildDTOsFromExcel/Program.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using BuildDTOsFromExcel.FileService; 3 | using ExcelMapper; 4 | using Microsoft.Practices.ServiceLocation; 5 | 6 | namespace BuildDTOsFromExcel 7 | { 8 | public class Program 9 | { 10 | public static void Main(string[] args) 11 | { 12 | if (args.Length == 0) 13 | { 14 | DisplayUsage(); 15 | return; 16 | } 17 | 18 | if (args[0] == "/?" || args[0] == "--help") 19 | { 20 | DisplayUsage(); 21 | return; 22 | } 23 | 24 | ExcelMapper.Configuration.ExcelMapper.SetUp(); 25 | IEngine buildDtoFromExcelEngine = new Engine(new FileParser(new FileSystemService()), 26 | ServiceLocator.Current.GetInstance()); 27 | 28 | Console.WriteLine(buildDtoFromExcelEngine.Run(args)); 29 | } 30 | 31 | private static void DisplayUsage() 32 | { 33 | Console.WriteLine( 34 | "Maps non-empty workSheets in excel files to an assembly containing strongly typed objects"); 35 | Console.WriteLine(); 36 | Console.WriteLine("BuildDTOsFromExcel [/Assembly[[:]assemblyName]] [Excel Files]"); 37 | Console.WriteLine("/Assembly [Optional] Assembly name"); 38 | Console.WriteLine("[Excel Files] Excel files (*.xls, *.xlsx) that has to be mapped"); 39 | Console.WriteLine(); 40 | Console.WriteLine("Example Usage1: BuildDTOsFromExcel file1.xls file2.xlsx ..."); 41 | Console.WriteLine("Example Usage2: BuildDTOsFromExcel /Assembly:MyAssembly file1.xls file2.xlsx ..."); 42 | Console.WriteLine("Example Usage3: BuildDTOsFromExcel /Assembly:MyAssembly *.xls *.xlsx"); 43 | } 44 | } 45 | 46 | public class DefaultSettings 47 | { 48 | public static string AssemblyName = "ExcelToDTOMapper.DTO"; 49 | public static string ErrorMessage = "Error in processing. See log for details"; 50 | public static string SuccessMessage = "Successfully created the assembly"; 51 | } 52 | } -------------------------------------------------------------------------------- /src/BuildDTOsFromExcel/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | 5 | // General Information about an assembly is controlled through the following 6 | // set of attributes. Change these attribute values to modify the information 7 | // associated with an assembly. 8 | [assembly: AssemblyTitle("BuildDTOsFromExcel")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("Microsoft")] 12 | [assembly: AssemblyProduct("BuildDTOsFromExcel")] 13 | [assembly: AssemblyCopyright("Copyright © Microsoft 2009")] 14 | [assembly: AssemblyTrademark("")] 15 | [assembly: AssemblyCulture("")] 16 | 17 | // Setting ComVisible to false makes the types in this assembly not visible 18 | // to COM components. If you need to access a type in this assembly from 19 | // COM, set the ComVisible attribute to true on that type. 20 | [assembly: ComVisible(false)] 21 | 22 | // The following GUID is for the ID of the typelib if this project is exposed to COM 23 | [assembly: Guid("01e4098a-48e2-436d-aa61-d3bc0fdc86c7")] 24 | 25 | // Version information for an assembly consists of the following four values: 26 | // 27 | // Major Version 28 | // Minor Version 29 | // Build Number 30 | // Revision 31 | // 32 | // You can specify all the values or you can default the Build and Revision Numbers 33 | // by using the '*' as shown below: 34 | // [assembly: AssemblyVersion("1.0.*")] 35 | [assembly: AssemblyVersion("1.0.0.0")] 36 | [assembly: AssemblyFileVersion("1.0.0.0")] 37 | -------------------------------------------------------------------------------- /src/ExcelMapper.Tests/DTO/User.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace ExcelMapper.Tests.DTO 4 | { 5 | public class User 6 | { 7 | public Double Id { get; set; } 8 | public String LastName { get; set; } 9 | public String FirstName { get; set; } 10 | public DateTime DateOfBirth { get; set; } 11 | } 12 | } -------------------------------------------------------------------------------- /src/ExcelMapper.Tests/Excel/UsersXls.xls: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvbalaw/ExcelMapper/65a085f4ee0103fab6be0f45b375a7d7ef2c1ddf/src/ExcelMapper.Tests/Excel/UsersXls.xls -------------------------------------------------------------------------------- /src/ExcelMapper.Tests/Excel/UsersXlsx.xlsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvbalaw/ExcelMapper/65a085f4ee0103fab6be0f45b375a7d7ef2c1ddf/src/ExcelMapper.Tests/Excel/UsersXlsx.xlsx -------------------------------------------------------------------------------- /src/ExcelMapper.Tests/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | 5 | // General Information about an assembly is controlled through the following 6 | // set of attributes. Change these attribute values to modify the information 7 | // associated with an assembly. 8 | [assembly: AssemblyTitle("ExcelToDTOMapper.Tests")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("Microsoft")] 12 | [assembly: AssemblyProduct("ExcelToDTOMapper.Tests")] 13 | [assembly: AssemblyCopyright("Copyright © Microsoft 2009")] 14 | [assembly: AssemblyTrademark("")] 15 | [assembly: AssemblyCulture("")] 16 | 17 | // Setting ComVisible to false makes the types in this assembly not visible 18 | // to COM components. If you need to access a type in this assembly from 19 | // COM, set the ComVisible attribute to true on that type. 20 | [assembly: ComVisible(false)] 21 | 22 | // The following GUID is for the ID of the typelib if this project is exposed to COM 23 | [assembly: Guid("a4922ae8-4c09-4f4f-87da-df70679e256e")] 24 | 25 | // Version information for an assembly consists of the following four values: 26 | // 27 | // Major Version 28 | // Minor Version 29 | // Build Number 30 | // Revision 31 | // 32 | // You can specify all the values or you can default the Build and Revision Numbers 33 | // by using the '*' as shown below: 34 | // [assembly: AssemblyVersion("1.0.*")] 35 | [assembly: AssemblyVersion("1.0.0.0")] 36 | [assembly: AssemblyFileVersion("1.0.0.0")] 37 | -------------------------------------------------------------------------------- /src/ExcelMapper.Tests/Repository/Connection/ConnectionStringTests.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | using ExcelMapper.Repository.Connection; 4 | 5 | using NUnit.Framework; 6 | 7 | namespace ExcelMapper.Tests.Repository.Connection 8 | { 9 | public class ConnectionStringTests 10 | { 11 | [TestFixture] 12 | public class When_given_an_excel_file 13 | { 14 | private IConnectionString _connectionString; 15 | 16 | [SetUp] 17 | public void SetUp() 18 | { 19 | _connectionString = new ConnectionString(); 20 | } 21 | 22 | [Test] 23 | public void Should_return_the_connection_string_for_xlsx_file_extension() 24 | { 25 | Assert.AreEqual(TestData.UsersXlsxConnectionString, _connectionString.Get(TestData.UsersXlsx)); 26 | } 27 | 28 | [Test] 29 | public void Should_return_the_connection_string_for_xls_file_extension() 30 | { 31 | Assert.AreEqual(TestData.UsersXlsConnectionString, _connectionString.Get(TestData.UsersXls)); 32 | } 33 | 34 | [Test, ExpectedException(typeof(ArgumentException))] 35 | public void Should_throw_an_exception_for_an_unknown_file_extension() 36 | { 37 | Assert.AreEqual(TestData.UsersXlsConnectionString, _connectionString.Get("Users.xl")); 38 | } 39 | } 40 | } 41 | } -------------------------------------------------------------------------------- /src/ExcelMapper.Tests/Repository/Connection/ConnectionTests.cs: -------------------------------------------------------------------------------- 1 | using System.Data; 2 | using System.Data.OleDb; 3 | 4 | using ExcelMapper.Repository.Connection; 5 | 6 | using NUnit.Framework; 7 | 8 | using Rhino.Mocks; 9 | 10 | namespace ExcelMapper.Tests.Repository.Connection 11 | { 12 | public class ConnectionTests 13 | { 14 | [TestFixture] 15 | public class When_asked_for_a_connection 16 | { 17 | private string _file; 18 | private IConnectionString _connectionString; 19 | private IConnectionBuilder _connectionBuilder; 20 | 21 | [SetUp] 22 | public void SetUp() 23 | { 24 | _file = TestData.UsersXlsx; 25 | _connectionString = MockRepository.GenerateMock(); 26 | _connectionBuilder = new ConnectionBuilder(_connectionString); 27 | } 28 | 29 | [Test] 30 | public void Should_open_a_new_OleDbConnection() 31 | { 32 | _connectionString.Expect(x => x.Get(_file)).Return(TestData.UsersXlsConnectionString); 33 | 34 | using (OleDbConnection connection = _connectionBuilder.GetConnection(_file)) 35 | { 36 | Assert.IsInstanceOfType(typeof(OleDbConnection), connection); 37 | Assert.AreEqual(ConnectionState.Open, connection.State); 38 | } 39 | } 40 | } 41 | } 42 | } -------------------------------------------------------------------------------- /src/ExcelMapper.Tests/Repository/Extensions/DataReaderExtensionTests.cs: -------------------------------------------------------------------------------- 1 | using System.Data; 2 | 3 | using ExcelMapper.Repository.Extensions; 4 | 5 | using NUnit.Framework; 6 | 7 | using Rhino.Mocks; 8 | 9 | namespace ExcelMapper.Tests.Repository.Extensions 10 | { 11 | public class DataReaderExtensionTests 12 | { 13 | [TestFixture] 14 | public class When_asked_to_get_a_value_from_the_datareader 15 | { 16 | private IDataReader _dataReader; 17 | 18 | [SetUp] 19 | public void SetUp() 20 | { 21 | _dataReader = MockRepository.GenerateMock(); 22 | } 23 | 24 | [Test] 25 | public void Should_give_the_value() 26 | { 27 | const string value = "Test"; 28 | _dataReader.Expect(x => x.IsDBNull(0)).Return(false); 29 | _dataReader.Expect(x => x.GetValue(0)).Return(value); 30 | Assert.AreEqual(value, _dataReader.GetValue(0)); 31 | } 32 | 33 | [Test] 34 | public void Should_give_the_default_value_if_the_value_is_null() 35 | { 36 | _dataReader.Expect(x => x.IsDBNull(0)).Return(false); 37 | Assert.IsNull(_dataReader.GetValue(0)); 38 | } 39 | } 40 | } 41 | } -------------------------------------------------------------------------------- /src/ExcelMapper.Tests/RunTimCodeGeneratorLoggingConfig.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /src/ExcelMapper.Tests/TestData.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Data.OleDb; 4 | 5 | using ExcelMapper.Repository.Connection; 6 | using ExcelMapper.Repository.Extensions; 7 | using ExcelMapper.Tests.DTO; 8 | 9 | namespace ExcelMapper.Tests 10 | { 11 | public class TestData 12 | { 13 | public static string UsersXlsx = @"Excel\UsersXlsx.xlsx"; 14 | public static string UsersXls = @"Excel\UsersXls.xls"; 15 | public static string UsersXlsxConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=Excel\\UsersXlsx.xlsx;Extended Properties=\"Excel 12.0 Xml;HDR=YES;\""; 16 | public static string UsersXlsConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=Excel\\UsersXls.xls;Extended Properties=\"Excel 8.0;HDR=YES;\""; 17 | public static string AssemblyName = "TestAssembly"; 18 | public static string LogsDirectory = "Logs"; 19 | 20 | public static IEnumerable GetUsers(string file, string workSheet) 21 | { 22 | using (OleDbConnection connection = new ConnectionBuilder(new ConnectionString()).GetConnection(file)) 23 | { 24 | using (OleDbCommand command = connection.CreateCommand()) 25 | { 26 | command.CommandText = "SELECT * FROM [User$]"; 27 | using (OleDbDataReader reader = command.ExecuteReader()) 28 | { 29 | while (reader.Read()) 30 | { 31 | User user = new User 32 | { 33 | Id = reader.GetValue(0), 34 | LastName = reader.GetValue(1), 35 | FirstName = reader.GetValue(2), 36 | DateOfBirth = reader.GetValue(3) 37 | }; 38 | yield return user; 39 | } 40 | } 41 | } 42 | } 43 | } 44 | } 45 | } -------------------------------------------------------------------------------- /src/ExcelMapper/Configuration/BootStrapper.cs: -------------------------------------------------------------------------------- 1 | using RunTimeCodeGenerator; 2 | 3 | using StructureMap; 4 | 5 | namespace ExcelMapper.Configuration 6 | { 7 | public class BootStrapper 8 | { 9 | private static bool _initialized; 10 | 11 | public static void Initialize() 12 | { 13 | ObjectFactory.Initialize(x => 14 | { 15 | x.AddRegistry(new ExcelMapperRegistry()); 16 | x.AddRegistry(new RunTimeCodeGeneratorRegistry()); 17 | }); 18 | } 19 | 20 | public static void Reset() 21 | { 22 | if (_initialized) 23 | { 24 | ObjectFactory.ResetDefaults(); 25 | } 26 | else 27 | { 28 | Initialize(); 29 | _initialized = true; 30 | } 31 | } 32 | } 33 | } -------------------------------------------------------------------------------- /src/ExcelMapper/Configuration/ExcelMapper.cs: -------------------------------------------------------------------------------- 1 | using Microsoft.Practices.ServiceLocation; 2 | 3 | namespace ExcelMapper.Configuration 4 | { 5 | public class ExcelMapper 6 | { 7 | public static void SetUp() 8 | { 9 | ServiceLocator.SetLocatorProvider(() => new StructureMapServiceLocator()); 10 | BootStrapper.Reset(); 11 | } 12 | } 13 | } -------------------------------------------------------------------------------- /src/ExcelMapper/Configuration/ExcelMapperRegistry.cs: -------------------------------------------------------------------------------- 1 | using ExcelMapper.Repository; 2 | 3 | using StructureMap.Configuration.DSL; 4 | 5 | namespace ExcelMapper.Configuration 6 | { 7 | public class ExcelMapperRegistry : Registry 8 | { 9 | public ExcelMapperRegistry() 10 | { 11 | For() 12 | .Use(); 13 | For() 14 | .Use(); 15 | For() 16 | .Singleton() 17 | .Use(); 18 | Scan(s => 19 | { 20 | s.AssemblyContainingType(); 21 | s.WithDefaultConventions(); 22 | }); 23 | } 24 | } 25 | } -------------------------------------------------------------------------------- /src/ExcelMapper/Configuration/FileConfiguration.cs: -------------------------------------------------------------------------------- 1 | namespace ExcelMapper.Configuration 2 | { 3 | public interface IFileConfiguration 4 | { 5 | string FileName { get; set; } 6 | } 7 | 8 | public class FileConfiguration : IFileConfiguration 9 | { 10 | public string FileName { get; set; } 11 | } 12 | } -------------------------------------------------------------------------------- /src/ExcelMapper/Configuration/StructureMapServiceLocator.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | 5 | using Microsoft.Practices.ServiceLocation; 6 | 7 | using StructureMap; 8 | 9 | namespace ExcelMapper.Configuration 10 | { 11 | public class StructureMapServiceLocator : ServiceLocatorImplBase 12 | { 13 | protected override IEnumerable DoGetAllInstances(Type serviceType) 14 | { 15 | return ObjectFactory.GetAllInstances(serviceType).Cast().AsEnumerable(); 16 | } 17 | 18 | protected override object DoGetInstance(Type serviceType, string key) 19 | { 20 | return (string.IsNullOrEmpty(key) ? ObjectFactory.GetInstance(serviceType) : ObjectFactory.GetNamedInstance(serviceType, key)); 21 | } 22 | } 23 | } -------------------------------------------------------------------------------- /src/ExcelMapper/ExcelMapper.snk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvbalaw/ExcelMapper/65a085f4ee0103fab6be0f45b375a7d7ef2c1ddf/src/ExcelMapper/ExcelMapper.snk -------------------------------------------------------------------------------- /src/ExcelMapper/ExcelToDTOMapper.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.IO; 4 | using System.Linq; 5 | 6 | using ExcelMapper.Configuration; 7 | using ExcelMapper.Repository; 8 | 9 | using RunTimeCodeGenerator.AssemblyGeneration; 10 | using RunTimeCodeGenerator.ClassGeneration; 11 | 12 | namespace ExcelMapper 13 | { 14 | public class ExcelToDTOMapper : IExcelToDTOMapper 15 | { 16 | private readonly IAssemblyGenerator _assemblyGenerator; 17 | private readonly IFileConfiguration _fileConfiguration; 18 | private readonly IClassGenerator _classGenerator; 19 | private readonly IRepository _excelRepository; 20 | 21 | public ExcelToDTOMapper(IRepository excelRepository, IClassGenerator classGenerator, IAssemblyGenerator assemblyGenerator, IFileConfiguration fileConfiguration) 22 | { 23 | _excelRepository = excelRepository; 24 | _classGenerator = classGenerator; 25 | _assemblyGenerator = assemblyGenerator; 26 | _fileConfiguration = fileConfiguration; 27 | } 28 | 29 | public bool Run(string assemblyName, List files) 30 | { 31 | List classAttributesList = new List(); 32 | 33 | foreach (string file in files) 34 | { 35 | _fileConfiguration.FileName = file; 36 | foreach (string workSheet in _excelRepository.GetWorkSheetNames()) 37 | { 38 | ClassAttributes classAttributes = _excelRepository.GetDTOClassAttributes(workSheet); 39 | classAttributes.Namespace = String.Format("{0}.{1}", assemblyName, Path.GetFileNameWithoutExtension(file)); 40 | 41 | if (classAttributes.Properties.Count == 0) 42 | { 43 | continue; 44 | } 45 | _classGenerator.Create(classAttributes); 46 | classAttributesList.Add(classAttributes); 47 | } 48 | } 49 | return ((classAttributesList.Count > 0) 50 | && _assemblyGenerator.Compile(classAttributesList.Select(x => x.FullName).ToArray(), new AssemblyAttributes(assemblyName))); 51 | } 52 | } 53 | } -------------------------------------------------------------------------------- /src/ExcelMapper/IExcelToDTOMapper.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace ExcelMapper 4 | { 5 | public interface IExcelToDTOMapper 6 | { 7 | bool Run(string assemblyName, List files); 8 | } 9 | } -------------------------------------------------------------------------------- /src/ExcelMapper/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | 5 | // General Information about an assembly is controlled through the following 6 | // set of attributes. Change these attribute values to modify the information 7 | // associated with an assembly. 8 | [assembly: AssemblyTitle("ExcelToDTOMapper")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("Microsoft")] 12 | [assembly: AssemblyProduct("ExcelToDTOMapper")] 13 | [assembly: AssemblyCopyright("Copyright © Microsoft 2009")] 14 | [assembly: AssemblyTrademark("")] 15 | [assembly: AssemblyCulture("")] 16 | 17 | // Setting ComVisible to false makes the types in this assembly not visible 18 | // to COM components. If you need to access a type in this assembly from 19 | // COM, set the ComVisible attribute to true on that type. 20 | [assembly: ComVisible(false)] 21 | 22 | // The following GUID is for the ID of the typelib if this project is exposed to COM 23 | [assembly: Guid("fa59b809-c331-4702-b3f5-5ab1bae008b5")] 24 | 25 | // Version information for an assembly consists of the following four values: 26 | // 27 | // Major Version 28 | // Minor Version 29 | // Build Number 30 | // Revision 31 | // 32 | // You can specify all the values or you can default the Build and Revision Numbers 33 | // by using the '*' as shown below: 34 | // [assembly: AssemblyVersion("1.0.*")] 35 | [assembly: AssemblyVersion("1.0.0.0")] 36 | [assembly: AssemblyFileVersion("1.0.0.0")] 37 | -------------------------------------------------------------------------------- /src/ExcelMapper/Repository/CacheValue.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace ExcelMapper.Repository 4 | { 5 | public class CacheValue 6 | { 7 | public DateTime LastModifiedDate { get; set; } 8 | public object Result { get; set; } 9 | } 10 | } -------------------------------------------------------------------------------- /src/ExcelMapper/Repository/Connection/ConnectionBuilder.cs: -------------------------------------------------------------------------------- 1 | using System.Data.OleDb; 2 | 3 | namespace ExcelMapper.Repository.Connection 4 | { 5 | public class ConnectionBuilder : IConnectionBuilder 6 | { 7 | private readonly IConnectionString _connectionString; 8 | 9 | public ConnectionBuilder(IConnectionString connectionString) 10 | { 11 | _connectionString = connectionString; 12 | } 13 | 14 | public OleDbConnection GetConnection(string file) 15 | { 16 | var connection = new OleDbConnection(_connectionString.Get(file)); 17 | connection.Open(); 18 | return connection; 19 | } 20 | } 21 | } -------------------------------------------------------------------------------- /src/ExcelMapper/Repository/Connection/ConnectionString.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.IO; 3 | 4 | namespace ExcelMapper.Repository.Connection 5 | { 6 | public class ConnectionString : IConnectionString 7 | { 8 | public string Get(string file) 9 | { 10 | string fileExtension = Path.GetExtension(file); 11 | 12 | if (fileExtension.Equals(".xlsx", StringComparison.OrdinalIgnoreCase)) 13 | { 14 | return CreateConnectionStringWithDataSource("Provider=Microsoft.ACE.OLEDB.12.0;Data Source={0};Extended Properties=\"Excel 12.0 Xml;HDR=YES;\"", file); 15 | } 16 | if (fileExtension.Equals(".xls", StringComparison.OrdinalIgnoreCase)) 17 | { 18 | return CreateConnectionStringWithDataSource("Provider=Microsoft.Jet.OLEDB.4.0;Data Source={0};Extended Properties=\"Excel 8.0;HDR=YES;\"", file); 19 | } 20 | throw new ArgumentException("File Type not supported"); 21 | } 22 | 23 | private static string CreateConnectionStringWithDataSource(string connectionString, string file) 24 | { 25 | return String.Format(connectionString, file); 26 | } 27 | } 28 | } -------------------------------------------------------------------------------- /src/ExcelMapper/Repository/Connection/IConnectionBuilder.cs: -------------------------------------------------------------------------------- 1 | using System.Data.OleDb; 2 | 3 | namespace ExcelMapper.Repository.Connection 4 | { 5 | public interface IConnectionBuilder 6 | { 7 | OleDbConnection GetConnection(string dataSource); 8 | } 9 | } -------------------------------------------------------------------------------- /src/ExcelMapper/Repository/Connection/IConnectionString.cs: -------------------------------------------------------------------------------- 1 | namespace ExcelMapper.Repository.Connection 2 | { 3 | public interface IConnectionString 4 | { 5 | string Get(string file); 6 | } 7 | } -------------------------------------------------------------------------------- /src/ExcelMapper/Repository/Extensions/DataReaderExtensions.cs: -------------------------------------------------------------------------------- 1 | using System.Data; 2 | 3 | namespace ExcelMapper.Repository.Extensions 4 | { 5 | public static class DataReaderExtensions 6 | { 7 | public static T GetValue(this IDataReader reader, int ordinal) 8 | { 9 | if (!reader.IsDBNull(ordinal)) 10 | { 11 | return (T)reader.GetValue(ordinal); 12 | } 13 | return default(T); 14 | } 15 | } 16 | } -------------------------------------------------------------------------------- /src/ExcelMapper/Repository/Extensions/PropertyTypeExtensions.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace ExcelMapper.Repository.Extensions 4 | { 5 | public static class PropertyTypeExtensions 6 | { 7 | public static string GetPropertyType(this Type propertyType) 8 | { 9 | const string integerType = "Int"; 10 | return propertyType.Name.Contains(integerType) ? integerType : propertyType.Name; 11 | } 12 | } 13 | } -------------------------------------------------------------------------------- /src/ExcelMapper/Repository/Extensions/StringExtensions.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace ExcelMapper.Repository.Extensions 4 | { 5 | public static class StringExtensions 6 | { 7 | public static string GetClassName(this string value) 8 | { 9 | return value.Replace("$", ""); 10 | } 11 | 12 | public static string GetWorkSheetName(this string value) 13 | { 14 | return String.Format("{0}$", value); 15 | } 16 | } 17 | } -------------------------------------------------------------------------------- /src/ExcelMapper/Repository/FileService.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.IO; 3 | 4 | namespace ExcelMapper.Repository 5 | { 6 | public class FileService : IFileService 7 | { 8 | public bool Exists(string filePath) 9 | { 10 | return File.Exists(filePath); 11 | } 12 | 13 | public void Create(string filePath) 14 | { 15 | File.Create(filePath); 16 | } 17 | 18 | public DateTime GetLastModifiedDate(string filePath) 19 | { 20 | return File.GetLastWriteTime(filePath); 21 | } 22 | } 23 | } -------------------------------------------------------------------------------- /src/ExcelMapper/Repository/IDataProvider.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using RunTimeCodeGenerator.ClassGeneration; 3 | 4 | namespace ExcelMapper.Repository 5 | { 6 | public interface IDataProvider 7 | { 8 | void CreateTable(); 9 | IEnumerable GetTableNames(); 10 | IEnumerable GetColumns(string workSheet); 11 | IEnumerable Get(string workSheet); 12 | void Put(IEnumerable values); 13 | } 14 | } -------------------------------------------------------------------------------- /src/ExcelMapper/Repository/IFileService.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace ExcelMapper.Repository 4 | { 5 | public interface IFileService 6 | { 7 | bool Exists(string filePath); 8 | void Create(string filePath); 9 | DateTime GetLastModifiedDate(string filePath); 10 | } 11 | } -------------------------------------------------------------------------------- /src/ExcelMapper/Repository/IRepository.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using RunTimeCodeGenerator.ClassGeneration; 3 | 4 | namespace ExcelMapper.Repository 5 | { 6 | public interface IRepository 7 | { 8 | IEnumerable GetWorkSheetNames(); 9 | ClassAttributes GetDTOClassAttributes(string workSheet); 10 | IEnumerable Get(string workSheet); 11 | void Save(IEnumerable values); 12 | } 13 | } -------------------------------------------------------------------------------- /src/Samples.Tests/Excel/Users.xlsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvbalaw/ExcelMapper/65a085f4ee0103fab6be0f45b375a7d7ef2c1ddf/src/Samples.Tests/Excel/Users.xlsx -------------------------------------------------------------------------------- /src/Samples.Tests/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | 5 | // General Information about an assembly is controlled through the following 6 | // set of attributes. Change these attribute values to modify the information 7 | // associated with an assembly. 8 | [assembly: AssemblyTitle("Samples.ReadWriteExistingExcelFileTests")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("")] 12 | [assembly: AssemblyProduct("Samples.ReadWriteExistingExcelFileTests")] 13 | [assembly: AssemblyCopyright("Copyright © 2009")] 14 | [assembly: AssemblyTrademark("")] 15 | [assembly: AssemblyCulture("")] 16 | 17 | // Setting ComVisible to false makes the types in this assembly not visible 18 | // to COM components. If you need to access a type in this assembly from 19 | // COM, set the ComVisible attribute to true on that type. 20 | [assembly: ComVisible(false)] 21 | 22 | // The following GUID is for the ID of the typelib if this project is exposed to COM 23 | [assembly: Guid("d22c68d4-ff8b-4551-8802-1203f5158c4e")] 24 | 25 | // Version information for an assembly consists of the following four values: 26 | // 27 | // Major Version 28 | // Minor Version 29 | // Build Number 30 | // Revision 31 | // 32 | // You can specify all the values or you can default the Build and Revision Numbers 33 | // by using the '*' as shown below: 34 | // [assembly: AssemblyVersion("1.0.*")] 35 | [assembly: AssemblyVersion("1.0.0.0")] 36 | [assembly: AssemblyFileVersion("1.0.0.0")] 37 | -------------------------------------------------------------------------------- /tools/ILMerge/ILMerge.doc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvbalaw/ExcelMapper/65a085f4ee0103fab6be0f45b375a7d7ef2c1ddf/tools/ILMerge/ILMerge.doc -------------------------------------------------------------------------------- /tools/ILMerge/ILMerge.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvbalaw/ExcelMapper/65a085f4ee0103fab6be0f45b375a7d7ef2c1ddf/tools/ILMerge/ILMerge.exe -------------------------------------------------------------------------------- /tools/nant/NAnt.CompressionTasks.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvbalaw/ExcelMapper/65a085f4ee0103fab6be0f45b375a7d7ef2c1ddf/tools/nant/NAnt.CompressionTasks.dll -------------------------------------------------------------------------------- /tools/nant/NAnt.CompressionTasks.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvbalaw/ExcelMapper/65a085f4ee0103fab6be0f45b375a7d7ef2c1ddf/tools/nant/NAnt.CompressionTasks.pdb -------------------------------------------------------------------------------- /tools/nant/NAnt.Core.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvbalaw/ExcelMapper/65a085f4ee0103fab6be0f45b375a7d7ef2c1ddf/tools/nant/NAnt.Core.dll -------------------------------------------------------------------------------- /tools/nant/NAnt.Core.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvbalaw/ExcelMapper/65a085f4ee0103fab6be0f45b375a7d7ef2c1ddf/tools/nant/NAnt.Core.pdb -------------------------------------------------------------------------------- /tools/nant/NAnt.DotNetTasks.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvbalaw/ExcelMapper/65a085f4ee0103fab6be0f45b375a7d7ef2c1ddf/tools/nant/NAnt.DotNetTasks.dll -------------------------------------------------------------------------------- /tools/nant/NAnt.DotNetTasks.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvbalaw/ExcelMapper/65a085f4ee0103fab6be0f45b375a7d7ef2c1ddf/tools/nant/NAnt.DotNetTasks.pdb -------------------------------------------------------------------------------- /tools/nant/NAnt.MSNetTasks.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvbalaw/ExcelMapper/65a085f4ee0103fab6be0f45b375a7d7ef2c1ddf/tools/nant/NAnt.MSNetTasks.dll -------------------------------------------------------------------------------- /tools/nant/NAnt.MSNetTasks.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvbalaw/ExcelMapper/65a085f4ee0103fab6be0f45b375a7d7ef2c1ddf/tools/nant/NAnt.MSNetTasks.pdb -------------------------------------------------------------------------------- /tools/nant/NAnt.NUnit.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvbalaw/ExcelMapper/65a085f4ee0103fab6be0f45b375a7d7ef2c1ddf/tools/nant/NAnt.NUnit.dll -------------------------------------------------------------------------------- /tools/nant/NAnt.NUnit.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvbalaw/ExcelMapper/65a085f4ee0103fab6be0f45b375a7d7ef2c1ddf/tools/nant/NAnt.NUnit.pdb -------------------------------------------------------------------------------- /tools/nant/NAnt.NUnit1Tasks.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvbalaw/ExcelMapper/65a085f4ee0103fab6be0f45b375a7d7ef2c1ddf/tools/nant/NAnt.NUnit1Tasks.dll -------------------------------------------------------------------------------- /tools/nant/NAnt.NUnit1Tasks.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvbalaw/ExcelMapper/65a085f4ee0103fab6be0f45b375a7d7ef2c1ddf/tools/nant/NAnt.NUnit1Tasks.pdb -------------------------------------------------------------------------------- /tools/nant/NAnt.NUnit2Tasks.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvbalaw/ExcelMapper/65a085f4ee0103fab6be0f45b375a7d7ef2c1ddf/tools/nant/NAnt.NUnit2Tasks.dll -------------------------------------------------------------------------------- /tools/nant/NAnt.NUnit2Tasks.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvbalaw/ExcelMapper/65a085f4ee0103fab6be0f45b375a7d7ef2c1ddf/tools/nant/NAnt.NUnit2Tasks.pdb -------------------------------------------------------------------------------- /tools/nant/NAnt.SourceControlTasks.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvbalaw/ExcelMapper/65a085f4ee0103fab6be0f45b375a7d7ef2c1ddf/tools/nant/NAnt.SourceControlTasks.dll -------------------------------------------------------------------------------- /tools/nant/NAnt.SourceControlTasks.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvbalaw/ExcelMapper/65a085f4ee0103fab6be0f45b375a7d7ef2c1ddf/tools/nant/NAnt.SourceControlTasks.pdb -------------------------------------------------------------------------------- /tools/nant/NAnt.VSNetTasks.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvbalaw/ExcelMapper/65a085f4ee0103fab6be0f45b375a7d7ef2c1ddf/tools/nant/NAnt.VSNetTasks.dll -------------------------------------------------------------------------------- /tools/nant/NAnt.VSNetTasks.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvbalaw/ExcelMapper/65a085f4ee0103fab6be0f45b375a7d7ef2c1ddf/tools/nant/NAnt.VSNetTasks.pdb -------------------------------------------------------------------------------- /tools/nant/NAnt.VisualCppTasks.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvbalaw/ExcelMapper/65a085f4ee0103fab6be0f45b375a7d7ef2c1ddf/tools/nant/NAnt.VisualCppTasks.dll -------------------------------------------------------------------------------- /tools/nant/NAnt.VisualCppTasks.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvbalaw/ExcelMapper/65a085f4ee0103fab6be0f45b375a7d7ef2c1ddf/tools/nant/NAnt.VisualCppTasks.pdb -------------------------------------------------------------------------------- /tools/nant/NAnt.Win32Tasks.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvbalaw/ExcelMapper/65a085f4ee0103fab6be0f45b375a7d7ef2c1ddf/tools/nant/NAnt.Win32Tasks.dll -------------------------------------------------------------------------------- /tools/nant/NAnt.Win32Tasks.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvbalaw/ExcelMapper/65a085f4ee0103fab6be0f45b375a7d7ef2c1ddf/tools/nant/NAnt.Win32Tasks.pdb -------------------------------------------------------------------------------- /tools/nant/NAnt.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvbalaw/ExcelMapper/65a085f4ee0103fab6be0f45b375a7d7ef2c1ddf/tools/nant/NAnt.exe -------------------------------------------------------------------------------- /tools/nant/NAnt.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvbalaw/ExcelMapper/65a085f4ee0103fab6be0f45b375a7d7ef2c1ddf/tools/nant/NAnt.pdb -------------------------------------------------------------------------------- /tools/nant/NDoc.Documenter.NAnt.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvbalaw/ExcelMapper/65a085f4ee0103fab6be0f45b375a7d7ef2c1ddf/tools/nant/NDoc.Documenter.NAnt.dll -------------------------------------------------------------------------------- /tools/nant/NDoc.Documenter.NAnt.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvbalaw/ExcelMapper/65a085f4ee0103fab6be0f45b375a7d7ef2c1ddf/tools/nant/NDoc.Documenter.NAnt.pdb -------------------------------------------------------------------------------- /tools/nant/extensions/common/2.0/NAnt.MSBuild.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvbalaw/ExcelMapper/65a085f4ee0103fab6be0f45b375a7d7ef2c1ddf/tools/nant/extensions/common/2.0/NAnt.MSBuild.dll -------------------------------------------------------------------------------- /tools/nant/extensions/common/2.0/NAnt.MSBuild.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvbalaw/ExcelMapper/65a085f4ee0103fab6be0f45b375a7d7ef2c1ddf/tools/nant/extensions/common/2.0/NAnt.MSBuild.pdb -------------------------------------------------------------------------------- /tools/nant/extensions/common/2.0/NAnt.MSBuild.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | NAnt.MSBuild 5 | 6 | 7 | 8 | 9 | Functions to return information for MSBuild system. 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | Test whether project is VS2005 project and could be built using <msbuild> 18 | 19 | The name or path of the project file (csproj, vbproj, ...). 20 | 21 | True, if it is msbuild project, False otherwise. 22 | 23 | 24 | 25 | 26 | Initialize is guaranteed to be called by MSBuild at the start of the build 27 | before any events are raised. 28 | 29 | 30 | 31 | 32 | Analyses Microsoft Visual Studio .NET 2005 (Whidbey) solution files. 33 | 34 | 35 | 36 | 37 | -------------------------------------------------------------------------------- /tools/nant/extensions/common/neutral/NAntContrib/NAnt.Contrib.Tasks.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvbalaw/ExcelMapper/65a085f4ee0103fab6be0f45b375a7d7ef2c1ddf/tools/nant/extensions/common/neutral/NAntContrib/NAnt.Contrib.Tasks.dll -------------------------------------------------------------------------------- /tools/nant/extensions/common/neutral/NAntContrib/NAnt.Contrib.Tasks.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvbalaw/ExcelMapper/65a085f4ee0103fab6be0f45b375a7d7ef2c1ddf/tools/nant/extensions/common/neutral/NAntContrib/NAnt.Contrib.Tasks.pdb -------------------------------------------------------------------------------- /tools/nant/lib/common/1.1/nunit-console-runner.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvbalaw/ExcelMapper/65a085f4ee0103fab6be0f45b375a7d7ef2c1ddf/tools/nant/lib/common/1.1/nunit-console-runner.dll -------------------------------------------------------------------------------- /tools/nant/lib/common/1.1/nunit-console.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvbalaw/ExcelMapper/65a085f4ee0103fab6be0f45b375a7d7ef2c1ddf/tools/nant/lib/common/1.1/nunit-console.exe -------------------------------------------------------------------------------- /tools/nant/lib/common/1.1/nunit.core.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvbalaw/ExcelMapper/65a085f4ee0103fab6be0f45b375a7d7ef2c1ddf/tools/nant/lib/common/1.1/nunit.core.dll -------------------------------------------------------------------------------- /tools/nant/lib/common/1.1/nunit.framework.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvbalaw/ExcelMapper/65a085f4ee0103fab6be0f45b375a7d7ef2c1ddf/tools/nant/lib/common/1.1/nunit.framework.dll -------------------------------------------------------------------------------- /tools/nant/lib/common/1.1/nunit.util.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvbalaw/ExcelMapper/65a085f4ee0103fab6be0f45b375a7d7ef2c1ddf/tools/nant/lib/common/1.1/nunit.util.dll -------------------------------------------------------------------------------- /tools/nant/lib/common/2.0/nunit-console-runner.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvbalaw/ExcelMapper/65a085f4ee0103fab6be0f45b375a7d7ef2c1ddf/tools/nant/lib/common/2.0/nunit-console-runner.dll -------------------------------------------------------------------------------- /tools/nant/lib/common/2.0/nunit-console.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvbalaw/ExcelMapper/65a085f4ee0103fab6be0f45b375a7d7ef2c1ddf/tools/nant/lib/common/2.0/nunit-console.exe -------------------------------------------------------------------------------- /tools/nant/lib/common/2.0/nunit.core.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvbalaw/ExcelMapper/65a085f4ee0103fab6be0f45b375a7d7ef2c1ddf/tools/nant/lib/common/2.0/nunit.core.dll -------------------------------------------------------------------------------- /tools/nant/lib/common/2.0/nunit.framework.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvbalaw/ExcelMapper/65a085f4ee0103fab6be0f45b375a7d7ef2c1ddf/tools/nant/lib/common/2.0/nunit.framework.dll -------------------------------------------------------------------------------- /tools/nant/lib/common/2.0/nunit.util.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvbalaw/ExcelMapper/65a085f4ee0103fab6be0f45b375a7d7ef2c1ddf/tools/nant/lib/common/2.0/nunit.util.dll -------------------------------------------------------------------------------- /tools/nant/lib/common/neutral/ICSharpCode.SharpCvsLib.Console.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvbalaw/ExcelMapper/65a085f4ee0103fab6be0f45b375a7d7ef2c1ddf/tools/nant/lib/common/neutral/ICSharpCode.SharpCvsLib.Console.dll -------------------------------------------------------------------------------- /tools/nant/lib/common/neutral/ICSharpCode.SharpCvsLib.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvbalaw/ExcelMapper/65a085f4ee0103fab6be0f45b375a7d7ef2c1ddf/tools/nant/lib/common/neutral/ICSharpCode.SharpCvsLib.dll -------------------------------------------------------------------------------- /tools/nant/lib/common/neutral/ICSharpCode.SharpZipLib.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvbalaw/ExcelMapper/65a085f4ee0103fab6be0f45b375a7d7ef2c1ddf/tools/nant/lib/common/neutral/ICSharpCode.SharpZipLib.dll -------------------------------------------------------------------------------- /tools/nant/lib/common/neutral/NAntContrib/CollectionGen.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvbalaw/ExcelMapper/65a085f4ee0103fab6be0f45b375a7d7ef2c1ddf/tools/nant/lib/common/neutral/NAntContrib/CollectionGen.dll -------------------------------------------------------------------------------- /tools/nant/lib/common/neutral/NAntContrib/Interop.MsmMergeTypeLib.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvbalaw/ExcelMapper/65a085f4ee0103fab6be0f45b375a7d7ef2c1ddf/tools/nant/lib/common/neutral/NAntContrib/Interop.MsmMergeTypeLib.dll -------------------------------------------------------------------------------- /tools/nant/lib/common/neutral/NAntContrib/Interop.StarTeam.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvbalaw/ExcelMapper/65a085f4ee0103fab6be0f45b375a7d7ef2c1ddf/tools/nant/lib/common/neutral/NAntContrib/Interop.StarTeam.dll -------------------------------------------------------------------------------- /tools/nant/lib/common/neutral/NAntContrib/Interop.WindowsInstaller.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvbalaw/ExcelMapper/65a085f4ee0103fab6be0f45b375a7d7ef2c1ddf/tools/nant/lib/common/neutral/NAntContrib/Interop.WindowsInstaller.dll -------------------------------------------------------------------------------- /tools/nant/lib/common/neutral/NAntContrib/SLiNgshoT.Core.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvbalaw/ExcelMapper/65a085f4ee0103fab6be0f45b375a7d7ef2c1ddf/tools/nant/lib/common/neutral/NAntContrib/SLiNgshoT.Core.dll -------------------------------------------------------------------------------- /tools/nant/lib/common/neutral/NAntContrib/SourceSafe.Interop.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvbalaw/ExcelMapper/65a085f4ee0103fab6be0f45b375a7d7ef2c1ddf/tools/nant/lib/common/neutral/NAntContrib/SourceSafe.Interop.dll -------------------------------------------------------------------------------- /tools/nant/lib/common/neutral/NDoc.Core.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvbalaw/ExcelMapper/65a085f4ee0103fab6be0f45b375a7d7ef2c1ddf/tools/nant/lib/common/neutral/NDoc.Core.dll -------------------------------------------------------------------------------- /tools/nant/lib/common/neutral/NDoc.Documenter.Msdn.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvbalaw/ExcelMapper/65a085f4ee0103fab6be0f45b375a7d7ef2c1ddf/tools/nant/lib/common/neutral/NDoc.Documenter.Msdn.dll -------------------------------------------------------------------------------- /tools/nant/lib/common/neutral/NDoc.ExtendedUI.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvbalaw/ExcelMapper/65a085f4ee0103fab6be0f45b375a7d7ef2c1ddf/tools/nant/lib/common/neutral/NDoc.ExtendedUI.dll -------------------------------------------------------------------------------- /tools/nant/lib/common/neutral/NUnitCore.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvbalaw/ExcelMapper/65a085f4ee0103fab6be0f45b375a7d7ef2c1ddf/tools/nant/lib/common/neutral/NUnitCore.dll -------------------------------------------------------------------------------- /tools/nant/lib/net/1.0/NDoc.Core.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvbalaw/ExcelMapper/65a085f4ee0103fab6be0f45b375a7d7ef2c1ddf/tools/nant/lib/net/1.0/NDoc.Core.dll -------------------------------------------------------------------------------- /tools/nant/lib/net/1.0/NDoc.Documenter.Msdn.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvbalaw/ExcelMapper/65a085f4ee0103fab6be0f45b375a7d7ef2c1ddf/tools/nant/lib/net/1.0/NDoc.Documenter.Msdn.dll -------------------------------------------------------------------------------- /tools/nant/lib/net/1.0/NDoc.ExtendedUI.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvbalaw/ExcelMapper/65a085f4ee0103fab6be0f45b375a7d7ef2c1ddf/tools/nant/lib/net/1.0/NDoc.ExtendedUI.dll -------------------------------------------------------------------------------- /tools/nant/lib/net/1.0/nunit-console-runner.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvbalaw/ExcelMapper/65a085f4ee0103fab6be0f45b375a7d7ef2c1ddf/tools/nant/lib/net/1.0/nunit-console-runner.dll -------------------------------------------------------------------------------- /tools/nant/lib/net/1.0/nunit-console.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvbalaw/ExcelMapper/65a085f4ee0103fab6be0f45b375a7d7ef2c1ddf/tools/nant/lib/net/1.0/nunit-console.exe -------------------------------------------------------------------------------- /tools/nant/lib/net/1.0/nunit.core.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvbalaw/ExcelMapper/65a085f4ee0103fab6be0f45b375a7d7ef2c1ddf/tools/nant/lib/net/1.0/nunit.core.dll -------------------------------------------------------------------------------- /tools/nant/lib/net/1.0/nunit.framework.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvbalaw/ExcelMapper/65a085f4ee0103fab6be0f45b375a7d7ef2c1ddf/tools/nant/lib/net/1.0/nunit.framework.dll -------------------------------------------------------------------------------- /tools/nant/lib/net/1.0/nunit.util.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvbalaw/ExcelMapper/65a085f4ee0103fab6be0f45b375a7d7ef2c1ddf/tools/nant/lib/net/1.0/nunit.util.dll -------------------------------------------------------------------------------- /tools/nant/log4net.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvbalaw/ExcelMapper/65a085f4ee0103fab6be0f45b375a7d7ef2c1ddf/tools/nant/log4net.dll -------------------------------------------------------------------------------- /tools/nant/scvs.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvbalaw/ExcelMapper/65a085f4ee0103fab6be0f45b375a7d7ef2c1ddf/tools/nant/scvs.exe -------------------------------------------------------------------------------- /tools/nunit/Logo.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvbalaw/ExcelMapper/65a085f4ee0103fab6be0f45b375a7d7ef2c1ddf/tools/nunit/Logo.ico -------------------------------------------------------------------------------- /tools/nunit/bin/Failure.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvbalaw/ExcelMapper/65a085f4ee0103fab6be0f45b375a7d7ef2c1ddf/tools/nunit/bin/Failure.jpg -------------------------------------------------------------------------------- /tools/nunit/bin/Ignored.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvbalaw/ExcelMapper/65a085f4ee0103fab6be0f45b375a7d7ef2c1ddf/tools/nunit/bin/Ignored.jpg -------------------------------------------------------------------------------- /tools/nunit/bin/NUnitTests.nunit: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /tools/nunit/bin/Success.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvbalaw/ExcelMapper/65a085f4ee0103fab6be0f45b375a7d7ef2c1ddf/tools/nunit/bin/Success.jpg -------------------------------------------------------------------------------- /tools/nunit/bin/fit.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvbalaw/ExcelMapper/65a085f4ee0103fab6be0f45b375a7d7ef2c1ddf/tools/nunit/bin/fit.dll -------------------------------------------------------------------------------- /tools/nunit/bin/loadtest-assembly.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvbalaw/ExcelMapper/65a085f4ee0103fab6be0f45b375a7d7ef2c1ddf/tools/nunit/bin/loadtest-assembly.dll -------------------------------------------------------------------------------- /tools/nunit/bin/mock-assembly.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvbalaw/ExcelMapper/65a085f4ee0103fab6be0f45b375a7d7ef2c1ddf/tools/nunit/bin/mock-assembly.dll -------------------------------------------------------------------------------- /tools/nunit/bin/nonamespace-assembly.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvbalaw/ExcelMapper/65a085f4ee0103fab6be0f45b375a7d7ef2c1ddf/tools/nunit/bin/nonamespace-assembly.dll -------------------------------------------------------------------------------- /tools/nunit/bin/notestfixtures-assembly.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvbalaw/ExcelMapper/65a085f4ee0103fab6be0f45b375a7d7ef2c1ddf/tools/nunit/bin/notestfixtures-assembly.dll -------------------------------------------------------------------------------- /tools/nunit/bin/nunit-console-runner.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvbalaw/ExcelMapper/65a085f4ee0103fab6be0f45b375a7d7ef2c1ddf/tools/nunit/bin/nunit-console-runner.dll -------------------------------------------------------------------------------- /tools/nunit/bin/nunit-console-x86.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvbalaw/ExcelMapper/65a085f4ee0103fab6be0f45b375a7d7ef2c1ddf/tools/nunit/bin/nunit-console-x86.exe -------------------------------------------------------------------------------- /tools/nunit/bin/nunit-console.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvbalaw/ExcelMapper/65a085f4ee0103fab6be0f45b375a7d7ef2c1ddf/tools/nunit/bin/nunit-console.exe -------------------------------------------------------------------------------- /tools/nunit/bin/nunit-console.tests.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvbalaw/ExcelMapper/65a085f4ee0103fab6be0f45b375a7d7ef2c1ddf/tools/nunit/bin/nunit-console.tests.dll -------------------------------------------------------------------------------- /tools/nunit/bin/nunit-gui-runner.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvbalaw/ExcelMapper/65a085f4ee0103fab6be0f45b375a7d7ef2c1ddf/tools/nunit/bin/nunit-gui-runner.dll -------------------------------------------------------------------------------- /tools/nunit/bin/nunit-gui.tests.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvbalaw/ExcelMapper/65a085f4ee0103fab6be0f45b375a7d7ef2c1ddf/tools/nunit/bin/nunit-gui.tests.dll -------------------------------------------------------------------------------- /tools/nunit/bin/nunit-x86.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvbalaw/ExcelMapper/65a085f4ee0103fab6be0f45b375a7d7ef2c1ddf/tools/nunit/bin/nunit-x86.exe -------------------------------------------------------------------------------- /tools/nunit/bin/nunit.core.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvbalaw/ExcelMapper/65a085f4ee0103fab6be0f45b375a7d7ef2c1ddf/tools/nunit/bin/nunit.core.dll -------------------------------------------------------------------------------- /tools/nunit/bin/nunit.core.extensions.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvbalaw/ExcelMapper/65a085f4ee0103fab6be0f45b375a7d7ef2c1ddf/tools/nunit/bin/nunit.core.extensions.dll -------------------------------------------------------------------------------- /tools/nunit/bin/nunit.core.interfaces.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvbalaw/ExcelMapper/65a085f4ee0103fab6be0f45b375a7d7ef2c1ddf/tools/nunit/bin/nunit.core.interfaces.dll -------------------------------------------------------------------------------- /tools/nunit/bin/nunit.core.tests.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvbalaw/ExcelMapper/65a085f4ee0103fab6be0f45b375a7d7ef2c1ddf/tools/nunit/bin/nunit.core.tests.dll -------------------------------------------------------------------------------- /tools/nunit/bin/nunit.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvbalaw/ExcelMapper/65a085f4ee0103fab6be0f45b375a7d7ef2c1ddf/tools/nunit/bin/nunit.exe -------------------------------------------------------------------------------- /tools/nunit/bin/nunit.extensions.tests.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvbalaw/ExcelMapper/65a085f4ee0103fab6be0f45b375a7d7ef2c1ddf/tools/nunit/bin/nunit.extensions.tests.dll -------------------------------------------------------------------------------- /tools/nunit/bin/nunit.fixtures.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvbalaw/ExcelMapper/65a085f4ee0103fab6be0f45b375a7d7ef2c1ddf/tools/nunit/bin/nunit.fixtures.dll -------------------------------------------------------------------------------- /tools/nunit/bin/nunit.fixtures.tests.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvbalaw/ExcelMapper/65a085f4ee0103fab6be0f45b375a7d7ef2c1ddf/tools/nunit/bin/nunit.fixtures.tests.dll -------------------------------------------------------------------------------- /tools/nunit/bin/nunit.framework.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvbalaw/ExcelMapper/65a085f4ee0103fab6be0f45b375a7d7ef2c1ddf/tools/nunit/bin/nunit.framework.dll -------------------------------------------------------------------------------- /tools/nunit/bin/nunit.framework.extensions.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvbalaw/ExcelMapper/65a085f4ee0103fab6be0f45b375a7d7ef2c1ddf/tools/nunit/bin/nunit.framework.extensions.dll -------------------------------------------------------------------------------- /tools/nunit/bin/nunit.framework.tests.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvbalaw/ExcelMapper/65a085f4ee0103fab6be0f45b375a7d7ef2c1ddf/tools/nunit/bin/nunit.framework.tests.dll -------------------------------------------------------------------------------- /tools/nunit/bin/nunit.mocks.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvbalaw/ExcelMapper/65a085f4ee0103fab6be0f45b375a7d7ef2c1ddf/tools/nunit/bin/nunit.mocks.dll -------------------------------------------------------------------------------- /tools/nunit/bin/nunit.mocks.tests.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvbalaw/ExcelMapper/65a085f4ee0103fab6be0f45b375a7d7ef2c1ddf/tools/nunit/bin/nunit.mocks.tests.dll -------------------------------------------------------------------------------- /tools/nunit/bin/nunit.uikit.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvbalaw/ExcelMapper/65a085f4ee0103fab6be0f45b375a7d7ef2c1ddf/tools/nunit/bin/nunit.uikit.dll -------------------------------------------------------------------------------- /tools/nunit/bin/nunit.uikit.tests.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvbalaw/ExcelMapper/65a085f4ee0103fab6be0f45b375a7d7ef2c1ddf/tools/nunit/bin/nunit.uikit.tests.dll -------------------------------------------------------------------------------- /tools/nunit/bin/nunit.util.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvbalaw/ExcelMapper/65a085f4ee0103fab6be0f45b375a7d7ef2c1ddf/tools/nunit/bin/nunit.util.dll -------------------------------------------------------------------------------- /tools/nunit/bin/nunit.util.tests.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvbalaw/ExcelMapper/65a085f4ee0103fab6be0f45b375a7d7ef2c1ddf/tools/nunit/bin/nunit.util.tests.dll -------------------------------------------------------------------------------- /tools/nunit/bin/runFile.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvbalaw/ExcelMapper/65a085f4ee0103fab6be0f45b375a7d7ef2c1ddf/tools/nunit/bin/runFile.exe -------------------------------------------------------------------------------- /tools/nunit/bin/runFile.exe.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 18 | 19 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | -------------------------------------------------------------------------------- /tools/nunit/bin/test-assembly.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvbalaw/ExcelMapper/65a085f4ee0103fab6be0f45b375a7d7ef2c1ddf/tools/nunit/bin/test-assembly.dll -------------------------------------------------------------------------------- /tools/nunit/bin/test-utilities.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvbalaw/ExcelMapper/65a085f4ee0103fab6be0f45b375a7d7ef2c1ddf/tools/nunit/bin/test-utilities.dll -------------------------------------------------------------------------------- /tools/nunit/bin/timing-tests.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvbalaw/ExcelMapper/65a085f4ee0103fab6be0f45b375a7d7ef2c1ddf/tools/nunit/bin/timing-tests.dll -------------------------------------------------------------------------------- /tools/nunit/doc/addinsDialog.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | NUnit - AddinsDialog 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 23 | 24 | 25 |
26 | 27 |

Addins Dialog

28 | 29 |

The Addins Dialog is displayed using the Tools | Addins menu item on the main 30 | menu. It lists all addins that have been found and loaded by NUnit.

31 | 32 |
33 |
34 | 35 |
36 | 37 | 38 | 64 | 65 | 66 | 67 | 68 | 71 | 72 | 73 | 74 | 75 | -------------------------------------------------------------------------------- /tools/nunit/doc/codeFuncs.js: -------------------------------------------------------------------------------- 1 | window.onload = init; 2 | 3 | var langElements = new Array(); 4 | 5 | function init() { 6 | var els = document.getElementsByTagName( 'pre' ); 7 | var elsLen = els.length; 8 | var pattern = new RegExp('(^|\\s)(cs|vb|mc|js)(\\s|$)'); 9 | for (i = 0, j = 0; i < elsLen; i++) { 10 | if ( pattern.test(els[i].className) ) { 11 | //els[i].style.background = "#fcc"; 12 | langElements[j] = els[i]; 13 | j++; 14 | } 15 | } 16 | 17 | var lang = getCookie( "lang" ); 18 | if ( lang == null ) lang = "cs"; 19 | showLang(lang); 20 | } 21 | 22 | function getCookie(name) { 23 | var cname = name + "="; 24 | var dc = document.cookie; 25 | if ( dc.length > 0 ) { 26 | begin = dc.indexOf(cname); 27 | if ( begin != -1 ) { 28 | begin += cname.length; 29 | end = dc.indexOf(";",begin); 30 | if (end == -1) end = dc.length; 31 | return unescape(dc.substring(begin, end) ); 32 | } 33 | } 34 | } 35 | 36 | function setCookie(name,value,expires) { 37 | document.cookie = name + "=" + escape(value) + "; path=/" + 38 | ((expires == null) ? "" : "; expires=" + expires.toGMTString()); 39 | } 40 | 41 | function showLang(lang) { 42 | var pattern = new RegExp('(^|\\s)'+lang+'(\\s|$)'); 43 | var elsLen = langElements.length; 44 | for (i = 0; i < elsLen; i++ ) 45 | { 46 | var el = langElements[i]; 47 | if ( pattern.test( el.className ) ) 48 | el.style.display = ""; 49 | else 50 | el.style.display = "none"; 51 | } 52 | setCookie("lang",lang); 53 | } 54 | 55 | function Show( id ) { 56 | document.getElementById(id).style.display = ""; 57 | } 58 | 59 | function Hide( id ) { 60 | document.getElementById(id).style.display = "none"; 61 | } 62 | 63 | function ShowCS() { 64 | showLang('cs'); 65 | } 66 | 67 | function ShowVB() { 68 | showLang('vb'); 69 | } 70 | 71 | function ShowMC() { 72 | showLang('mc'); 73 | } 74 | 75 | function ShowJS() { 76 | showLang('js'); 77 | } 78 | -------------------------------------------------------------------------------- /tools/nunit/doc/configEditor.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvbalaw/ExcelMapper/65a085f4ee0103fab6be0f45b375a7d7ef2c1ddf/tools/nunit/doc/configEditor.html -------------------------------------------------------------------------------- /tools/nunit/doc/configFiles.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvbalaw/ExcelMapper/65a085f4ee0103fab6be0f45b375a7d7ef2c1ddf/tools/nunit/doc/configFiles.html -------------------------------------------------------------------------------- /tools/nunit/doc/contextMenu.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvbalaw/ExcelMapper/65a085f4ee0103fab6be0f45b375a7d7ef2c1ddf/tools/nunit/doc/contextMenu.html -------------------------------------------------------------------------------- /tools/nunit/doc/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvbalaw/ExcelMapper/65a085f4ee0103fab6be0f45b375a7d7ef2c1ddf/tools/nunit/doc/favicon.ico -------------------------------------------------------------------------------- /tools/nunit/doc/files/QuickStart.Spanish.doc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvbalaw/ExcelMapper/65a085f4ee0103fab6be0f45b375a7d7ef2c1ddf/tools/nunit/doc/files/QuickStart.Spanish.doc -------------------------------------------------------------------------------- /tools/nunit/doc/files/QuickStart.doc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvbalaw/ExcelMapper/65a085f4ee0103fab6be0f45b375a7d7ef2c1ddf/tools/nunit/doc/files/QuickStart.doc -------------------------------------------------------------------------------- /tools/nunit/doc/files/Summary.xslt: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | Tests run: 11 | 12 | , Failures: 13 | 14 | , Not run: 15 | 16 | , Time: 17 | 18 | seconds 19 | 20 | 21 | 22 | 23 | Failures: 24 | 25 | 26 | Tests not run: 27 | 28 | 29 | 30 | 31 | 32 | 33 | ) 34 | 35 | : 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | -------------------------------------------------------------------------------- /tools/nunit/doc/files/Thumbs.db: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvbalaw/ExcelMapper/65a085f4ee0103fab6be0f45b375a7d7ef2c1ddf/tools/nunit/doc/files/Thumbs.db -------------------------------------------------------------------------------- /tools/nunit/doc/img/addinsDialog.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvbalaw/ExcelMapper/65a085f4ee0103fab6be0f45b375a7d7ef2c1ddf/tools/nunit/doc/img/addinsDialog.JPG -------------------------------------------------------------------------------- /tools/nunit/doc/img/assembliesTab.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvbalaw/ExcelMapper/65a085f4ee0103fab6be0f45b375a7d7ef2c1ddf/tools/nunit/doc/img/assembliesTab.jpg -------------------------------------------------------------------------------- /tools/nunit/doc/img/assemblyReloadOptions.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvbalaw/ExcelMapper/65a085f4ee0103fab6be0f45b375a7d7ef2c1ddf/tools/nunit/doc/img/assemblyReloadOptions.JPG -------------------------------------------------------------------------------- /tools/nunit/doc/img/bulletOff.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvbalaw/ExcelMapper/65a085f4ee0103fab6be0f45b375a7d7ef2c1ddf/tools/nunit/doc/img/bulletOff.gif -------------------------------------------------------------------------------- /tools/nunit/doc/img/bulletOn.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvbalaw/ExcelMapper/65a085f4ee0103fab6be0f45b375a7d7ef2c1ddf/tools/nunit/doc/img/bulletOn.gif -------------------------------------------------------------------------------- /tools/nunit/doc/img/configEditor.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvbalaw/ExcelMapper/65a085f4ee0103fab6be0f45b375a7d7ef2c1ddf/tools/nunit/doc/img/configEditor.jpg -------------------------------------------------------------------------------- /tools/nunit/doc/img/console-mock.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvbalaw/ExcelMapper/65a085f4ee0103fab6be0f45b375a7d7ef2c1ddf/tools/nunit/doc/img/console-mock.jpg -------------------------------------------------------------------------------- /tools/nunit/doc/img/displayTab.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvbalaw/ExcelMapper/65a085f4ee0103fab6be0f45b375a7d7ef2c1ddf/tools/nunit/doc/img/displayTab.jpg -------------------------------------------------------------------------------- /tools/nunit/doc/img/generalOptions.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvbalaw/ExcelMapper/65a085f4ee0103fab6be0f45b375a7d7ef2c1ddf/tools/nunit/doc/img/generalOptions.jpg -------------------------------------------------------------------------------- /tools/nunit/doc/img/generalTab.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvbalaw/ExcelMapper/65a085f4ee0103fab6be0f45b375a7d7ef2c1ddf/tools/nunit/doc/img/generalTab.jpg -------------------------------------------------------------------------------- /tools/nunit/doc/img/gui-screenshot.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvbalaw/ExcelMapper/65a085f4ee0103fab6be0f45b375a7d7ef2c1ddf/tools/nunit/doc/img/gui-screenshot.jpg -------------------------------------------------------------------------------- /tools/nunit/doc/img/gui-verify.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvbalaw/ExcelMapper/65a085f4ee0103fab6be0f45b375a7d7ef2c1ddf/tools/nunit/doc/img/gui-verify.jpg -------------------------------------------------------------------------------- /tools/nunit/doc/img/langfilter.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvbalaw/ExcelMapper/65a085f4ee0103fab6be0f45b375a7d7ef2c1ddf/tools/nunit/doc/img/langfilter.gif -------------------------------------------------------------------------------- /tools/nunit/doc/img/logo.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvbalaw/ExcelMapper/65a085f4ee0103fab6be0f45b375a7d7ef2c1ddf/tools/nunit/doc/img/logo.gif -------------------------------------------------------------------------------- /tools/nunit/doc/img/miniGui.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvbalaw/ExcelMapper/65a085f4ee0103fab6be0f45b375a7d7ef2c1ddf/tools/nunit/doc/img/miniGui.jpg -------------------------------------------------------------------------------- /tools/nunit/doc/img/optionsDialog.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvbalaw/ExcelMapper/65a085f4ee0103fab6be0f45b375a7d7ef2c1ddf/tools/nunit/doc/img/optionsDialog.jpg -------------------------------------------------------------------------------- /tools/nunit/doc/img/resultTab.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvbalaw/ExcelMapper/65a085f4ee0103fab6be0f45b375a7d7ef2c1ddf/tools/nunit/doc/img/resultTab.jpg -------------------------------------------------------------------------------- /tools/nunit/doc/img/testLoadOptions.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvbalaw/ExcelMapper/65a085f4ee0103fab6be0f45b375a7d7ef2c1ddf/tools/nunit/doc/img/testLoadOptions.jpg -------------------------------------------------------------------------------- /tools/nunit/doc/img/testOutputOptions.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvbalaw/ExcelMapper/65a085f4ee0103fab6be0f45b375a7d7ef2c1ddf/tools/nunit/doc/img/testOutputOptions.jpg -------------------------------------------------------------------------------- /tools/nunit/doc/img/testProperties.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvbalaw/ExcelMapper/65a085f4ee0103fab6be0f45b375a7d7ef2c1ddf/tools/nunit/doc/img/testProperties.jpg -------------------------------------------------------------------------------- /tools/nunit/doc/img/testResultOptions.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvbalaw/ExcelMapper/65a085f4ee0103fab6be0f45b375a7d7ef2c1ddf/tools/nunit/doc/img/testResultOptions.JPG -------------------------------------------------------------------------------- /tools/nunit/doc/img/testTab.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvbalaw/ExcelMapper/65a085f4ee0103fab6be0f45b375a7d7ef2c1ddf/tools/nunit/doc/img/testTab.jpg -------------------------------------------------------------------------------- /tools/nunit/doc/img/testsTab.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvbalaw/ExcelMapper/65a085f4ee0103fab6be0f45b375a7d7ef2c1ddf/tools/nunit/doc/img/testsTab.jpg -------------------------------------------------------------------------------- /tools/nunit/doc/img/textOutputOptions.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvbalaw/ExcelMapper/65a085f4ee0103fab6be0f45b375a7d7ef2c1ddf/tools/nunit/doc/img/textOutputOptions.jpg -------------------------------------------------------------------------------- /tools/nunit/doc/img/treeDisplayOptions.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvbalaw/ExcelMapper/65a085f4ee0103fab6be0f45b375a7d7ef2c1ddf/tools/nunit/doc/img/treeDisplayOptions.JPG -------------------------------------------------------------------------------- /tools/nunit/doc/img/visualStudioOptions.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvbalaw/ExcelMapper/65a085f4ee0103fab6be0f45b375a7d7ef2c1ddf/tools/nunit/doc/img/visualStudioOptions.JPG -------------------------------------------------------------------------------- /tools/nunit/doc/mainMenu.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvbalaw/ExcelMapper/65a085f4ee0103fab6be0f45b375a7d7ef2c1ddf/tools/nunit/doc/mainMenu.html -------------------------------------------------------------------------------- /tools/nunit/doc/optionsDialog.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvbalaw/ExcelMapper/65a085f4ee0103fab6be0f45b375a7d7ef2c1ddf/tools/nunit/doc/optionsDialog.html -------------------------------------------------------------------------------- /tools/nunit/doc/quickStart.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvbalaw/ExcelMapper/65a085f4ee0103fab6be0f45b375a7d7ef2c1ddf/tools/nunit/doc/quickStart.html -------------------------------------------------------------------------------- /tools/nunit/doc/testProperties.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvbalaw/ExcelMapper/65a085f4ee0103fab6be0f45b375a7d7ef2c1ddf/tools/nunit/doc/testProperties.html -------------------------------------------------------------------------------- /tools/nunit/doc/vsSupport.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvbalaw/ExcelMapper/65a085f4ee0103fab6be0f45b375a7d7ef2c1ddf/tools/nunit/doc/vsSupport.html -------------------------------------------------------------------------------- /tools/nunit/license.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvbalaw/ExcelMapper/65a085f4ee0103fab6be0f45b375a7d7ef2c1ddf/tools/nunit/license.txt -------------------------------------------------------------------------------- /tools/nunit/rowtest-license.txt: -------------------------------------------------------------------------------- 1 | Copyright (c) 2007 Andreas Schlapsi 2 | 3 | Permission is hereby granted, free of charge, to any person 4 | obtaining a copy of this software and associated documentation 5 | files (the "Software"), to deal in the Software without 6 | restriction, including without limitation the rights to use, 7 | copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | copies of the Software, and to permit persons to whom the 9 | Software is furnished to do so, subject to the following 10 | conditions: 11 | 12 | The above copyright notice and this permission notice shall be 13 | included in all copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 16 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES 17 | OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 18 | NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 19 | HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 20 | WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 21 | FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 22 | OTHER DEALINGS IN THE SOFTWARE. 23 | -------------------------------------------------------------------------------- /tools/nunit/samples/Extensibility/Core/Install.bat: -------------------------------------------------------------------------------- 1 | @echo off 2 | Rem This is called by the post-build event. You may modify it to copy the addin 3 | Rem to whatever locations you like. As provided, it copies it to a number of 4 | Rem directories relative to the target, provided they exist. 5 | 6 | setlocal 7 | set UP6= ..\..\..\..\..\.. 8 | 9 | Rem See whether we are doing a production or development install 10 | if exist %UP6%\bin goto prod 11 | if exist %UP6%\src goto dev 12 | echo No install locations found - install %1 manually 13 | goto end 14 | 15 | :prod 16 | Rem For production install, ensure we have an addins directory 17 | if not exist %UP6%\bin\addins mkdir %UP6%\bin\addins 18 | copy %1 %UP6%\bin\addins 19 | echo Installed %1 in bin\addins directory 20 | goto end 21 | 22 | :dev 23 | Rem For development installs, try each nunit-gui-exe output directory and 24 | Rem use those that have an addins sub-directory 25 | call :try %1 Debug 26 | call :try %1 Debug2005 27 | call :try %1 Release 28 | call :try %1 Release2005 29 | 30 | goto end 31 | 32 | :try 33 | if not exist %UP6%\src\GuiRunner\nunit-gui-exe\bin\%2 goto end 34 | if exist %UP6%\src\GuiRunner\nunit-gui-exe\bin\%2\addins goto try2 35 | md %UP6%\src\GuiRunner\nunit-gui-exe\bin\%2\addins 36 | :try2 37 | copy %1 %UP6%\src\GuiRunner\nunit-gui-exe\bin\%2\addins 38 | echo Installed %1 in nunit-gui-exe\bin\%2\addins directory 39 | 40 | :end -------------------------------------------------------------------------------- /tools/nunit/samples/Extensibility/Core/MaxTimeDecorator/MaxTimeAttribute.cs: -------------------------------------------------------------------------------- 1 | // **************************************************************** 2 | // Copyright 2007, Charlie Poole 3 | // This is free software licensed under the NUnit license. You may 4 | // obtain a copy of the license at http://nunit.org/?p=license&r=2.4 5 | // **************************************************************** 6 | 7 | using System; 8 | 9 | namespace NUnit.Framework.Extensions 10 | { 11 | /// 12 | /// Summary description for MaxTimeAttribute. 13 | /// 14 | [AttributeUsage( AttributeTargets.Method, AllowMultiple=false, Inherited=false )] 15 | public sealed class MaxTimeAttribute : Attribute 16 | { 17 | private int maxTime; 18 | private bool expectFailure; 19 | 20 | public MaxTimeAttribute( int maxTime ) 21 | { 22 | this.maxTime = maxTime; 23 | } 24 | 25 | public int MaxTime 26 | { 27 | get { return maxTime; } 28 | } 29 | 30 | /// 31 | /// ExpectFailure is an optional attribute used for testing 32 | /// cases where the timeout is actually expected. 33 | /// 34 | public bool ExpectFailure 35 | { 36 | get { return expectFailure; } 37 | set { expectFailure = value; } 38 | } 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /tools/nunit/samples/Extensibility/Core/MaxTimeDecorator/MaxTimeDecorator.cs: -------------------------------------------------------------------------------- 1 | // **************************************************************** 2 | // Copyright 2007, Charlie Poole 3 | // This is free software licensed under the NUnit license. You may 4 | // obtain a copy of the license at http://nunit.org/?p=license&r=2.4 5 | // **************************************************************** 6 | 7 | using System; 8 | using System.Reflection; 9 | using NUnit.Core.Extensibility; 10 | 11 | namespace NUnit.Core.Extensions 12 | { 13 | /// 14 | /// MaxTimeDecorator is a test decorator which permits specifying a maximum 15 | /// time that the test should take. If it takes longer, the test fails. 16 | /// 17 | /// The decorator works by replacing the original test with a special 18 | /// test case that overrides the run method to measure the time taken. 19 | /// 20 | [NUnitAddin(Description="Fails a test if its elapsed time is longer than a given maximum")] 21 | public class MaxTimeDecorator : IAddin, ITestDecorator 22 | { 23 | #region IAddin Members 24 | 25 | public bool Install(IExtensionHost host) 26 | { 27 | System.Diagnostics.Trace.WriteLine( "MaxTimeDecorator: Install called" ); 28 | IExtensionPoint decorators = host.GetExtensionPoint( "TestDecorators" ); 29 | if ( decorators == null ) return false; 30 | 31 | decorators.Install( this ); 32 | return true; 33 | } 34 | 35 | #endregion 36 | 37 | #region ITestDecorator Members 38 | 39 | public Test Decorate(Test test, System.Reflection.MemberInfo member) 40 | { 41 | if ( test is NUnitTestMethod ) 42 | { 43 | Attribute attr = Reflect.GetAttribute( 44 | member, "NUnit.Framework.Extensions.MaxTimeAttribute", false ); 45 | if ( attr != null ) 46 | { 47 | int maxTime = (int)Reflect.GetPropertyValue( attr, "MaxTime", BindingFlags.Public | BindingFlags.Instance ); 48 | bool expectFailure = (bool)Reflect.GetPropertyValue( attr, "ExpectFailure", BindingFlags.Public | BindingFlags.Instance ); 49 | test = new MaxTimeTestCase( (NUnitTestMethod)test, maxTime, expectFailure ); 50 | } 51 | } 52 | 53 | return test; 54 | } 55 | 56 | #endregion 57 | } 58 | } 59 | -------------------------------------------------------------------------------- /tools/nunit/samples/Extensibility/Core/MaxTimeDecorator/MaxTimeDecorator.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /tools/nunit/samples/Extensibility/Core/MaxTimeDecorator/Tests/MaxTimeDecoratorTests.cs: -------------------------------------------------------------------------------- 1 | // **************************************************************** 2 | // Copyright 2007, Charlie Poole 3 | // This is free software licensed under the NUnit license. You may 4 | // obtain a copy of the license at http://nunit.org/?p=license&r=2.4 5 | // **************************************************************** 6 | 7 | using System; 8 | using NUnit.Framework; 9 | using NUnit.Framework.Extensions; 10 | 11 | namespace Tests 12 | { 13 | /// 14 | /// Tests for MaxTime decoration. Some of these tests are 15 | /// actually expected to fail, so the results must be 16 | /// examined visually. It would be possible to test these 17 | /// automatically by running a second copy of NUnit, but 18 | /// this is better handled through an acceptance test 19 | /// suite such as FIT. 20 | /// 21 | [TestFixture] 22 | public class MaxTimeDecoratorTests 23 | { 24 | [Test,MaxTime(1000)] 25 | public void MaxTimeNotExceeded() 26 | { 27 | } 28 | 29 | [Test,MaxTime(1000), ExpectedException(typeof(AssertionException),ExpectedMessage="Intentional failure")] 30 | public void MaxTimeNotExceededButFailed() 31 | { 32 | Assert.Fail("Intentional failure"); 33 | } 34 | 35 | [Test,MaxTime(1, ExpectFailure=true), Description("This should fail due to time exceeded")] 36 | public void MaxTimeWasExceeded() 37 | { 38 | System.Threading.Thread.Sleep(100); 39 | } 40 | 41 | [Test,MaxTime(1),ExpectedException(typeof(AssertionException),ExpectedMessage="Intentional failure")] 42 | public void MaxTimeWasExceededButFailed() 43 | { 44 | System.Threading.Thread.Sleep(100); 45 | Assert.Fail("Intentional failure"); 46 | } 47 | } 48 | } 49 | -------------------------------------------------------------------------------- /tools/nunit/samples/Extensibility/Core/MaxTimeDecorator/Tests/MaxTimeDecoratorTests.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /tools/nunit/samples/Extensibility/Core/Minimal/Minimal.build: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 15 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 45 | 46 | 47 | -------------------------------------------------------------------------------- /tools/nunit/samples/Extensibility/Core/Minimal/Minimal.cs: -------------------------------------------------------------------------------- 1 | // **************************************************************** 2 | // Copyright 2007, Charlie Poole 3 | // This is free software licensed under the NUnit license. You may 4 | // obtain a copy of the license at http://nunit.org/?p=license&r=2.4 5 | // **************************************************************** 6 | 7 | using System; 8 | using NUnit.Core.Extensibility; 9 | 10 | namespace NUnit.Samples.Extensibility 11 | { 12 | /// 13 | /// This is the smallest possible Addin, which does nothing 14 | /// but is recognized by NUnit and listed in the Addins dialog. 15 | /// 16 | /// The Addin class is marked by the NUnitAddin attribute and 17 | /// implements IAddin, as required. Optional property syntax 18 | /// is used here to override the default name of the addin and 19 | /// to provide a description. Both are displayed by NUnit in the 20 | /// Addin Dialog. 21 | /// 22 | /// The addin doesn't actually install anything, but simply 23 | /// returns false in its Install method. 24 | /// 25 | [NUnitAddin(Name="Minimal Addin", Description="This Addin doesn't do anything")] 26 | public class Minimal : IAddin 27 | { 28 | #region IAddin Members 29 | public bool Install(IExtensionHost host) 30 | { 31 | // TODO: Add Minimal.Install implementation 32 | return true; 33 | } 34 | #endregion 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /tools/nunit/samples/Extensibility/Core/Minimal/Minimal.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /tools/nunit/samples/Extensibility/Core/Minimal/ReadMe.txt: -------------------------------------------------------------------------------- 1 | Minimal Addin Example 2 | 3 | 4 | MinimalAddin Class 5 | 6 | This class represents the addin. It is marked by the NUnitAddinAttribute 7 | and implements the required IAddin interface. When called by NUnit to 8 | install itself, it simply returns false. 9 | 10 | Note on Building this Extension 11 | 12 | If you use the Visual Studio solution, the NUnit references in both 13 | included projects must be changed so that they refer to the copy of 14 | NUnit in which you want to install the extension. The post-build step 15 | for the SampleSuiteExtension project must be changed to copy the 16 | extension into the addins directory for your NUnit install. 17 | 18 | NOTE: 19 | 20 | The references to nunit.core and nunit.common in the 21 | SampleSuiteExtension project have their Copy Local property set to 22 | false, rather than the Visual Studio default of true. In developing 23 | extensions, it is essential there be no extra copies of these assemblies 24 | be created. Once the extension is complete, those who install it in 25 | binary form will not need to deal with this issue. 26 | 27 | 28 | -------------------------------------------------------------------------------- /tools/nunit/samples/Extensibility/Core/SampleFixtureExtension/ReadMe.txt: -------------------------------------------------------------------------------- 1 | SampleSuiteExtension Example 2 | 3 | This is a minimal example of a SuiteBuilder extension. It extends 4 | NUnit.Core.TestSuite test suite and creates a fixture that runs every 5 | test starting with "SampleTest..." It packages both the core extension 6 | and the attribute used in the tests in the same assembly. 7 | 8 | SampleSuiteExtension Class 9 | 10 | This class derives from NUnit.Framework.TestSuite and represents the 11 | extended suite within NUnit. Because it inherits from TestSuite, 12 | rather than TestFixture, it has to construct its own fixture object and 13 | find its own tests. Everything is done in the constructor for simplicity. 14 | 15 | SampleSuiteExtensionBuilder 16 | 17 | This class is the actual SuiteBuilder loaded by NUnit as an add-in. 18 | It recognizes the SampleSuiteExtensionAttribute and invokes the 19 | SampleSuiteExtension constructor to build the suite. 20 | 21 | SampleSuiteExtensionAttribute 22 | 23 | This is the special attribute used to mark tests to be constructed 24 | using this add-in. It is the only class referenced from the user tests. 25 | 26 | Note on Building this Extension 27 | 28 | If you use the Visual Studio solution, the NUnit references in both 29 | included projects must be changed so that they refer to the copy of 30 | NUnit in which you want to install the extension. The post-build step 31 | for the SampleSuiteExtension project must be changed to copy the 32 | extension into the addins directory for your NUnit install. 33 | 34 | NOTE: 35 | 36 | The references to nunit.core and nunit.common in the 37 | SampleSuiteExtension project have their Copy Local property set to 38 | false, rather than the Visual Studio default of true. In developing 39 | extensions, it is essential there be no extra copies of these assemblies 40 | be created. Once the extension is complete, those who install it in 41 | binary form will not need to deal with this issue. 42 | 43 | 44 | -------------------------------------------------------------------------------- /tools/nunit/samples/Extensibility/Core/SampleFixtureExtension/SampleFixtureExtension.cs: -------------------------------------------------------------------------------- 1 | // **************************************************************** 2 | // Copyright 2007, Charlie Poole 3 | // This is free software licensed under the NUnit license. You may 4 | // obtain a copy of the license at http://nunit.org/?p=license&r=2.4 5 | // **************************************************************** 6 | 7 | using System; 8 | 9 | namespace NUnit.Core.Extensions 10 | { 11 | /// 12 | /// SampleFixtureExtension extends NUnitTestFixture and adds a custom setup 13 | /// before running TestFixtureSetUp and after running TestFixtureTearDown. 14 | /// Because it inherits from NUnitTestFixture, a lot of work is done for it. 15 | /// 16 | class SampleFixtureExtension : NUnitTestFixture 17 | { 18 | public SampleFixtureExtension( Type fixtureType ) 19 | : base( fixtureType ) 20 | { 21 | // NOTE: Since we are inheriting from NUnitTestFixture we don't 22 | // have to do anything if we don't want to. All the attributes 23 | // that are normally used with an NUnitTestFixture will be 24 | // recognized. 25 | // 26 | // Just to have something to do, we override DoOneTimeSetUp and 27 | // DoOneTimeTearDown below to do some special processing before 28 | // and after the normal TestFixtureSetUp and TestFixtureTearDown. 29 | // In this example, we simply display a message. 30 | } 31 | 32 | protected override void DoOneTimeSetUp(TestResult suiteResult) 33 | { 34 | Console.WriteLine( "Extended Fixture SetUp called" ); 35 | base.DoOneTimeSetUp (suiteResult); 36 | } 37 | 38 | protected override void DoOneTimeTearDown(TestResult suiteResult) 39 | { 40 | base.DoOneTimeTearDown (suiteResult); 41 | Console.WriteLine( "Extended Fixture TearDown called" ); 42 | } 43 | } 44 | } 45 | -------------------------------------------------------------------------------- /tools/nunit/samples/Extensibility/Core/SampleFixtureExtension/SampleFixtureExtension.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /tools/nunit/samples/Extensibility/Core/SampleFixtureExtension/SampleFixtureExtensionAttribute.cs: -------------------------------------------------------------------------------- 1 | // **************************************************************** 2 | // Copyright 2007, Charlie Poole 3 | // This is free software licensed under the NUnit license. You may 4 | // obtain a copy of the license at http://nunit.org/?p=license&r=2.4 5 | // **************************************************************** 6 | 7 | using System; 8 | 9 | namespace NUnit.Core.Extensions 10 | { 11 | /// 12 | /// SampleFixtureExtensionAttribute is used to identify a SampleFixtureExtension class 13 | /// 14 | [AttributeUsage(AttributeTargets.Class, AllowMultiple=false)] 15 | public sealed class SampleFixtureExtensionAttribute : Attribute 16 | { 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /tools/nunit/samples/Extensibility/Core/SampleFixtureExtension/SampleFixtureExtensionBuilder.cs: -------------------------------------------------------------------------------- 1 | // **************************************************************** 2 | // Copyright 2007, Charlie Poole 3 | // This is free software licensed under the NUnit license. You may 4 | // obtain a copy of the license at http://nunit.org/?p=license&r=2.4 5 | // **************************************************************** 6 | 7 | using System; 8 | using NUnit.Core.Builders; 9 | using NUnit.Core.Extensibility; 10 | 11 | namespace NUnit.Core.Extensions 12 | { 13 | /// 14 | /// MockFixtureExtensionBuilder knows how to build 15 | /// a MockFixtureExtension. 16 | /// 17 | [NUnitAddin(Description="Wraps an NUnitTestFixture with an additional level of SetUp and TearDown")] 18 | public class SampleFixtureExtensionBuilder : NUnitTestFixtureBuilder, IAddin 19 | { 20 | #region NUnitTestFixtureBuilder Overrides 21 | /// 22 | /// Makes a SampleFixtureExtension instance 23 | /// 24 | /// The type to be used 25 | /// A SampleFixtureExtension as a TestSuite 26 | protected override TestSuite MakeSuite(Type type) 27 | { 28 | return new SampleFixtureExtension( type ); 29 | } 30 | 31 | // The builder recognizes the types that it can use by the presense 32 | // of SampleFixtureExtensionAttribute. Note that an attribute does not 33 | // have to be used. You can use any arbitrary set of rules that can be 34 | // implemented using reflection on the type. 35 | public override bool CanBuildFrom(Type type) 36 | { 37 | return Reflect.HasAttribute( type, "NUnit.Core.Extensions.SampleFixtureExtensionAttribute", false ); 38 | } 39 | #endregion 40 | 41 | #region IAddin Members 42 | public bool Install(IExtensionHost host) 43 | { 44 | IExtensionPoint suiteBuilders = host.GetExtensionPoint( "SuiteBuilders" ); 45 | if ( suiteBuilders == null ) 46 | return false; 47 | 48 | suiteBuilders.Install( this ); 49 | return true; 50 | } 51 | #endregion 52 | } 53 | } 54 | -------------------------------------------------------------------------------- /tools/nunit/samples/Extensibility/Core/SampleFixtureExtension/Tests/SampleFixtureExtensionTests.cs: -------------------------------------------------------------------------------- 1 | // **************************************************************** 2 | // Copyright 2007, Charlie Poole 3 | // This is free software licensed under the NUnit license. You may 4 | // obtain a copy of the license at http://nunit.org/?p=license&r=2.4 5 | // **************************************************************** 6 | 7 | using System; 8 | using NUnit.Framework; 9 | using NUnit.Core.Extensions; 10 | 11 | namespace NUnit.Extensions.Tests 12 | { 13 | /// 14 | /// Test class that demonstrates SampleFixtureExtension 15 | /// 16 | [SampleFixtureExtension] 17 | public class SampleFixtureExtensionTests 18 | { 19 | [TestFixtureSetUp] 20 | public void SetUpTests() 21 | { 22 | Console.WriteLine( "TestFixtureSetUp called" ); 23 | } 24 | 25 | [TestFixtureTearDown] 26 | public void FixtureTearDown() 27 | { 28 | Console.WriteLine( "TestFixtureTearDown called" ); 29 | } 30 | 31 | [Test] 32 | public void SomeTest() 33 | { 34 | Console.WriteLine( "Hello from some test" ); 35 | } 36 | 37 | [Test] 38 | public void AnotherTest() 39 | { 40 | Console.WriteLine( "Hello from another test" ); 41 | } 42 | 43 | public void NotATest() 44 | { 45 | Console.WriteLine( "I shouldn't be called!" ); 46 | } 47 | } 48 | } 49 | -------------------------------------------------------------------------------- /tools/nunit/samples/Extensibility/Core/SampleFixtureExtension/Tests/SampleFixtureExtensionTests.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /tools/nunit/samples/Extensibility/Core/SampleSuiteExtension/Addin.cs: -------------------------------------------------------------------------------- 1 | // **************************************************************** 2 | // Copyright 2007, Charlie Poole 3 | // This is free software licensed under the NUnit license. You may 4 | // obtain a copy of the license at http://nunit.org/?p=license&r=2.4 5 | // **************************************************************** 6 | 7 | using System; 8 | using NUnit.Core.Extensibility; 9 | 10 | namespace NUnit.Core.Extensions 11 | { 12 | /// 13 | /// Summary description for Addin. 14 | /// 15 | [NUnitAddin(Name="SampleSuiteExtension", Description = "Recognizes Tests starting with SampleTest...")] 16 | public class Addin : IAddin 17 | { 18 | #region IAddin Members 19 | public bool Install(IExtensionHost host) 20 | { 21 | IExtensionPoint builders = host.GetExtensionPoint( "SuiteBuilders" ); 22 | if ( builders == null ) 23 | return false; 24 | 25 | builders.Install( new SampleSuiteExtensionBuilder() ); 26 | return true; 27 | } 28 | #endregion 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /tools/nunit/samples/Extensibility/Core/SampleSuiteExtension/ReadMe.txt: -------------------------------------------------------------------------------- 1 | SampleSuiteExtension Example 2 | 3 | This is a minimal example of a SuiteBuilder extension. It extends 4 | NUnit.Core.TestSuite test suite and creates a fixture that runs every 5 | test starting with "SampleTest..." It packages both the core extension 6 | and the attribute used in the tests in the same assembly. 7 | 8 | SampleSuiteExtension Class 9 | 10 | This class derives from NUnit.Framework.TestSuite and represents the 11 | extended suite within NUnit. Because it inherits from TestSuite, 12 | rather than TestFixture, it has to construct its own fixture object and 13 | find its own tests. Everything is done in the constructor for simplicity. 14 | 15 | SampleSuiteExtensionBuilder 16 | 17 | This class is the actual SuiteBuilder loaded by NUnit as an add-in. 18 | It recognizes the SampleSuiteExtensionAttribute and invokes the 19 | SampleSuiteExtension constructor to build the suite. 20 | 21 | SampleSuiteExtensionAttribute 22 | 23 | This is the special attribute used to mark tests to be constructed 24 | using this add-in. It is the only class referenced from the user tests. 25 | 26 | Note on Building this Extension 27 | 28 | If you use the Visual Studio solution, the NUnit references in both 29 | included projects must be changed so that they refer to the copy of 30 | NUnit in which you want to install the extension. The post-build step 31 | for the SampleSuiteExtension project must be changed to copy the 32 | extension into the addins directory for your NUnit install. 33 | 34 | NOTE: 35 | 36 | The references to nunit.core and nunit.common in the 37 | SampleSuiteExtension project have their Copy Local property set to 38 | false, rather than the Visual Studio default of true. In developing 39 | extensions, it is essential there be no extra copies of these assemblies 40 | be created. Once the extension is complete, those who install it in 41 | binary form will not need to deal with this issue. 42 | 43 | 44 | -------------------------------------------------------------------------------- /tools/nunit/samples/Extensibility/Core/SampleSuiteExtension/SampleSuiteExtension.cs: -------------------------------------------------------------------------------- 1 | // **************************************************************** 2 | // Copyright 2007, Charlie Poole 3 | // This is free software licensed under the NUnit license. You may 4 | // obtain a copy of the license at http://nunit.org/?p=license&r=2.4 5 | // **************************************************************** 6 | 7 | using System; 8 | using System.Reflection; 9 | 10 | namespace NUnit.Core.Extensions 11 | { 12 | /// 13 | /// SampleSuiteExtension is a minimal example of a suite extension. It 14 | /// extends test suite and creates a fixture that runs every test starting 15 | /// with "SampleTest..." Because it inherits from TestSuite, rather than 16 | /// TestFixture, it has to construct its own fixture object and find its 17 | /// own tests. Everything is done in the constructor for simplicity. 18 | /// 19 | class SampleSuiteExtension : TestSuite 20 | { 21 | public SampleSuiteExtension( Type fixtureType ) 22 | : base( fixtureType ) 23 | { 24 | // Create the fixture object. We could wait to do this when 25 | // it is needed, but we do it here for simplicity. 26 | this.Fixture = Reflect.Construct( fixtureType ); 27 | 28 | // Locate our test methods and add them to the suite using 29 | // the Add method of TestSuite. Note that we don't do a simple 30 | // Tests.Add, because that wouldn't set the parent of the tests. 31 | foreach( MethodInfo method in fixtureType.GetMethods( 32 | BindingFlags.Public | BindingFlags.Instance | BindingFlags.DeclaredOnly ) ) 33 | { 34 | if ( method.Name.StartsWith( "SampleTest" ) ) 35 | this.Add( new NUnitTestMethod( method ) ); 36 | } 37 | } 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /tools/nunit/samples/Extensibility/Core/SampleSuiteExtension/SampleSuiteExtensionAttribute.cs: -------------------------------------------------------------------------------- 1 | // **************************************************************** 2 | // Copyright 2007, Charlie Poole 3 | // This is free software licensed under the NUnit license. You may 4 | // obtain a copy of the license at http://nunit.org/?p=license&r=2.4 5 | // **************************************************************** 6 | 7 | using System; 8 | 9 | namespace NUnit.Core.Extensions 10 | { 11 | /// 12 | /// SampleSuiteExtensionAttribute is used to identify a SampleSuiteExtension fixture 13 | /// 14 | [AttributeUsage(AttributeTargets.Class, AllowMultiple=false)] 15 | public sealed class SampleSuiteExtensionAttribute : Attribute 16 | { 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /tools/nunit/samples/Extensibility/Core/SampleSuiteExtension/SampleSuiteExtensionBuilder.cs: -------------------------------------------------------------------------------- 1 | // **************************************************************** 2 | // Copyright 2007, Charlie Poole 3 | // This is free software licensed under the NUnit license. You may 4 | // obtain a copy of the license at http://nunit.org/?p=license&r=2.4 5 | // **************************************************************** 6 | 7 | using System; 8 | using NUnit.Core.Extensibility; 9 | 10 | namespace NUnit.Core.Extensions 11 | { 12 | /// 13 | /// SampleSuiteExtensionBuilder knows how to build a SampleSuiteExtension 14 | /// 15 | public class SampleSuiteExtensionBuilder : ISuiteBuilder 16 | { 17 | #region ISuiteBuilder Members 18 | 19 | // This builder delegates all the work to the constructor of the 20 | // extension suite. Many builders will need to do more work, 21 | // looking for other attributes, setting properties on the 22 | // suite and locating methods for tests, setup and teardown. 23 | public Test BuildFrom(Type type) 24 | { 25 | if ( CanBuildFrom( type ) ) 26 | return new SampleSuiteExtension( type ); 27 | return null; 28 | } 29 | 30 | // The builder recognizes the types that it can use by the presense 31 | // of SampleSuiteExtensionAttribute. Note that an attribute does not 32 | // have to be used. You can use any arbitrary set of rules that can be 33 | // implemented using reflection on the type. 34 | public bool CanBuildFrom(Type type) 35 | { 36 | return Reflect.HasAttribute( type, "NUnit.Core.Extensions.SampleSuiteExtensionAttribute", false ); 37 | } 38 | 39 | #endregion 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /tools/nunit/samples/Extensibility/Core/SampleSuiteExtension/Tests/SampleSuiteExtensionTests.cs: -------------------------------------------------------------------------------- 1 | // **************************************************************** 2 | // Copyright 2007, Charlie Poole 3 | // This is free software licensed under the NUnit license. You may 4 | // obtain a copy of the license at http://nunit.org/?p=license&r=2.4 5 | // **************************************************************** 6 | 7 | using System; 8 | using System.Reflection; 9 | 10 | namespace NUnit.Core.Extensions.Tests 11 | { 12 | /// 13 | /// Test class that demonstrates SampleSuiteExtension 14 | /// 15 | [SampleSuiteExtension] 16 | public class SampleSuiteExtensionTests 17 | { 18 | public void SampleTest1() 19 | { 20 | Console.WriteLine( "Hello from sample test 1" ); 21 | } 22 | 23 | public void SampleTest2() 24 | { 25 | Console.WriteLine( "Hello from sample test 2" ); 26 | } 27 | 28 | public void NotATest() 29 | { 30 | Console.WriteLine( "I shouldn't be called!" ); 31 | } 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /tools/nunit/samples/Extensibility/Core/SampleSuiteExtension/Tests/SampleSuiteExtensionTests.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /tools/nunit/samples/ReadMe.txt: -------------------------------------------------------------------------------- 1 | NUnit Samples 2 | 3 | This directory contains sample applications demonstrating the use of NUnit and organized as follows... 4 | 5 | CSharp: Samples in C# 6 | 7 | Failures: Demonstrates 4 failing tests and one that is not run. 8 | 9 | Money: This is a C# version of the money example which is found in most xUnit implementations. Thanks to Kent Beck. 10 | 11 | Money-Port: This shows how the Money example can be ported from Version 1 of NUnit with minimal changes. 12 | 13 | Syntax: Illustrates most Assert methods using both the classic and constraint-based syntax. 14 | 15 | JSharp: Samples in J# 16 | 17 | Failures: Demonstrates 4 failing tests and one that is not run. 18 | 19 | CPP: C++ Samples 20 | 21 | MANAGED: Managed C++ Samples (VS 2003 compatible) 22 | 23 | Failures: Demonstrates 4 failing tests and one that is not run. 24 | 25 | CPP-CLI: C++/CLI Samples (VS 2005 only) 26 | 27 | Failures: Demonstrates 4 failing tests and one that is not run. 28 | 29 | Syntax: Illustrates most Assert methods using both the classic and constraint-based syntax. 30 | 31 | VB: Samples in VB.NET 32 | 33 | Failures: Demonstrates 4 failing tests and one that is not run. 34 | 35 | Money: This is a VB.NET version of the money example found in most xUnit implementations. Thanks to Kent Beck. 36 | 37 | Syntax: Illustrates most Assert methods using both the classic and constraint-based syntax. 38 | 39 | Extensibility: Examples of extending NUnit 40 | 41 | Framework: 42 | 43 | Core: 44 | 45 | TestSuiteExtension 46 | 47 | TestFixtureExtension 48 | 49 | 50 | Building the Samples 51 | 52 | A Visual Studio 2003 project is included for most samples. 53 | Visual Studio 2005 will convert the format automatically upon 54 | opening it. The C++/CLI samples, as well as other samples that 55 | depend on .NET 2.0 features, include Visual Studio 2005 projects. 56 | 57 | In most cases, you will need to remove the reference to the 58 | nunit.framework assembly and replace it with a reference to 59 | your installed copy of NUnit. 60 | 61 | To build using the Microsoft compiler, use a command similar 62 | to the following: 63 | 64 | csc /target:library /r:/nunit.framework.dll example.cs 65 | 66 | To build using the mono compiler, use a command like this: 67 | 68 | msc /target:library /r:/nunit.framework.dll example.cs 69 | 70 | -------------------------------------------------------------------------------- /tools/nunit/samples/cpp/cpp-cli/failures/AssemblyInfo.cpp: -------------------------------------------------------------------------------- 1 | using namespace System::Reflection; 2 | using namespace System::Runtime::CompilerServices; 3 | 4 | // 5 | // General Information about an assembly is controlled through the following 6 | // set of attributes. Change these attribute values to modify the information 7 | // associated with an assembly. 8 | // 9 | [assembly:AssemblyTitleAttribute("")]; 10 | [assembly:AssemblyDescriptionAttribute("")]; 11 | [assembly:AssemblyConfigurationAttribute("")]; 12 | [assembly:AssemblyCompanyAttribute("")]; 13 | [assembly:AssemblyProductAttribute("")]; 14 | [assembly:AssemblyCopyrightAttribute("")]; 15 | [assembly:AssemblyTrademarkAttribute("")]; 16 | [assembly:AssemblyCultureAttribute("")]; 17 | 18 | // 19 | // Version information for an assembly consists of the following four values: 20 | // 21 | // Major Version 22 | // Minor Version 23 | // Build Number 24 | // Revision 25 | // 26 | // You can specify all the value or you can default the Revision and Build Numbers 27 | // by using the '*' as shown below: 28 | 29 | [assembly:AssemblyVersionAttribute("2.2.0.0")]; 30 | 31 | // 32 | // In order to sign your assembly you must specify a key to use. Refer to the 33 | // Microsoft .NET Framework documentation for more information on assembly signing. 34 | // 35 | // Use the attributes below to control which key is used for signing. 36 | // 37 | // Notes: 38 | // (*) If no key is specified, the assembly is not signed. 39 | // (*) KeyName refers to a key that has been installed in the Crypto Service 40 | // Provider (CSP) on your machine. KeyFile refers to a file which contains 41 | // a key. 42 | // (*) If the KeyFile and the KeyName values are both specified, the 43 | // following processing occurs: 44 | // (1) If the KeyName can be found in the CSP, that key is used. 45 | // (2) If the KeyName does not exist and the KeyFile does exist, the key 46 | // in the KeyFile is installed into the CSP and used. 47 | // (*) In order to create a KeyFile, you can use the sn.exe (Strong Name) utility. 48 | // When specifying the KeyFile, the location of the KeyFile should be 49 | // relative to the project directory. 50 | // (*) Delay Signing is an advanced option - see the Microsoft .NET Framework 51 | // documentation for more information on this. 52 | // 53 | [assembly:AssemblyDelaySignAttribute(false)]; 54 | [assembly:AssemblyKeyFileAttribute("")]; 55 | [assembly:AssemblyKeyNameAttribute("")]; 56 | 57 | -------------------------------------------------------------------------------- /tools/nunit/samples/cpp/cpp-cli/failures/cpp-cli-failures.build: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 17 | 18 | 20 | 21 | 23 | 24 | 25 | 27 | 28 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | -------------------------------------------------------------------------------- /tools/nunit/samples/cpp/cpp-cli/failures/cppsample.cpp: -------------------------------------------------------------------------------- 1 | // **************************************************************** 2 | // This is free software licensed under the NUnit license. You 3 | // may obtain a copy of the license as well as information regarding 4 | // copyright ownership at http://nunit.org/?p=license&r=2.4. 5 | // **************************************************************** 6 | 7 | #include "cppsample.h" 8 | 9 | namespace NUnitSamples { 10 | 11 | void SimpleCPPSample::Init() { 12 | fValue1 = 2; 13 | fValue2 = 3; 14 | } 15 | 16 | void SimpleCPPSample::Add() { 17 | int result = fValue1 + fValue2; 18 | Assert::AreEqual(6,result); 19 | } 20 | 21 | void SimpleCPPSample::DivideByZero() 22 | { 23 | int zero= 0; 24 | int result= 8/zero; 25 | } 26 | 27 | void SimpleCPPSample::Equals() { 28 | Assert::AreEqual(12, 12, "Integer"); 29 | Assert::AreEqual(12L, 12L, "Long"); 30 | Assert::AreEqual('a', 'a', "Char"); 31 | 32 | 33 | Assert::AreEqual(12, 13, "Expected Failure (Integer)"); 34 | Assert::AreEqual(12.0, 11.99, 0.0, "Expected Failure (Double)"); 35 | } 36 | 37 | void SimpleCPPSample::IgnoredTest() 38 | { 39 | throw gcnew InvalidCastException(); 40 | } 41 | 42 | void SimpleCPPSample::ExpectAnException() 43 | { 44 | throw gcnew InvalidCastException(); 45 | } 46 | 47 | } 48 | 49 | -------------------------------------------------------------------------------- /tools/nunit/samples/cpp/cpp-cli/failures/cppsample.h: -------------------------------------------------------------------------------- 1 | // **************************************************************** 2 | // This is free software licensed under the NUnit license. You 3 | // may obtain a copy of the license as well as information regarding 4 | // copyright ownership at http://nunit.org/?p=license&r=2.4. 5 | // **************************************************************** 6 | 7 | #pragma once 8 | 9 | using namespace System; 10 | using namespace NUnit::Framework; 11 | 12 | namespace NUnitSamples 13 | { 14 | [TestFixture] 15 | public ref class SimpleCPPSample 16 | { 17 | int fValue1; 18 | int fValue2; 19 | public: 20 | [SetUp] void Init(); 21 | 22 | [Test] void Add(); 23 | [Test] void DivideByZero(); 24 | [Test] void Equals(); 25 | [Test] [Ignore("ignored test")] void IgnoredTest(); 26 | [Test] [ExpectedException(InvalidOperationException::typeid)] void ExpectAnException(); 27 | }; 28 | } 29 | -------------------------------------------------------------------------------- /tools/nunit/samples/cpp/cpp-cli/syntax/AssemblyInfo.cpp: -------------------------------------------------------------------------------- 1 | #include "stdafx.h" 2 | 3 | using namespace System; 4 | using namespace System::Reflection; 5 | using namespace System::Runtime::CompilerServices; 6 | using namespace System::Runtime::InteropServices; 7 | using namespace System::Security::Permissions; 8 | 9 | // 10 | // General Information about an assembly is controlled through the following 11 | // set of attributes. Change these attribute values to modify the information 12 | // associated with an assembly. 13 | // 14 | [assembly:AssemblyTitleAttribute("cppclisyntax")]; 15 | [assembly:AssemblyDescriptionAttribute("")]; 16 | [assembly:AssemblyConfigurationAttribute("")]; 17 | [assembly:AssemblyCompanyAttribute("")]; 18 | [assembly:AssemblyProductAttribute("cppclisyntax")]; 19 | [assembly:AssemblyCopyrightAttribute("Copyright (c) 2007")]; 20 | [assembly:AssemblyTrademarkAttribute("")]; 21 | [assembly:AssemblyCultureAttribute("")]; 22 | 23 | // 24 | // Version information for an assembly consists of the following four values: 25 | // 26 | // Major Version 27 | // Minor Version 28 | // Build Number 29 | // Revision 30 | // 31 | // You can specify all the value or you can default the Revision and Build Numbers 32 | // by using the '*' as shown below: 33 | 34 | [assembly:AssemblyVersionAttribute("1.0.*")]; 35 | 36 | [assembly:ComVisible(false)]; 37 | 38 | [assembly:CLSCompliantAttribute(true)]; 39 | 40 | [assembly:SecurityPermission(SecurityAction::RequestMinimum, UnmanagedCode = true)]; 41 | -------------------------------------------------------------------------------- /tools/nunit/samples/cpp/cpp-cli/syntax/cpp-cli-syntax.build: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 17 | 18 | 20 | 21 | 23 | 24 | 25 | 27 | 28 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | -------------------------------------------------------------------------------- /tools/nunit/samples/cpp/managed/failures/AssemblyInfo.cpp: -------------------------------------------------------------------------------- 1 | using namespace System::Reflection; 2 | using namespace System::Runtime::CompilerServices; 3 | 4 | // 5 | // General Information about an assembly is controlled through the following 6 | // set of attributes. Change these attribute values to modify the information 7 | // associated with an assembly. 8 | // 9 | [assembly:AssemblyTitleAttribute("")]; 10 | [assembly:AssemblyDescriptionAttribute("")]; 11 | [assembly:AssemblyConfigurationAttribute("")]; 12 | [assembly:AssemblyCompanyAttribute("")]; 13 | [assembly:AssemblyProductAttribute("")]; 14 | [assembly:AssemblyCopyrightAttribute("")]; 15 | [assembly:AssemblyTrademarkAttribute("")]; 16 | [assembly:AssemblyCultureAttribute("")]; 17 | 18 | // 19 | // Version information for an assembly consists of the following four values: 20 | // 21 | // Major Version 22 | // Minor Version 23 | // Build Number 24 | // Revision 25 | // 26 | // You can specify all the value or you can default the Revision and Build Numbers 27 | // by using the '*' as shown below: 28 | 29 | [assembly:AssemblyVersionAttribute("2.2.0.0")]; 30 | 31 | // 32 | // In order to sign your assembly you must specify a key to use. Refer to the 33 | // Microsoft .NET Framework documentation for more information on assembly signing. 34 | // 35 | // Use the attributes below to control which key is used for signing. 36 | // 37 | // Notes: 38 | // (*) If no key is specified, the assembly is not signed. 39 | // (*) KeyName refers to a key that has been installed in the Crypto Service 40 | // Provider (CSP) on your machine. KeyFile refers to a file which contains 41 | // a key. 42 | // (*) If the KeyFile and the KeyName values are both specified, the 43 | // following processing occurs: 44 | // (1) If the KeyName can be found in the CSP, that key is used. 45 | // (2) If the KeyName does not exist and the KeyFile does exist, the key 46 | // in the KeyFile is installed into the CSP and used. 47 | // (*) In order to create a KeyFile, you can use the sn.exe (Strong Name) utility. 48 | // When specifying the KeyFile, the location of the KeyFile should be 49 | // relative to the project directory. 50 | // (*) Delay Signing is an advanced option - see the Microsoft .NET Framework 51 | // documentation for more information on this. 52 | // 53 | [assembly:AssemblyDelaySignAttribute(false)]; 54 | [assembly:AssemblyKeyFileAttribute("")]; 55 | [assembly:AssemblyKeyNameAttribute("")]; 56 | 57 | -------------------------------------------------------------------------------- /tools/nunit/samples/cpp/managed/failures/cpp-managed-failures.build: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 17 | 18 | 20 | 21 | 23 | 24 | 25 | 27 | 28 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 47 | 48 | 50 | 51 | 52 | 53 | 54 | -------------------------------------------------------------------------------- /tools/nunit/samples/cpp/managed/failures/cppsample.cpp: -------------------------------------------------------------------------------- 1 | // **************************************************************** 2 | // This is free software licensed under the NUnit license. You 3 | // may obtain a copy of the license as well as information regarding 4 | // copyright ownership at http://nunit.org/?p=license&r=2.4. 5 | // **************************************************************** 6 | 7 | #include "cppsample.h" 8 | 9 | namespace NUnitSamples { 10 | 11 | void SimpleCPPSample::Init() { 12 | fValue1 = 2; 13 | fValue2 = 3; 14 | } 15 | 16 | void SimpleCPPSample::Add() { 17 | int result = fValue1 + fValue2; 18 | Assert::AreEqual(6,result); 19 | } 20 | 21 | void SimpleCPPSample::DivideByZero() 22 | { 23 | int zero= 0; 24 | int result= 8/zero; 25 | } 26 | 27 | void SimpleCPPSample::Equals() { 28 | Assert::AreEqual(12, 12, "Integer"); 29 | Assert::AreEqual(12L, 12L, "Long"); 30 | Assert::AreEqual('a', 'a', "Char"); 31 | 32 | 33 | Assert::AreEqual(12, 13, "Expected Failure (Integer)"); 34 | Assert::AreEqual(12.0, 11.99, 0.0, "Expected Failure (Double)"); 35 | } 36 | 37 | void SimpleCPPSample::IgnoredTest() 38 | { 39 | throw new InvalidCastException(); 40 | } 41 | 42 | void SimpleCPPSample::ExpectAnException() 43 | { 44 | throw new InvalidCastException(); 45 | } 46 | 47 | } 48 | 49 | -------------------------------------------------------------------------------- /tools/nunit/samples/cpp/managed/failures/cppsample.h: -------------------------------------------------------------------------------- 1 | // **************************************************************** 2 | // This is free software licensed under the NUnit license. You 3 | // may obtain a copy of the license as well as information regarding 4 | // copyright ownership at http://nunit.org/?p=license&r=2.4. 5 | // **************************************************************** 6 | 7 | #pragma once 8 | 9 | using namespace System; 10 | using namespace NUnit::Framework; 11 | 12 | namespace NUnitSamples 13 | { 14 | [TestFixture] 15 | public __gc class SimpleCPPSample 16 | { 17 | int fValue1; 18 | int fValue2; 19 | public: 20 | [SetUp] void Init(); 21 | 22 | [Test] void Add(); 23 | [Test] void DivideByZero(); 24 | [Test] void Equals(); 25 | [Test] [Ignore("ignored test")] void IgnoredTest(); 26 | [Test] [ExpectedException(__typeof(InvalidOperationException))] void ExpectAnException(); 27 | }; 28 | } 29 | -------------------------------------------------------------------------------- /tools/nunit/samples/cpp/managed/managed-cpp.sln: -------------------------------------------------------------------------------- 1 | Microsoft Visual Studio Solution File, Format Version 8.00 2 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "cpp-managed-failures", "failures\cpp-managed-failures.vcproj", "{7E5849C7-0469-4AD2-91B9-C87203934254}" 3 | ProjectSection(ProjectDependencies) = postProject 4 | EndProjectSection 5 | EndProject 6 | Global 7 | GlobalSection(SolutionConfiguration) = preSolution 8 | Debug = Debug 9 | Release = Release 10 | EndGlobalSection 11 | GlobalSection(ProjectConfiguration) = postSolution 12 | {7E5849C7-0469-4AD2-91B9-C87203934254}.Debug.ActiveCfg = Debug|Win32 13 | {7E5849C7-0469-4AD2-91B9-C87203934254}.Debug.Build.0 = Debug|Win32 14 | {7E5849C7-0469-4AD2-91B9-C87203934254}.Release.ActiveCfg = Release|Win32 15 | {7E5849C7-0469-4AD2-91B9-C87203934254}.Release.Build.0 = Release|Win32 16 | EndGlobalSection 17 | GlobalSection(ExtensibilityGlobals) = postSolution 18 | EndGlobalSection 19 | GlobalSection(ExtensibilityAddIns) = postSolution 20 | EndGlobalSection 21 | EndGlobal 22 | -------------------------------------------------------------------------------- /tools/nunit/samples/csharp/CSharp.sln: -------------------------------------------------------------------------------- 1 | Microsoft Visual Studio Solution File, Format Version 8.00 2 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "cs-failures", "failures\cs-failures.csproj", "{15D66EEE-A852-4A52-89C2-83E74ECF3770}" 3 | ProjectSection(ProjectDependencies) = postProject 4 | EndProjectSection 5 | EndProject 6 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "cs-money", "money\cs-money.csproj", "{11EDF872-A04D-4F75-A1BF-71168DC86AF3}" 7 | ProjectSection(ProjectDependencies) = postProject 8 | EndProjectSection 9 | EndProject 10 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "cs-money-port", "money-port\cs-money-port.csproj", "{A257E931-6755-4655-A474-7CAB1B3775D2}" 11 | ProjectSection(ProjectDependencies) = postProject 12 | EndProjectSection 13 | EndProject 14 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "cs-syntax", "syntax\cs-syntax.csproj", "{06F46FA2-687B-4B46-A912-C1B0B4CC1B20}" 15 | ProjectSection(ProjectDependencies) = postProject 16 | EndProjectSection 17 | EndProject 18 | Global 19 | GlobalSection(SolutionConfiguration) = preSolution 20 | Debug = Debug 21 | Release = Release 22 | EndGlobalSection 23 | GlobalSection(ProjectConfiguration) = postSolution 24 | {15D66EEE-A852-4A52-89C2-83E74ECF3770}.Debug.ActiveCfg = Debug|.NET 25 | {15D66EEE-A852-4A52-89C2-83E74ECF3770}.Debug.Build.0 = Debug|.NET 26 | {15D66EEE-A852-4A52-89C2-83E74ECF3770}.Release.ActiveCfg = Release|.NET 27 | {15D66EEE-A852-4A52-89C2-83E74ECF3770}.Release.Build.0 = Release|.NET 28 | {11EDF872-A04D-4F75-A1BF-71168DC86AF3}.Debug.ActiveCfg = Debug|.NET 29 | {11EDF872-A04D-4F75-A1BF-71168DC86AF3}.Debug.Build.0 = Debug|.NET 30 | {11EDF872-A04D-4F75-A1BF-71168DC86AF3}.Release.ActiveCfg = Release|.NET 31 | {11EDF872-A04D-4F75-A1BF-71168DC86AF3}.Release.Build.0 = Release|.NET 32 | {A257E931-6755-4655-A474-7CAB1B3775D2}.Debug.ActiveCfg = Debug|.NET 33 | {A257E931-6755-4655-A474-7CAB1B3775D2}.Debug.Build.0 = Debug|.NET 34 | {A257E931-6755-4655-A474-7CAB1B3775D2}.Release.ActiveCfg = Release|.NET 35 | {A257E931-6755-4655-A474-7CAB1B3775D2}.Release.Build.0 = Release|.NET 36 | {06F46FA2-687B-4B46-A912-C1B0B4CC1B20}.Debug.ActiveCfg = Debug|.NET 37 | {06F46FA2-687B-4B46-A912-C1B0B4CC1B20}.Debug.Build.0 = Debug|.NET 38 | {06F46FA2-687B-4B46-A912-C1B0B4CC1B20}.Release.ActiveCfg = Release|.NET 39 | {06F46FA2-687B-4B46-A912-C1B0B4CC1B20}.Release.Build.0 = Release|.NET 40 | EndGlobalSection 41 | GlobalSection(ExtensibilityGlobals) = postSolution 42 | EndGlobalSection 43 | GlobalSection(ExtensibilityAddIns) = postSolution 44 | EndGlobalSection 45 | EndGlobal 46 | -------------------------------------------------------------------------------- /tools/nunit/samples/csharp/failures/CSharpTest.cs: -------------------------------------------------------------------------------- 1 | // **************************************************************** 2 | // This is free software licensed under the NUnit license. You 3 | // may obtain a copy of the license as well as information regarding 4 | // copyright ownership at http://nunit.org/?p=license&r=2.4. 5 | // **************************************************************** 6 | 7 | namespace NUnit.Samples 8 | { 9 | using System; 10 | using NUnit.Framework; 11 | 12 | /// Some simple Tests. 13 | /// 14 | [TestFixture] 15 | public class SimpleCSharpTest 16 | { 17 | /// 18 | /// 19 | /// 20 | protected int fValue1; 21 | /// 22 | /// 23 | /// 24 | protected int fValue2; 25 | 26 | /// 27 | /// 28 | /// 29 | [SetUp] public void Init() 30 | { 31 | fValue1= 2; 32 | fValue2= 3; 33 | } 34 | 35 | /// 36 | /// 37 | /// 38 | /// 39 | [Test] public void Add() 40 | { 41 | double result= fValue1 + fValue2; 42 | // forced failure result == 5 43 | Assert.AreEqual(6, result, "Expected Failure."); 44 | } 45 | 46 | /// 47 | /// 48 | /// 49 | /// 50 | [Test] public void DivideByZero() 51 | { 52 | int zero= 0; 53 | int result= 8/zero; 54 | } 55 | 56 | /// 57 | /// 58 | /// 59 | /// 60 | [Test] public void Equals() 61 | { 62 | Assert.AreEqual(12, 12, "Integer"); 63 | Assert.AreEqual(12L, 12L, "Long"); 64 | Assert.AreEqual('a', 'a', "Char"); 65 | Assert.AreEqual((object)12, (object)12, "Integer Object Cast"); 66 | 67 | Assert.AreEqual(12, 13, "Expected Failure (Integer)"); 68 | Assert.AreEqual(12.0, 11.99, 0.0, "Expected Failure (Double)."); 69 | } 70 | 71 | [Test] 72 | [ExpectedException(typeof(InvalidOperationException))] 73 | public void ExpectAnException() 74 | { 75 | throw new InvalidCastException(); 76 | } 77 | 78 | [Test] 79 | [Ignore("ignored test")] 80 | public void IgnoredTest() 81 | { 82 | throw new Exception(); 83 | } 84 | } 85 | } -------------------------------------------------------------------------------- /tools/nunit/samples/csharp/failures/cs-failures.build: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 42 | 43 | 44 | -------------------------------------------------------------------------------- /tools/nunit/samples/csharp/failures/cs-failures.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /tools/nunit/samples/csharp/money-port/IMoney.cs: -------------------------------------------------------------------------------- 1 | // **************************************************************** 2 | // This is free software licensed under the NUnit license. You 3 | // may obtain a copy of the license as well as information regarding 4 | // copyright ownership at http://nunit.org/?p=license&r=2.4. 5 | // **************************************************************** 6 | 7 | namespace NUnit.Samples.Money 8 | { 9 | 10 | /// The common interface for simple Monies and MoneyBags. 11 | interface IMoney { 12 | 13 | /// Adds a money to this money. 14 | IMoney Add(IMoney m); 15 | 16 | /// Adds a simple Money to this money. This is a helper method for 17 | /// implementing double dispatch. 18 | IMoney AddMoney(Money m); 19 | 20 | /// Adds a MoneyBag to this money. This is a helper method for 21 | /// implementing double dispatch. 22 | IMoney AddMoneyBag(MoneyBag s); 23 | 24 | /// True if this money is zero. 25 | bool IsZero { get; } 26 | 27 | /// Multiplies a money by the given factor. 28 | IMoney Multiply(int factor); 29 | 30 | /// Negates this money. 31 | IMoney Negate(); 32 | 33 | /// Subtracts a money from this money. 34 | IMoney Subtract(IMoney m); 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /tools/nunit/samples/csharp/money-port/cs-money-port.build: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 50 | 51 | 52 | -------------------------------------------------------------------------------- /tools/nunit/samples/csharp/money-port/cs-money-port.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /tools/nunit/samples/csharp/money-port/cs-money-port.dll.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 |
6 | 7 | 8 | 9 | 10 | 11 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /tools/nunit/samples/csharp/money/IMoney.cs: -------------------------------------------------------------------------------- 1 | // **************************************************************** 2 | // This is free software licensed under the NUnit license. You 3 | // may obtain a copy of the license as well as information regarding 4 | // copyright ownership at http://nunit.org/?p=license&r=2.4. 5 | // **************************************************************** 6 | 7 | namespace NUnit.Samples.Money 8 | { 9 | 10 | /// The common interface for simple Monies and MoneyBags. 11 | interface IMoney 12 | { 13 | 14 | /// Adds a money to this money. 15 | IMoney Add(IMoney m); 16 | 17 | /// Adds a simple Money to this money. This is a helper method for 18 | /// implementing double dispatch. 19 | IMoney AddMoney(Money m); 20 | 21 | /// Adds a MoneyBag to this money. This is a helper method for 22 | /// implementing double dispatch. 23 | IMoney AddMoneyBag(MoneyBag s); 24 | 25 | /// True if this money is zero. 26 | bool IsZero { get; } 27 | 28 | /// Multiplies a money by the given factor. 29 | IMoney Multiply(int factor); 30 | 31 | /// Negates this money. 32 | IMoney Negate(); 33 | 34 | /// Subtracts a money from this money. 35 | IMoney Subtract(IMoney m); 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /tools/nunit/samples/csharp/money/cs-money.build: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | start .. 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 46 | 47 | 48 | 49 | -------------------------------------------------------------------------------- /tools/nunit/samples/csharp/money/cs-money.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /tools/nunit/samples/csharp/syntax/cs-syntax.build: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 42 | 43 | 44 | -------------------------------------------------------------------------------- /tools/nunit/samples/csharp/syntax/cs-syntax.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /tools/nunit/samples/jsharp/failures/JSharpTest.jsl: -------------------------------------------------------------------------------- 1 | // **************************************************************** 2 | // This is free software licensed under the NUnit license. You 3 | // may obtain a copy of the license as well as information regarding 4 | // copyright ownership at http://nunit.org/?p=license&r=2.4. 5 | // **************************************************************** 6 | 7 | package NUnit.Samples; 8 | 9 | import System.*; 10 | import NUnit.Framework.Assert; 11 | 12 | /** @attribute NUnit.Framework.TestFixture() */ 13 | public class SimpleJSharpTest 14 | { 15 | protected int fValue1; 16 | protected int fValue2; 17 | 18 | /** @attribute NUnit.Framework.SetUp() */ 19 | public void Init() 20 | { 21 | fValue1 = 2; 22 | fValue2 = 3; 23 | } 24 | 25 | /** @attribute NUnit.Framework.Test() */ 26 | public void Add() 27 | { 28 | int result= fValue1 + fValue2; 29 | Assert.AreEqual(6,result, "Expected Failure"); 30 | } 31 | 32 | /** @attribute NUnit.Framework.Test() */ 33 | public void DivideByZero() 34 | { 35 | int zero= 0; 36 | int result = 8/zero; 37 | KeepCompilerFromWarning(result); // never executed, here to avoid compiler warning that result is unused. 38 | } 39 | 40 | /** @attribute NUnit.Framework.Test() */ 41 | public void Equals() 42 | { 43 | Assert.AreEqual(12, 12, "Integer"); 44 | Assert.AreEqual(new Long(12), new Long(13), "Long"); 45 | Assert.AreEqual('a', 'a', "Char"); 46 | Assert.AreEqual(new Integer(12), new Integer(12), "Integer Object Cast"); 47 | 48 | Assert.AreEqual(12, 13, "Expected Failure (Integer)"); 49 | Assert.AreEqual(12.0, 11.99, 0.0, "Expected Failure (Double)."); 50 | } 51 | 52 | /** @attribute NUnit.Framework.Test() */ 53 | /** @attribute NUnit.Framework.Ignore("ignored test") */ 54 | public void IgnoredTest() 55 | { 56 | throw new InvalidCastException(); 57 | } 58 | 59 | // A useless function, designed to avoid a compiler warning in the the DivideByZero test. 60 | private int KeepCompilerFromWarning(int dummy) 61 | { 62 | return dummy; 63 | } 64 | 65 | } -------------------------------------------------------------------------------- /tools/nunit/samples/jsharp/failures/jsharp-failures.build: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 44 | 45 | 46 | -------------------------------------------------------------------------------- /tools/nunit/samples/jsharp/failures/jsharp-failures.vjsproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /tools/nunit/samples/jsharp/jsharp.sln: -------------------------------------------------------------------------------- 1 | Microsoft Visual Studio Solution File, Format Version 8.00 2 | Project("{E6FDF86B-F3D1-11D4-8576-0002A516ECE8}") = "jsharp-failures", "failures\jsharp-failures.vjsproj", "{B55A6E53-57A9-4205-B396-C9983B3AF46A}" 3 | ProjectSection(ProjectDependencies) = postProject 4 | EndProjectSection 5 | EndProject 6 | Global 7 | GlobalSection(SolutionConfiguration) = preSolution 8 | Debug = Debug 9 | Release = Release 10 | EndGlobalSection 11 | GlobalSection(ProjectConfiguration) = postSolution 12 | {B55A6E53-57A9-4205-B396-C9983B3AF46A}.Debug.ActiveCfg = Debug|.NET 13 | {B55A6E53-57A9-4205-B396-C9983B3AF46A}.Debug.Build.0 = Debug|.NET 14 | {B55A6E53-57A9-4205-B396-C9983B3AF46A}.Release.ActiveCfg = Release|.NET 15 | {B55A6E53-57A9-4205-B396-C9983B3AF46A}.Release.Build.0 = Release|.NET 16 | EndGlobalSection 17 | GlobalSection(ExtensibilityGlobals) = postSolution 18 | EndGlobalSection 19 | GlobalSection(ExtensibilityAddIns) = postSolution 20 | EndGlobalSection 21 | EndGlobal 22 | -------------------------------------------------------------------------------- /tools/nunit/samples/vb/failures/AssemblyInfo.vb: -------------------------------------------------------------------------------- 1 | Imports System.Reflection 2 | Imports System.Runtime.InteropServices 3 | 4 | ' General Information about an assembly is controlled through the following 5 | ' set of attributes. Change these attribute values to modify the information 6 | ' associated with an assembly. 7 | 8 | ' Review the values of the assembly attributes 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 'The following GUID is for the ID of the typelib if this project is exposed to COM 19 | 20 | 21 | ' Version information for an assembly consists of the following four values: 22 | ' 23 | ' Major Version 24 | ' Minor Version 25 | ' Build Number 26 | ' Revision 27 | ' 28 | ' You can specify all the values or you can default the Build and Revision Numbers 29 | ' by using the '*' as shown below: 30 | 31 | 32 | 33 | -------------------------------------------------------------------------------- /tools/nunit/samples/vb/failures/SimpleVBTest.vb: -------------------------------------------------------------------------------- 1 | ' **************************************************************** 2 | ' This is free software licensed under the NUnit license. You 3 | ' may obtain a copy of the license as well as information regarding 4 | ' copyright ownership at http://nunit.org/?p=license&r=2.4. 5 | ' **************************************************************** 6 | 7 | Option Explicit On 8 | Imports System 9 | Imports NUnit.Framework 10 | 11 | Namespace NUnit.Samples 12 | 13 | Public Class SimpleVBTest 14 | 15 | Private fValue1 As Integer 16 | Private fValue2 As Integer 17 | 18 | Public Sub New() 19 | MyBase.New() 20 | End Sub 21 | 22 | Public Sub Init() 23 | fValue1 = 2 24 | fValue2 = 3 25 | End Sub 26 | 27 | Public Sub Add() 28 | Dim result As Double 29 | 30 | result = fValue1 + fValue2 31 | Assert.AreEqual(6, result) 32 | End Sub 33 | 34 | Public Sub DivideByZero() 35 | Dim zero As Integer 36 | Dim result As Integer 37 | 38 | zero = 0 39 | result = 8 / zero 40 | End Sub 41 | 42 | Public Sub TestEquals() 43 | Assert.AreEqual(12, 12) 44 | Assert.AreEqual(CLng(12), CLng(12)) 45 | 46 | Assert.AreEqual(12, 13, "Size") 47 | Assert.AreEqual(12, 11.99, 0, "Capacity") 48 | End Sub 49 | 50 | Public Sub ExpectAnException() 51 | Throw New InvalidCastException() 52 | End Sub 53 | 54 | Public Sub IgnoredTest() 55 | ' does not matter what we type the test is not run 56 | Throw New ArgumentException() 57 | End Sub 58 | 59 | End Class 60 | End Namespace -------------------------------------------------------------------------------- /tools/nunit/samples/vb/failures/vb-failures.build: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 16 | 17 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 48 | 49 | 50 | -------------------------------------------------------------------------------- /tools/nunit/samples/vb/failures/vb-failures.vbproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /tools/nunit/samples/vb/money/AssemblyInfo.vb: -------------------------------------------------------------------------------- 1 | Imports System 2 | Imports System.Reflection 3 | Imports System.Runtime.InteropServices 4 | 5 | ' General Information about an assembly is controlled through the following 6 | ' set of attributes. Change these attribute values to modify the information 7 | ' associated with an assembly. 8 | 9 | ' Review the values of the assembly attributes 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 'The following GUID is for the ID of the typelib if this project is exposed to COM 20 | 21 | 22 | ' Version information for an assembly consists of the following four values: 23 | ' 24 | ' Major Version 25 | ' Minor Version 26 | ' Build Number 27 | ' Revision 28 | ' 29 | ' You can specify all the values or you can default the Build and Revision Numbers 30 | ' by using the '*' as shown below: 31 | 32 | 33 | -------------------------------------------------------------------------------- /tools/nunit/samples/vb/money/IMoney.vb: -------------------------------------------------------------------------------- 1 | ' **************************************************************** 2 | ' This is free software licensed under the NUnit license. You 3 | ' may obtain a copy of the license as well as information regarding 4 | ' copyright ownership at http://nunit.org/?p=license&r=2.4. 5 | ' **************************************************************** 6 | 7 | Namespace NUnit.Samples 8 | 9 | 'The common interface for simple Monies and MoneyBags. 10 | Public Interface IMoney 11 | 12 | 'Adds a money to this money 13 | Function Add(ByVal m As IMoney) As IMoney 14 | 15 | 'Adds a simple Money to this money. This is a helper method for 16 | 'implementing double dispatch. 17 | Function AddMoney(ByVal m As Money) As IMoney 18 | 19 | 'Adds a MoneyBag to this money. This is a helper method for 20 | 'implementing double dispatch. 21 | Function AddMoneyBag(ByVal s As MoneyBag) As IMoney 22 | 23 | 'True if this money is zero. 24 | ReadOnly Property IsZero() As Boolean 25 | 26 | 'Multiplies a money by the given factor. 27 | Function Multiply(ByVal factor As Int32) As IMoney 28 | 29 | 'Negates this money. 30 | Function Negate() As IMoney 31 | 32 | 'Subtracts a money from this money. 33 | Function Subtract(ByVal m As IMoney) As IMoney 34 | 35 | End Interface 36 | 37 | End Namespace 38 | -------------------------------------------------------------------------------- /tools/nunit/samples/vb/money/vb-money.build: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 16 | 17 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 51 | 52 | 53 | -------------------------------------------------------------------------------- /tools/nunit/samples/vb/money/vb-money.vbproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | -------------------------------------------------------------------------------- /tools/nunit/samples/vb/syntax/AssemblyInfo.vb: -------------------------------------------------------------------------------- 1 | Imports System 2 | Imports System.Reflection 3 | Imports System.Runtime.InteropServices 4 | 5 | ' General Information about an assembly is controlled through the following 6 | ' set of attributes. Change these attribute values to modify the information 7 | ' associated with an assembly. 8 | 9 | ' Review the values of the assembly attributes 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 'The following GUID is for the ID of the typelib if this project is exposed to COM 20 | 21 | 22 | ' Version information for an assembly consists of the following four values: 23 | ' 24 | ' Major Version 25 | ' Minor Version 26 | ' Build Number 27 | ' Revision 28 | ' 29 | ' You can specify all the values or you can default the Build and Revision Numbers 30 | ' by using the '*' as shown below: 31 | 32 | 33 | -------------------------------------------------------------------------------- /tools/nunit/samples/vb/syntax/vb-syntax.build: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 46 | 47 | 48 | -------------------------------------------------------------------------------- /tools/nunit/samples/vb/syntax/vb-syntax.vbproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | -------------------------------------------------------------------------------- /tools/nunit/samples/vb/vb-samples.sln: -------------------------------------------------------------------------------- 1 | Microsoft Visual Studio Solution File, Format Version 8.00 2 | Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "vb-failures", "failures\vb-failures.vbproj", "{F199991B-6C8E-4AB0-9AAA-703CD4897700}" 3 | ProjectSection(ProjectDependencies) = postProject 4 | EndProjectSection 5 | EndProject 6 | Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "vb-money", "money\vb-money.vbproj", "{95394B96-A794-48EA-9879-0E4EC79C5724}" 7 | ProjectSection(ProjectDependencies) = postProject 8 | EndProjectSection 9 | EndProject 10 | Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "vb-syntax", "syntax\vb-syntax.vbproj", "{6BEF566A-2691-4EE8-91AF-0390CCCDDAF1}" 11 | ProjectSection(ProjectDependencies) = postProject 12 | EndProjectSection 13 | EndProject 14 | Global 15 | GlobalSection(SolutionConfiguration) = preSolution 16 | Debug = Debug 17 | Release = Release 18 | EndGlobalSection 19 | GlobalSection(ProjectConfiguration) = postSolution 20 | {F199991B-6C8E-4AB0-9AAA-703CD4897700}.Debug.ActiveCfg = Debug|.NET 21 | {F199991B-6C8E-4AB0-9AAA-703CD4897700}.Debug.Build.0 = Debug|.NET 22 | {F199991B-6C8E-4AB0-9AAA-703CD4897700}.Release.ActiveCfg = Release|.NET 23 | {F199991B-6C8E-4AB0-9AAA-703CD4897700}.Release.Build.0 = Release|.NET 24 | {95394B96-A794-48EA-9879-0E4EC79C5724}.Debug.ActiveCfg = Debug|.NET 25 | {95394B96-A794-48EA-9879-0E4EC79C5724}.Debug.Build.0 = Debug|.NET 26 | {95394B96-A794-48EA-9879-0E4EC79C5724}.Release.ActiveCfg = Release|.NET 27 | {95394B96-A794-48EA-9879-0E4EC79C5724}.Release.Build.0 = Release|.NET 28 | {6BEF566A-2691-4EE8-91AF-0390CCCDDAF1}.Debug.ActiveCfg = Debug|.NET 29 | {6BEF566A-2691-4EE8-91AF-0390CCCDDAF1}.Debug.Build.0 = Debug|.NET 30 | {6BEF566A-2691-4EE8-91AF-0390CCCDDAF1}.Release.ActiveCfg = Release|.NET 31 | {6BEF566A-2691-4EE8-91AF-0390CCCDDAF1}.Release.Build.0 = Release|.NET 32 | EndGlobalSection 33 | GlobalSection(ExtensibilityGlobals) = postSolution 34 | EndGlobalSection 35 | GlobalSection(ExtensibilityAddIns) = postSolution 36 | EndGlobalSection 37 | EndGlobal 38 | --------------------------------------------------------------------------------