├── .editorconfig
├── .gitattributes
├── .github
├── ISSUE_TEMPLATE.md
└── workflows
│ ├── test-tempdb.yml
│ └── test.yml
├── .gitignore
├── .gitmodules
├── .zarro-defaults
├── LICENSE
├── README.md
├── local-tasks
├── CONTRIBUTING.md
├── build-only.js
├── commit-release.js
├── echo.js
├── list-project-assemblies.js
├── release.ts
├── tag-and-push.js
├── test-zarro.ts
├── update-nuget-package-incrementer.js
└── update-tempdb-runner-files.ts
├── logo_JetBrains_4.png
├── package-lock.json
├── package.json
├── qodana.yaml
├── resources
├── Arial_Rounded_MT.ttf
├── _.png
├── aspnetcore.png
├── async.png
├── cli.png
├── dbrunner.png
├── ef.png
├── events.png
├── http.png
├── httptest.png
├── ini.png
├── localdb.png
├── logo.svg
├── migrate.png
├── mvc.png
├── mysql.connector.png
├── mysql.data.png
├── quack.png
├── random.png
├── service.png
├── sql-t.png
├── sql.png
├── sqlite.png
├── svcmgr.png
├── tcp.png
├── temp-redis.png
├── tempdb.png
├── testasync.png
├── testutils.png
├── tray.png
├── utils.png
├── xml.png
└── {}.png
├── source
├── Artifacts
│ ├── GenericBuilderTestArtifactBuilders
│ │ ├── AnotherInternalClass.cs
│ │ ├── GenericBuilderTestArtifactBuilders.csproj
│ │ ├── SomeEntityWithBuilderBuilder.cs
│ │ ├── Sub1
│ │ │ ├── AnotherEntityWithBuilderBuilder.cs
│ │ │ └── SubSub1
│ │ │ │ └── AnotherEntityWithBuilderBuilder.cs
│ │ └── Sub2
│ │ │ └── AnotherEntityWithBuilderBuilder.cs
│ ├── GenericBuilderTestArtifactEntities
│ │ ├── AnotherEntityWithoutBuilder.cs
│ │ ├── GenericBuilderTestArtifactEntities.csproj
│ │ ├── InternalClass.cs
│ │ ├── Properties
│ │ │ └── AssemblyInfo.cs
│ │ ├── SomeEntityWithBuilder.cs
│ │ ├── SomeEntityWithoutBuilder.cs
│ │ └── Sub1
│ │ │ └── AnotherEntityWithBuilder.cs
│ ├── GenericBuilderTestLoadLoadedAssemblyObject
│ │ ├── GenericBuilderTestLoadLoadedAssemblyObject.csproj
│ │ ├── ObjectToBuildWithNotLoadedBuilder.cs
│ │ └── Properties
│ │ │ └── AssemblyInfo.cs
│ └── GenericBuilderTestNotLoadedAssembly
│ │ ├── GenericBuilderTestNotLoadedAssembly.csproj
│ │ ├── NotLoadedBuilder.cs
│ │ └── Properties
│ │ └── AssemblyInfo.cs
├── Async
│ ├── PeanutButter.Async.Tests
│ │ ├── GlobalUsings.cs
│ │ ├── PeanutButter.Async.Tests.csproj
│ │ ├── Properties
│ │ │ └── AssemblyInfo.cs
│ │ └── TestTaskRunner.cs
│ ├── PeanutButter.Async
│ │ ├── .gitignore
│ │ ├── Continuation.cs
│ │ ├── FluentTaskRunnerContinuation.cs
│ │ ├── Interfaces
│ │ │ ├── IContinuation.cs
│ │ │ ├── IFluentTaskRunnerContinuation.cs
│ │ │ └── ITaskRunner.cs
│ │ ├── Package.nuspec
│ │ ├── PeanutButter.Async.csproj
│ │ ├── Properties
│ │ │ └── AssemblyInfo.cs
│ │ ├── TaskExtensions.cs
│ │ ├── TaskRunner.cs
│ │ └── icon.png
│ ├── PeanutButter.TestUtils.Async.Tests
│ │ ├── GlobalUsings.cs
│ │ ├── PeanutButter.TestUtils.Async.Tests.csproj
│ │ ├── Properties
│ │ │ └── AssemblyInfo.cs
│ │ └── TestImmediateTaskRunner.cs
│ └── PeanutButter.TestUtils.Async
│ │ ├── ImmediateTaskRunnerBuilder.cs
│ │ ├── Package.nuspec
│ │ ├── PeanutButter.TestUtils.Async.csproj
│ │ ├── Properties
│ │ └── AssemblyInfo.cs
│ │ └── icon.png
├── DatabaseHelpers
│ ├── PeanutButter.DatabaseHelpers.More.Tests
│ │ ├── PeanutButter.DatabaseHelpers.More.Tests.csproj
│ │ ├── Properties
│ │ │ └── AssemblyInfo.cs
│ │ └── TestSelectStatementBuilder.cs
│ ├── PeanutButter.DatabaseHelpers.Tests
│ │ ├── My Project
│ │ │ ├── Application.Designer.vb
│ │ │ ├── Application.myapp
│ │ │ ├── AssemblyInfo.vb
│ │ │ ├── Resources.Designer.vb
│ │ │ ├── Resources.resx
│ │ │ ├── Settings.Designer.vb
│ │ │ └── Settings.settings
│ │ ├── PeanutButter.DatabaseHelpers.Tests.vbproj
│ │ ├── TestComputedField.vb
│ │ ├── TestConnectionStringBuilder.vb
│ │ └── TestStatementBuilders
│ │ │ ├── TestCompoundCondition.vb
│ │ │ ├── TestComputedField.vb
│ │ │ ├── TestConcatenatedField.vb
│ │ │ ├── TestCondition.vb
│ │ │ ├── TestConditionChain.vb
│ │ │ ├── TestConditionExtensions.vb
│ │ │ ├── TestDataCopyStatementBuilder.vb
│ │ │ ├── TestDeleteStatementBuilder.vb
│ │ │ ├── TestInsertStatementBuilder.vb
│ │ │ ├── TestMultiOrderBy.vb
│ │ │ ├── TestOrderBy.vb
│ │ │ ├── TestSelectField.vb
│ │ │ ├── TestSelectStatementBuilder.vb
│ │ │ └── TestUpdateStatementBuilder.vb
│ └── PeanutButter.DatabaseHelpers
│ │ ├── ConnectionStringBuilder.vb
│ │ ├── Executors
│ │ ├── DataReaderBuilder.vb
│ │ └── ScalarExecutorBuilder.vb
│ │ ├── My Project
│ │ ├── Application.Designer.vb
│ │ ├── Application.myapp
│ │ ├── AssemblyInfo.vb
│ │ ├── Resources.Designer.vb
│ │ ├── Resources.resx
│ │ ├── Settings.Designer.vb
│ │ └── Settings.settings
│ │ ├── Package.nuspec
│ │ ├── PeanutButter.DatabaseHelpers.vbproj
│ │ ├── StatementBuilders
│ │ ├── CompoundCondition.vb
│ │ ├── ComputedField.vb
│ │ ├── ConcatenatedField.vb
│ │ ├── Condition.vb
│ │ ├── ConditionChain.vb
│ │ ├── ConditionExtensions.vb
│ │ ├── DataCopyStatementBuilder.vb
│ │ ├── DatabaseProviders.vb
│ │ ├── DeleteStatementBuilder.vb
│ │ ├── FieldWithValue.vb
│ │ ├── ICondition.vb
│ │ ├── IField.vb
│ │ ├── InsertStatementBuilder.vb
│ │ ├── Join.vb
│ │ ├── JoinDirections.vb
│ │ ├── MultiOrderBy.vb
│ │ ├── OrderBy.vb
│ │ ├── RawCondition.vb
│ │ ├── ReadOnlyDictionary.vb
│ │ ├── SelectField.vb
│ │ ├── SelectStatementBuilder.vb
│ │ ├── StatementBuilderBase.vb
│ │ ├── StatementBuilderDatabaseProviderBase.vb
│ │ └── UpdateStatementBuilder.vb
│ │ └── icon.png
├── Directory.Build.props
├── INI
│ ├── PeanutButter.INI.Tests
│ │ ├── ExampleSettings.ini
│ │ ├── PeanutButter.INI.Tests.csproj
│ │ ├── Properties
│ │ │ └── AssemblyInfo.cs
│ │ ├── TestBestEffortLineParser.cs
│ │ ├── TestINIFile.cs
│ │ ├── TestStrictLineParser.cs
│ │ └── bom-ini.ini
│ └── PeanutButter.INI
│ │ ├── BestEffortLineParser.cs
│ │ ├── DictionaryWrappingINIFileSection.cs
│ │ ├── EmptyEnumerator.cs
│ │ ├── ILineParser.cs
│ │ ├── INIFile.cs
│ │ ├── MergedIniFile.cs
│ │ ├── Package.nuspec
│ │ ├── PeanutButter.INI.csproj
│ │ ├── Properties
│ │ └── AssemblyInfo.cs
│ │ ├── StrictLineParser.cs
│ │ └── icon.png
├── MonoForFramework.targets
├── NugetPackageVersionIncrementer.Tests
│ ├── GlobalUsings.cs
│ ├── NugetPackageVersionIncrementer.Tests.csproj
│ ├── Properties
│ │ └── AssemblyInfo.cs
│ ├── Resources
│ │ ├── package1.xml
│ │ ├── package2.xml
│ │ └── package3.xml
│ ├── TestBootstrapper.cs
│ ├── TestNuspecFinder.cs
│ ├── TestNuspecPackageDependencyHelper.cs
│ ├── TestNuspecUtil.cs
│ ├── TestNuspecUtilFactory.cs
│ ├── TestNuspecVersion.cs
│ ├── TestNuspecVersionCoordinator.cs
│ ├── TestNuspecVersionIncrementer.cs
│ ├── TestResolvingContainer.cs
│ ├── TestResources.Designer.cs
│ └── TestResources.resx
├── NugetPackageVersionIncrementer
│ ├── App.config
│ ├── Bootstrapper.cs
│ ├── LegacyPackageVersionIncrementer.cs
│ ├── NugetPackageVersionIncrementer.csproj
│ ├── NuspecFinder.cs
│ ├── NuspecPackageDependencyHelper.cs
│ ├── NuspecReaderWriter.cs
│ ├── NuspecUtil.cs
│ ├── NuspecUtilFactory.cs
│ ├── NuspecVersion.cs
│ ├── NuspecVersionCoordinator.cs
│ ├── NuspecVersionIncrementer.cs
│ ├── NuspecXDocumentExtensions.cs
│ ├── Program.cs
│ ├── Properties
│ │ └── AssemblyInfo.cs
│ └── ResolvingContainer.cs
├── PeanutButter.sln
├── PeanutButter.sln.DotSettings
├── SimpleServers
│ ├── PeanutButter.SimpleHTTPServer.Testability.Tests
│ │ ├── GlobalUsings.cs
│ │ ├── PeanutButter.SimpleHTTPServer.Testability.Tests.csproj
│ │ ├── Properties
│ │ │ └── AssemblyInfo.cs
│ │ ├── TestHttpMethodExtensions.cs
│ │ ├── TestHttpMethodsExtensions.cs
│ │ └── TestHttpServerExtensions.cs
│ ├── PeanutButter.SimpleHTTPServer.Testability
│ │ ├── HttpServerAssertionException.cs
│ │ ├── HttpServerExtensions.cs
│ │ ├── Package.nuspec
│ │ ├── PeanutButter.SimpleHTTPServer.Testability.csproj
│ │ ├── Properties
│ │ │ └── AssemblyInfo.cs
│ │ └── icon.png
│ ├── PeanutButter.SimpleHTTPServer.Tests
│ │ ├── GlobalSetup.cs
│ │ ├── GlobalUsings.cs
│ │ ├── PeanutButter.SimpleHTTPServer.Tests.csproj
│ │ ├── Properties
│ │ │ └── AssemblyInfo.cs
│ │ ├── TestHttpServer.cs
│ │ ├── TestHttpServerFactory.cs
│ │ ├── TestRequestLogItem.cs
│ │ └── TestStreamExtensions.cs
│ ├── PeanutButter.SimpleHTTPServer
│ │ ├── HttpConstants.cs
│ │ ├── HttpMethodsExtensions.cs
│ │ ├── HttpProcessor.cs
│ │ ├── HttpServer.cs
│ │ ├── HttpServerBase.cs
│ │ ├── HttpServerFactory.cs
│ │ ├── Package.nuspec
│ │ ├── PeanutButter.SimpleHTTPServer.csproj
│ │ ├── Properties
│ │ │ └── AssemblyInfo.cs
│ │ ├── RequestLogItem.cs
│ │ ├── StreamExtensions.cs
│ │ ├── TcpClientExtensions.cs
│ │ ├── TcpIoWrapper.cs
│ │ ├── TcpServerProcessor.cs
│ │ └── icon.png
│ ├── PeanutButter.SimpleTcpServer.Tests
│ │ ├── GlobalUsings.cs
│ │ ├── PeanutButter.SimpleTcpServer.Tests.csproj
│ │ ├── Properties
│ │ │ └── AssemblyInfo.cs
│ │ ├── TestPortUnavailableException.cs
│ │ ├── TestSimpleTcpServer.cs
│ │ └── TestUnableToFindAvailablePortException.cs
│ └── PeanutButter.SimpleTcpServer
│ │ ├── Package.nuspec
│ │ ├── PeanutButter.SimpleTcpServer.csproj
│ │ ├── PortUnavailableException.cs
│ │ ├── Properties
│ │ └── AssemblyInfo.cs
│ │ ├── TcpServer.cs
│ │ ├── UnableToFindAvailablePortException.cs
│ │ └── icon.png
├── TempDb
│ ├── PeanutButter.TempDb.LocalDb
│ │ ├── ILocalDbFactory.cs
│ │ ├── LocalDbFactory.cs
│ │ ├── LocalDbInstanceEnumerator.cs
│ │ ├── Package.nuspec
│ │ ├── PeanutButter.TempDb.LocalDb.csproj
│ │ ├── Properties
│ │ │ └── AssemblyInfo.cs
│ │ ├── TempDBLocalDb.cs
│ │ ├── UnableToFindLocalDbUtilityException.cs
│ │ └── icon.png
│ ├── PeanutButter.TempDb.MySql.Base
│ │ ├── MySqlConfigGenerator.cs
│ │ ├── MySqlServiceFinder.cs
│ │ ├── PeanutButter.TempDb.MySql.Base.csproj
│ │ ├── ProcessStartFailureException.cs
│ │ ├── SettingAttribute.cs
│ │ ├── TempDbMySqlBase.cs
│ │ ├── TempDbMySqlServerSettings.cs
│ │ ├── TryAnotherPortException.cs
│ │ └── UnableToInitializeMySqlException.cs
│ ├── PeanutButter.TempDb.MySql.Connector.Tests
│ │ ├── PeanutButter.TempDb.MySql.Connector.Tests.csproj
│ │ └── TestTempDbMySqlConnector.cs
│ ├── PeanutButter.TempDb.MySql.Connector
│ │ ├── Package.nuspec
│ │ ├── PeanutButter.TempDb.MySql.Connector.csproj
│ │ ├── TempDBMySql.cs
│ │ └── icon.png
│ ├── PeanutButter.TempDb.MySql.Data.Tests
│ │ ├── PeanutButter.TempDb.MySql.Data.Tests.csproj
│ │ ├── TestMySqlWindowsServiceFinder.cs
│ │ └── TestTempDbMySqlData.cs
│ ├── PeanutButter.TempDb.MySql.Data
│ │ ├── MySqlPoolStatsFetcher.cs
│ │ ├── Package.nuspec
│ │ ├── PeanutButter.TempDb.MySql.Data.csproj
│ │ ├── TempDBMySql.cs
│ │ ├── app.config
│ │ └── icon.png
│ ├── PeanutButter.TempDb.Runner.Tests
│ │ ├── PeanutButter.TempDb.Runner.Tests.csproj
│ │ └── TestProgram.cs
│ ├── PeanutButter.TempDb.Runner
│ │ ├── InteractiveShell.cs
│ │ ├── Options.cs
│ │ ├── Package.nuspec
│ │ ├── PeanutButter.TempDb.Runner.csproj
│ │ ├── Program.cs
│ │ ├── ShowSupportedEngines.cs
│ │ ├── TempDbFactory.cs
│ │ ├── icon.png
│ │ ├── start-tempdb.bat
│ │ └── start-tempdb.sh
│ ├── PeanutButter.TempDb.SqlCe
│ │ ├── Package.nuspec
│ │ ├── PeanutButter.TempDb.SqlCe.csproj
│ │ ├── Properties
│ │ │ └── AssemblyInfo.cs
│ │ ├── TempDBSqlCe.cs
│ │ ├── amd64
│ │ │ ├── Microsoft.VC90.CRT
│ │ │ │ ├── Microsoft.VC90.CRT.manifest
│ │ │ │ ├── README_ENU.txt
│ │ │ │ └── msvcr90.dll
│ │ │ ├── sqlceca40.dll
│ │ │ ├── sqlcecompact40.dll
│ │ │ ├── sqlceer40EN.dll
│ │ │ ├── sqlceme40.dll
│ │ │ ├── sqlceqp40.dll
│ │ │ └── sqlcese40.dll
│ │ ├── icon.png
│ │ └── x86
│ │ │ ├── Microsoft.VC90.CRT
│ │ │ ├── Microsoft.VC90.CRT.manifest
│ │ │ ├── README_ENU.txt
│ │ │ └── msvcr90.dll
│ │ │ ├── sqlceca40.dll
│ │ │ ├── sqlcecompact40.dll
│ │ │ ├── sqlceer40EN.dll
│ │ │ ├── sqlceme40.dll
│ │ │ ├── sqlceqp40.dll
│ │ │ └── sqlcese40.dll
│ ├── PeanutButter.TempDb.Sqlite
│ │ ├── Package.nuspec
│ │ ├── PeanutButter.TempDb.Sqlite.csproj
│ │ ├── TempDBSqlite.cs
│ │ ├── app.config
│ │ └── icon.png
│ ├── PeanutButter.TempDb.Tests
│ │ ├── GlobalUsings.cs
│ │ ├── MySqlConnectionStringUtil.cs
│ │ ├── PeanutButter.TempDb.Tests.csproj
│ │ ├── Properties
│ │ │ └── AssemblyInfo.cs
│ │ ├── TestLocalDbFactory.cs
│ │ ├── TestLocalDbInstanceEnumerator.cs
│ │ ├── TestMySqlConfigGenerator.cs
│ │ ├── TestMySqlServiceFinder.cs
│ │ ├── TestTempDBLocalDb.cs
│ │ ├── TestTempDBSqlCe.cs
│ │ ├── TestTempDBSqlite.cs
│ │ ├── TestTempDbMySql.cs
│ │ ├── TestTempDbMySqlServerSettings.cs
│ │ └── app.config
│ ├── PeanutButter.TempDb
│ │ ├── FatalTempDbInitializationException.cs
│ │ ├── IfOnWindows.cs
│ │ ├── Package.nuspec
│ │ ├── PeanutButter.TempDb.csproj
│ │ ├── Properties
│ │ │ └── AssemblyInfo.cs
│ │ ├── TempDB.cs
│ │ ├── TempDbDisposedEventArgs.cs
│ │ ├── TempDbHints.cs
│ │ └── icon.png
│ ├── PeanutButter.TempRedis.Tests
│ │ ├── PeanutButter.TempRedis.Tests.csproj
│ │ ├── TestRedisDownloader.cs
│ │ ├── TestTempRedis.cs
│ │ └── TestTempRedisFactory.cs
│ └── PeanutButter.TempRedis
│ │ ├── MicrosoftRedisDownloader.cs
│ │ ├── Package.nuspec
│ │ ├── PeanutButter.TempRedis.csproj
│ │ ├── RedisExecutableFinder.cs
│ │ ├── RedisWindowsServiceFinder.cs
│ │ ├── TempRedis.cs
│ │ ├── TempRedisFactory.cs
│ │ └── icon.png
├── TestUtils
│ ├── PeanutButter.RandomGenerators.Core.Tests.Domain
│ │ ├── PeanutButter.RandomGenerators.Core.Tests.Domain.csproj
│ │ └── Poco.cs
│ ├── PeanutButter.RandomGenerators.Core.Tests
│ │ ├── GlobalUsings.cs
│ │ ├── Matchers.cs
│ │ ├── PeanutButter.RandomGenerators.Core.Tests.csproj
│ │ ├── TestGetRandom.cs
│ │ └── TestObjectExtensions.cs
│ ├── PeanutButter.RandomGenerators.Ducked.Tests
│ │ ├── PeanutButter.RandomGenerators.Ducked.Tests.csproj
│ │ ├── Properties
│ │ │ └── AssemblyInfo.cs
│ │ └── TestRandomValueGen.cs
│ ├── PeanutButter.RandomGenerators.Tests
│ │ ├── .TestRandomValueGen.cs.un~
│ │ ├── GenericBuilderTestMatchers.cs
│ │ ├── GlobalUsings.cs
│ │ ├── PeanutButter.RandomGenerators.Tests.csproj
│ │ ├── PerformanceTest
│ │ │ ├── Address.cs
│ │ │ ├── AddressType.cs
│ │ │ ├── AddressViewModel.cs
│ │ │ ├── Attachment.cs
│ │ │ ├── AttachmentViewModel.cs
│ │ │ ├── BankingDetails.cs
│ │ │ ├── BankingDetailsViewModel.cs
│ │ │ ├── Company.cs
│ │ │ ├── CompanyBankingDetails.cs
│ │ │ ├── CompanyBankingDetailsViewModel.cs
│ │ │ ├── CompanyViewModel.cs
│ │ │ ├── Contact.cs
│ │ │ ├── ContactExtensions.cs
│ │ │ ├── ContactNumber.cs
│ │ │ ├── ContactNumberType.cs
│ │ │ ├── ContactNumberViewModel.cs
│ │ │ ├── ContactViewModel.cs
│ │ │ ├── ContractDetails.cs
│ │ │ ├── ContractDetailsViewModel.cs
│ │ │ ├── Coordinate.cs
│ │ │ ├── CoordinateViewModel.cs
│ │ │ ├── DateTimeExtensions.cs
│ │ │ ├── DecimalExtensions.cs
│ │ │ ├── DefaultDateTimeProvider.cs
│ │ │ ├── Designation.cs
│ │ │ ├── DesignationGroups.cs
│ │ │ ├── DocumentType.cs
│ │ │ ├── Domain.cs
│ │ │ ├── DomainDescriptor.cs
│ │ │ ├── DomainDescriptorSearchViewModel.cs
│ │ │ ├── DomainDescriptorViewModel.cs
│ │ │ ├── DomainViewModel.cs
│ │ │ ├── ElectronicChecklist.cs
│ │ │ ├── ElectronicChecklistViewModel.cs
│ │ │ ├── EntityBase.cs
│ │ │ ├── ExchangeArea.cs
│ │ │ ├── ExchangeAreaViewModel.cs
│ │ │ ├── FinNumber.cs
│ │ │ ├── FinNumberViewModel.cs
│ │ │ ├── FinNumberYearHelper.cs
│ │ │ ├── GenericSaveStatus.cs
│ │ │ ├── GridFsFile.cs
│ │ │ ├── HeaderViewModel.cs
│ │ │ ├── IDateTimeProvider.cs
│ │ │ ├── IDomainDescriptorFinder.cs
│ │ │ ├── IFinNumberGenerator.cs
│ │ │ ├── IUploadedFile.cs
│ │ │ ├── ImajinConfig.cs
│ │ │ ├── ImajinRecord.cs
│ │ │ ├── ImajinRecordType.cs
│ │ │ ├── Invoice.cs
│ │ │ ├── InvoiceNumbering.cs
│ │ │ ├── InvoiceNumberingType.cs
│ │ │ ├── InvoiceNumberingViewModel.cs
│ │ │ ├── InvoicePaymentRecon.cs
│ │ │ ├── InvoicePaymentReconViewModel.cs
│ │ │ ├── InvoiceViewModel.cs
│ │ │ ├── InvoiceViewModelBuilder.cs
│ │ │ ├── Job.cs
│ │ │ ├── JobViewModel.cs
│ │ │ ├── LibraryDocument.cs
│ │ │ ├── LibraryDocumentDetails.cs
│ │ │ ├── LibraryDocumentDetailsInvoice.cs
│ │ │ ├── LibraryDocumentDetailsInvoiceViewModel.cs
│ │ │ ├── LibraryDocumentDetailsOrder.cs
│ │ │ ├── LibraryDocumentDetailsOrderViewModel.cs
│ │ │ ├── LibraryDocumentDetailsReport.cs
│ │ │ ├── LibraryDocumentDetailsReportViewModel.cs
│ │ │ ├── LibraryDocumentDetailsViewModel.cs
│ │ │ ├── LibraryDocumentSearchViewModel.cs
│ │ │ ├── LibraryDocumentViewModel.cs
│ │ │ ├── Location.cs
│ │ │ ├── LocationType.cs
│ │ │ ├── LocationViewModel.cs
│ │ │ ├── Log.cs
│ │ │ ├── OperationType.cs
│ │ │ ├── Order.cs
│ │ │ ├── OrderViewModel.cs
│ │ │ ├── PasswordChangeViewModel.cs
│ │ │ ├── PdfEmbeddedFont.cs
│ │ │ ├── PdfFragment.cs
│ │ │ ├── PenaltyAmountParametersViewModel.cs
│ │ │ ├── QualityAssurance.cs
│ │ │ ├── QualityAssuranceViewModel.cs
│ │ │ ├── Rate.cs
│ │ │ ├── RateViewModel.cs
│ │ │ ├── ReceiptMethod.cs
│ │ │ ├── Recon.cs
│ │ │ ├── ReconViewModel.cs
│ │ │ ├── Region.cs
│ │ │ ├── ReportParameterType.cs
│ │ │ ├── ReportSchedule.cs
│ │ │ ├── ReportScheduleDateParameterDetails.cs
│ │ │ ├── ReportScheduleParameter.cs
│ │ │ ├── ReportScheduleParameterViewModel.cs
│ │ │ ├── ReportScheduleStringParameterDetails.cs
│ │ │ ├── ReportScheduleViewModel.cs
│ │ │ ├── ReportType.cs
│ │ │ ├── Schedule.cs
│ │ │ ├── ScheduleType.cs
│ │ │ ├── ScheduleViewModel.cs
│ │ │ ├── SecurityViewModel.cs
│ │ │ ├── ServiceItem.cs
│ │ │ ├── ServiceItemViewModel.cs
│ │ │ ├── SiteDiary.cs
│ │ │ ├── SiteDiaryViewModel.cs
│ │ │ ├── Status.cs
│ │ │ ├── Team.cs
│ │ │ ├── TeamViewModel.cs
│ │ │ ├── TrackOrdersParametersViewModel.cs
│ │ │ ├── TrackOrdersViewModel.cs
│ │ │ ├── UnpaidInvoicesViewModel.cs
│ │ │ ├── User.cs
│ │ │ ├── UserRole.cs
│ │ │ ├── UsersViewModel.cs
│ │ │ ├── VersionViewModel.cs
│ │ │ ├── ViewModelBase.cs
│ │ │ ├── Wage.cs
│ │ │ ├── WagePeriod.cs
│ │ │ ├── WageViewModel.cs
│ │ │ └── WorkType.cs
│ │ ├── Properties
│ │ │ └── AssemblyInfo.cs
│ │ ├── RandomTestCycles.cs
│ │ ├── TestCannotGetAnotherDifferentRandomValueException.cs
│ │ ├── TestDateTimeRange.cs
│ │ ├── TestEnumerableExtensions.cs
│ │ ├── TestGenericBuilder.cs
│ │ ├── TestGenericBuilderInstanceCreationException.cs
│ │ ├── TestGenericBuilderLocator.cs
│ │ ├── TestRandomBuilderPerformance.cs
│ │ ├── TestRandomValueGen.cs
│ │ ├── TestUnableToCreateDynamicBuilderException.cs
│ │ ├── TestUniqueRandomGenerator.cs
│ │ ├── TestVarianceAssert.cs
│ │ └── VarianceAssert.cs
│ ├── PeanutButter.RandomGenerators
│ │ ├── BuilderFinderExtensions.cs
│ │ ├── CannotGetAnotherDifferentRandomValueException.cs
│ │ ├── DateRange.cs
│ │ ├── EnumerableExtensions.cs
│ │ ├── GenericBuilder.cs
│ │ ├── GenericBuilderBase.cs
│ │ ├── GenericBuilderInstanceCreationException.cs
│ │ ├── GenericBuilderLocator.cs
│ │ ├── IGenericBuilder.cs
│ │ ├── NaturalData.cs
│ │ ├── NoRandomize.cs
│ │ ├── ObjectExtensions.cs
│ │ ├── Package.nuspec
│ │ ├── PeanutButter.RandomGenerators.csproj
│ │ ├── Properties
│ │ │ └── AssemblyInfo.cs
│ │ ├── RandomValueGen.cs
│ │ ├── RandomizerAttribute.cs
│ │ ├── RequireNonZero.cs
│ │ ├── RequireNonZeroId.cs
│ │ ├── RequireUnique.cs
│ │ ├── RequireUniqueId.cs
│ │ ├── Restrict.cs
│ │ ├── SatelliteAssemblyInitializer.cs
│ │ ├── StringArrayExtensionsForMatchingNamespaces.cs
│ │ ├── ThreadSafeRandom.cs
│ │ ├── UnableToCreateDynamicBuilderException.cs
│ │ ├── UniqueRandomValueGenerator.cs
│ │ └── icon.png
│ ├── PeanutButter.TestUtils.AspNetCore.Tests
│ │ ├── Fakes
│ │ │ └── TestJsonResultExecutor.cs
│ │ ├── GlobalUsings.cs
│ │ ├── PeanutButter.TestUtils.AspNetCore.Tests.csproj
│ │ ├── TestActionContextBuilder.cs
│ │ ├── TestActionExecutedContextBuilder.cs
│ │ ├── TestActionExecutingContextBuilder.cs
│ │ ├── TestActionResultExtensions.cs
│ │ ├── TestAuthorizationFilterContextBuilder.cs
│ │ ├── TestControllerActionDescriptorBuilder.cs
│ │ ├── TestControllerBuilder.cs
│ │ ├── TestControllerContextBuilder.cs
│ │ ├── TestFakeFormFile.cs
│ │ ├── TestFakeRequestCookieCollection.cs
│ │ ├── TestFakeResponseCookies.cs
│ │ ├── TestFakeSession.cs
│ │ ├── TestFormBodyEncodingDecoding.cs
│ │ ├── TestFormBuilder.cs
│ │ ├── TestHttpContextBuilder.cs
│ │ ├── TestHttpRequestBuilder.cs
│ │ ├── TestHttpResponseBuilder.cs
│ │ ├── TestHttpResponseExtensions.cs
│ │ ├── TestMinimalServiceProvider.cs
│ │ ├── TestModelBindingContextBuilder.cs
│ │ ├── TestModelMetadataBuilder.cs
│ │ ├── TestQueryCollectionBuilder.cs
│ │ ├── TestRouteDataBuilder.cs
│ │ ├── TestViewDataDictionaryBuilder.cs
│ │ ├── TestWebSocketBuilder.cs
│ │ ├── TestWebSocketManagerBuilder.cs
│ │ └── Utils
│ │ │ └── TestRequestDelegateTestArena.cs
│ ├── PeanutButter.TestUtils.AspNetCore
│ │ ├── ActionResultExtensions.cs
│ │ ├── Builders
│ │ │ ├── ActionContextBuilder.cs
│ │ │ ├── ActionExecutedContextBuilder.cs
│ │ │ ├── ActionExecutingContextBuilder.cs
│ │ │ ├── AuthorizationFilterContextBuilder.cs
│ │ │ ├── Builder.cs
│ │ │ ├── ControllerActionDescriptorBuilder.cs
│ │ │ ├── ControllerBuilder.cs
│ │ │ ├── ControllerContextBuilder.cs
│ │ │ ├── CustomConstructEntityRequired.cs
│ │ │ ├── FakeCastExtensions.cs
│ │ │ ├── FormBuilder.cs
│ │ │ ├── FormFileBuilder.cs
│ │ │ ├── HeaderDictionaryBuilder.cs
│ │ │ ├── HttpContextBuilder.cs
│ │ │ ├── HttpRequestBuilder.cs
│ │ │ ├── HttpRequestExtensions.cs
│ │ │ ├── HttpResponseBuilder.cs
│ │ │ ├── MissingConstructorRequirementException.cs
│ │ │ ├── ModelBindingContextBuilder.cs
│ │ │ ├── ModelMetadataBuilder.cs
│ │ │ ├── QueryCollectionBuilder.cs
│ │ │ ├── RandomValueGen.cs
│ │ │ ├── RandomizableBuilder.cs
│ │ │ ├── RequestCookieCollectionBuilder.cs
│ │ │ ├── RouteDataBuilder.cs
│ │ │ ├── StringMapDerivativeBuilder.cs
│ │ │ ├── TrivialRouter.cs
│ │ │ ├── ViewDataDictionaryBuilder.cs
│ │ │ ├── WebSocketBuilder.cs
│ │ │ └── WebSocketManagerBuilder.cs
│ │ ├── CookieNotFoundException.cs
│ │ ├── Fakes
│ │ │ ├── CookieUtil.cs
│ │ │ ├── FakeActionExecutedContext.cs
│ │ │ ├── FakeActionExecutingContext.cs
│ │ │ ├── FakeCompositeMetadataDetailsProvider.cs
│ │ │ ├── FakeConnectionInfo.cs
│ │ │ ├── FakeContentResultExecutor.cs
│ │ │ ├── FakeCookie.cs
│ │ │ ├── FakeFeatureCollection.cs
│ │ │ ├── FakeFormCollection.cs
│ │ │ ├── FakeFormFile.cs
│ │ │ ├── FakeFormFileCollection.cs
│ │ │ ├── FakeHeaderDictionary.cs
│ │ │ ├── FakeHttpContext.cs
│ │ │ ├── FakeHttpRequest.cs
│ │ │ ├── FakeHttpRequestFeature.cs
│ │ │ ├── FakeHttpResponse.cs
│ │ │ ├── FakeHttpResponseFeature.cs
│ │ │ ├── FakeJsonResultExecutor.cs
│ │ │ ├── FakeModelMetadata.cs
│ │ │ ├── FakeObjectResultExecutor.cs
│ │ │ ├── FakeQueryCollection.cs
│ │ │ ├── FakeRequestCookieCollection.cs
│ │ │ ├── FakeResponseCookies.cs
│ │ │ ├── FakeResponsePipeWriter.cs
│ │ │ ├── FakeSession.cs
│ │ │ ├── FakeTempDataDictionaryFactory.cs
│ │ │ ├── FakeTempDataProvider.cs
│ │ │ ├── FakeViewResultExecutor.cs
│ │ │ ├── FakeWebSocket.cs
│ │ │ ├── FakeWebSocketManager.cs
│ │ │ ├── ICanBeIndexedBy.cs
│ │ │ ├── IFake.cs
│ │ │ ├── Internal
│ │ │ │ ├── BufferSegment.cs
│ │ │ │ ├── BufferSegmentStack.cs
│ │ │ │ └── StreamPipeWriter.cs
│ │ │ ├── MinimalServiceProvider.cs
│ │ │ ├── NonFunctionalServiceProvider.cs
│ │ │ ├── ServiceProviderImplementationRequiredException.cs
│ │ │ ├── StringMap.cs
│ │ │ ├── StringValueMap.cs
│ │ │ └── StringValueMapChangedEventArgs.cs
│ │ ├── HttpHeaderExtensions.cs
│ │ ├── HttpRequestExtensions.cs
│ │ ├── HttpResponseExtensions.cs
│ │ ├── InvalidImplementationException.cs
│ │ ├── InvalidSameSiteValueException.cs
│ │ ├── Package.nuspec
│ │ ├── PeanutButter.TestUtils.AspNetCore.csproj
│ │ ├── PeanutButter.TestUtils.AspNetCore.csproj.DotSettings
│ │ ├── Program.cs
│ │ ├── Utils
│ │ │ ├── DefaultMvcOptions.cs
│ │ │ ├── DefaultObjectModelValidator.cs
│ │ │ ├── FeatureIsObsoleteException.cs
│ │ │ ├── FormDecoder.cs
│ │ │ ├── FormFileExtensions.cs
│ │ │ ├── IFormDecoder.cs
│ │ │ ├── IFormEncoder.cs
│ │ │ ├── MultiPartBodyEncoder.cs
│ │ │ ├── NullBodyEncoder.cs
│ │ │ ├── OneWayFlag.cs
│ │ │ ├── RequestDelegateTestArena.cs
│ │ │ ├── RequestDelegateTestArenaBuilder.cs
│ │ │ └── UrlEncodedBodyEncoder.cs
│ │ └── icon.png
│ ├── PeanutButter.TestUtils.Generic.Tests
│ │ ├── GlobalUsings.cs
│ │ ├── PeanutButter.TestUtils.Generic.Tests.csproj
│ │ ├── Properties
│ │ │ └── AssemblyInfo.cs
│ │ ├── TestConstructorTestUtils.cs
│ │ ├── TestDateAssert.cs
│ │ ├── TestDecimalExtensions.cs
│ │ ├── TestEnumerableExtensions.cs
│ │ ├── TestPropertyAssert.cs
│ │ ├── TestSubstituteExtensions.cs
│ │ ├── TestTypeExtensions.cs
│ │ └── app.config
│ ├── PeanutButter.TestUtils.Generic
│ │ ├── ConstructorTestUtils.cs
│ │ ├── DateTimeAssert.cs
│ │ ├── DecimalExtensions.cs
│ │ ├── EnumerableExtensions.cs
│ │ ├── NUnitAbstractions
│ │ │ ├── Assert.cs
│ │ │ ├── Assertions.cs
│ │ │ └── UnmetExpectation.cs
│ │ ├── Package.nuspec
│ │ ├── PeanutButter.TestUtils.Generic.csproj
│ │ ├── Properties
│ │ │ └── AssemblyInfo.cs
│ │ ├── PropertyAssert.cs
│ │ ├── SubstituteExtensions.cs
│ │ ├── TypeExtensions.cs
│ │ └── icon.png
│ └── RandomBuilderPerformanceTest
│ │ ├── App.config
│ │ ├── Fortel
│ │ ├── Address.cs
│ │ ├── AddressExtensions.cs
│ │ ├── AddressType.cs
│ │ ├── AddressViewModel.cs
│ │ ├── Attachment.cs
│ │ ├── AttachmentType.cs
│ │ ├── AttachmentViewModel.cs
│ │ ├── BankingDetails.cs
│ │ ├── BankingDetailsViewModel.cs
│ │ ├── Company.cs
│ │ ├── CompanyBankingDetails.cs
│ │ ├── CompanyBankingDetailsViewModel.cs
│ │ ├── CompanyViewModel.cs
│ │ ├── Contact.cs
│ │ ├── ContactExtensions.cs
│ │ ├── ContactNumber.cs
│ │ ├── ContactNumberType.cs
│ │ ├── ContactNumberViewModel.cs
│ │ ├── ContactViewModel.cs
│ │ ├── ContractDetails.cs
│ │ ├── ContractDetailsViewModel.cs
│ │ ├── Coordinate.cs
│ │ ├── CoordinateViewModel.cs
│ │ ├── DateTimeExtensions.cs
│ │ ├── DecimalExtensions.cs
│ │ ├── DefaultDateTimeProvider.cs
│ │ ├── Designation.cs
│ │ ├── DesignationGroups.cs
│ │ ├── DocumentType.cs
│ │ ├── Domain.cs
│ │ ├── DomainDescriptor.cs
│ │ ├── DomainDescriptorSearchViewModel.cs
│ │ ├── DomainDescriptorViewModel.cs
│ │ ├── DomainViewModel.cs
│ │ ├── ElectronicChecklist.cs
│ │ ├── ElectronicChecklistViewModel.cs
│ │ ├── EntityBase.cs
│ │ ├── EnumExtensions.cs
│ │ ├── ExchangeArea.cs
│ │ ├── ExchangeAreaViewModel.cs
│ │ ├── FinNumber.cs
│ │ ├── FinNumberExtensions.cs
│ │ ├── FinNumberViewModel.cs
│ │ ├── FinNumberYearHelper.cs
│ │ ├── GenericSaveStatus.cs
│ │ ├── GridFsFile.cs
│ │ ├── HeaderViewModel.cs
│ │ ├── IDateTimeProvider.cs
│ │ ├── IDomainDescriptorFinder.cs
│ │ ├── IFinNumberGenerator.cs
│ │ ├── IUploadedFile.cs
│ │ ├── ImajinConfig.cs
│ │ ├── ImajinRecord.cs
│ │ ├── ImajinRecordType.cs
│ │ ├── Invoice.cs
│ │ ├── InvoiceNumbering.cs
│ │ ├── InvoiceNumberingType.cs
│ │ ├── InvoiceNumberingViewModel.cs
│ │ ├── InvoicePaymentRecon.cs
│ │ ├── InvoicePaymentReconViewModel.cs
│ │ ├── InvoiceViewModel.cs
│ │ ├── InvoiceViewModelBuilder.cs
│ │ ├── Job.cs
│ │ ├── JobViewModel.cs
│ │ ├── LibraryDocument.cs
│ │ ├── LibraryDocumentDetails.cs
│ │ ├── LibraryDocumentDetailsInvoice.cs
│ │ ├── LibraryDocumentDetailsInvoiceViewModel.cs
│ │ ├── LibraryDocumentDetailsOrder.cs
│ │ ├── LibraryDocumentDetailsOrderViewModel.cs
│ │ ├── LibraryDocumentDetailsReport.cs
│ │ ├── LibraryDocumentDetailsReportViewModel.cs
│ │ ├── LibraryDocumentDetailsViewModel.cs
│ │ ├── LibraryDocumentSearchViewModel.cs
│ │ ├── LibraryDocumentViewModel.cs
│ │ ├── Location.cs
│ │ ├── LocationType.cs
│ │ ├── LocationViewModel.cs
│ │ ├── Log.cs
│ │ ├── OperationType.cs
│ │ ├── Order.cs
│ │ ├── OrderViewModel.cs
│ │ ├── PasswordChangeViewModel.cs
│ │ ├── PdfEmbeddedFont.cs
│ │ ├── PdfFragment.cs
│ │ ├── PenaltyAmountParametersViewModel.cs
│ │ ├── QualityAssurance.cs
│ │ ├── QualityAssuranceViewModel.cs
│ │ ├── Rate.cs
│ │ ├── RateViewModel.cs
│ │ ├── ReceiptMethod.cs
│ │ ├── Recon.cs
│ │ ├── ReconViewModel.cs
│ │ ├── Region.cs
│ │ ├── ReportParameterType.cs
│ │ ├── ReportSchedule.cs
│ │ ├── ReportScheduleDateParameterDetails.cs
│ │ ├── ReportScheduleParameter.cs
│ │ ├── ReportScheduleParameterViewModel.cs
│ │ ├── ReportScheduleStringParameterDetails.cs
│ │ ├── ReportScheduleViewModel.cs
│ │ ├── ReportType.cs
│ │ ├── Schedule.cs
│ │ ├── ScheduleType.cs
│ │ ├── ScheduleViewModel.cs
│ │ ├── SecurityViewModel.cs
│ │ ├── ServiceItem.cs
│ │ ├── ServiceItemViewModel.cs
│ │ ├── SiteDiary.cs
│ │ ├── SiteDiaryViewModel.cs
│ │ ├── Status.cs
│ │ ├── Team.cs
│ │ ├── TeamViewModel.cs
│ │ ├── TrackOrdersParametersViewModel.cs
│ │ ├── TrackOrdersViewModel.cs
│ │ ├── UnpaidInvoicesViewModel.cs
│ │ ├── User.cs
│ │ ├── UserRole.cs
│ │ ├── UsersViewModel.cs
│ │ ├── VersionViewModel.cs
│ │ ├── ViewModelBase.cs
│ │ ├── Wage.cs
│ │ ├── WagePeriod.cs
│ │ ├── WageViewModel.cs
│ │ └── WorkType.cs
│ │ ├── Properties
│ │ └── AssemblyInfo.cs
│ │ ├── RandomBuilderPerformanceTest.csproj
│ │ ├── TestRandomGeneratorPerformance.cs
│ │ └── packages.config
├── TinyEventAggregator
│ ├── PeanutButter.TinyEventAggregator.Tests
│ │ ├── Demo.cs
│ │ ├── PeanutButter.TinyEventAggregator.Tests.csproj
│ │ ├── Properties
│ │ │ └── AssemblyInfo.cs
│ │ ├── TestEventBase.cs
│ │ ├── TestSubscriptionToken.cs
│ │ └── TestTinyEventAggregator.cs
│ └── PeanutButter.TinyEventAggregator
│ │ ├── EventAggregator.cs
│ │ ├── EventBase.cs
│ │ ├── EventBaseWithPayload.cs
│ │ ├── Package.nuspec
│ │ ├── PeanutButter.TinyEventAggregator.csproj
│ │ ├── Properties
│ │ └── AssemblyInfo.cs
│ │ ├── Subscription.cs
│ │ ├── SubscriptionToken.cs
│ │ ├── SubscriptionsChangedEventArgs.cs
│ │ └── icon.png
├── Utils
│ ├── ConsoleStepsVisualTest
│ │ ├── ConsoleStepsVisualTest.csproj
│ │ └── Program.cs
│ ├── DuckTypingInDotnetCore3
│ │ ├── DuckTypingInDotnetCore3.csproj
│ │ └── Program.cs
│ ├── PeanutButter.DuckTyping.Demo
│ │ ├── AccidentalUsefulness
│ │ │ ├── 12_InterfaceShielding.cs
│ │ │ └── 13_Merging.cs
│ │ ├── Demo.cs
│ │ ├── DemoExtensions.cs
│ │ ├── Forced
│ │ │ ├── 10_SomeErrorsAreOk.cs
│ │ │ └── 11_WriteBackToDictionaries.cs
│ │ ├── Fuzzy
│ │ │ ├── 6_UnrelatedSimilarClasses.cs
│ │ │ ├── 7_VerySimilarObjects.cs
│ │ │ ├── 8_NameValueCollections.cs
│ │ │ └── 9_Dictionaries.cs
│ │ ├── OrderAttribute.cs
│ │ ├── PeanutButter.DuckTyping.Demo.csproj
│ │ ├── Program.cs
│ │ ├── RunnableDemo.cs
│ │ ├── Strict
│ │ │ ├── 1_ReadingFromUnrelatedClasses.cs
│ │ │ ├── 2_ReadingAndWritingFromUnrelatedClasses.cs
│ │ │ ├── 3_ReadingFromAnonymousObjects.cs
│ │ │ ├── 4_FailingDucksAndExceptions.cs
│ │ │ └── 5_DuckingMethods.cs
│ │ └── app.config
│ ├── PeanutButter.DuckTyping.NetCore.Tests
│ │ ├── PeanutButter.DuckTyping.NetCore.Tests.csproj
│ │ └── TestDuckTyper.cs
│ ├── PeanutButter.DuckTyping.Tests
│ │ ├── App.config
│ │ ├── AutoConversion
│ │ │ ├── Converters
│ │ │ │ ├── TestEnumConverter.cs
│ │ │ │ └── TestGenericStringConverter.cs
│ │ │ └── TestConverterLocator.cs
│ │ ├── Exceptions
│ │ │ ├── TestBackingFieldForPropertyNotFoundException.cs
│ │ │ ├── TestParameterCountMismatchException.cs
│ │ │ ├── TestUnresolvedParameterOrderMismatchException.cs
│ │ │ └── TestWriteOnlyPropertyException.cs
│ │ ├── Extensions
│ │ │ ├── ConnectionStringSettingsBuilder.cs
│ │ │ ├── Ext.cs
│ │ │ ├── SetupTests.cs
│ │ │ ├── TestCustomAttributeHelperExtensions.cs
│ │ │ ├── TestDuckTypingCollectionExtensions.cs
│ │ │ ├── TestDuckTypingExtensions.cs
│ │ │ ├── TestDuckTypingHelperExtensions.cs
│ │ │ └── TestMergingExtensions.cs
│ │ ├── GlobalUsings.cs
│ │ ├── PeanutButter.DuckTyping.Tests.csproj
│ │ ├── Shimming
│ │ │ ├── TestDictionaryShimSham.cs
│ │ │ ├── TestPropertyInfoContainer.cs
│ │ │ ├── TestShimSham.cs
│ │ │ └── TestTypeMaker.cs
│ │ ├── TestCreate.cs
│ │ └── TestDuckSpeed.cs
│ ├── PeanutButter.DuckTyping
│ │ ├── AutoConversion
│ │ │ ├── ConverterExtensions.cs
│ │ │ ├── ConverterLocator.cs
│ │ │ ├── Converters
│ │ │ │ ├── ConverterBase.cs
│ │ │ │ ├── EnumConverter.cs
│ │ │ │ ├── GenericCastingConverter.cs
│ │ │ │ ├── GenericNullableStringConverter.cs
│ │ │ │ ├── GenericStringArrayConverter.cs
│ │ │ │ ├── GenericStringConverter.cs
│ │ │ │ └── GenericStringConverterBase.cs
│ │ │ └── IConverter.cs
│ │ ├── Comparers
│ │ │ ├── Comparers.cs
│ │ │ ├── MethodInfoComparer.cs
│ │ │ ├── MethodInfoContainer.cs
│ │ │ └── PropertyInfoComparer.cs
│ │ ├── Create.cs
│ │ ├── Exceptions
│ │ │ ├── BackingFieldForPropertyNotFoundException.cs
│ │ │ ├── MethodNotFoundException.cs
│ │ │ ├── ParameterCountMismatchException.cs
│ │ │ ├── PropertyNotFoundException.cs
│ │ │ ├── ReadOnlyPropertyException.cs
│ │ │ ├── UnDuckableException.cs
│ │ │ ├── UnresolveableParameterOrderMismatchException.cs
│ │ │ └── WriteOnlyPropertyException.cs
│ │ ├── Extensions
│ │ │ ├── ConversionExtensions.cs
│ │ │ ├── CustomAttributeHelperExtensions.cs
│ │ │ ├── DuckTypingCollectionExtensions.cs
│ │ │ ├── DuckTypingDictionaryExtensions.cs
│ │ │ ├── DuckTypingExtensionSharedMethods.cs
│ │ │ ├── DuckTypingHelperExtensions.cs
│ │ │ ├── DuckTypingNameValueCollectionExtensions.cs
│ │ │ ├── DuckTypingObjectExtensions.cs
│ │ │ ├── DuckableTypesCache.cs
│ │ │ ├── FuzzyDictionaryExtensions.cs
│ │ │ ├── FuzzyMatchingExtensions.cs
│ │ │ ├── MergingExtensions.cs
│ │ │ └── TypeLookup.cs
│ │ ├── Package.nuspec
│ │ ├── PeanutButter.DuckTyping.csproj
│ │ ├── Properties
│ │ │ └── AssemblyInfo.cs
│ │ ├── Shimming
│ │ │ ├── DefaultPropertyInfoFetcher.cs
│ │ │ ├── DictionaryShimSham.cs
│ │ │ ├── IPropertyInfoFetcher.cs
│ │ │ ├── IShimSham.cs
│ │ │ ├── ITypeMaker.cs
│ │ │ ├── IsADuckAttribute.cs
│ │ │ ├── PropertyInfoContainer.cs
│ │ │ ├── ShimSham.cs
│ │ │ ├── ShimShamBase.cs
│ │ │ └── TypeMaker.cs
│ │ └── icon.png
│ ├── PeanutButter.EasyArgs.Consumer
│ │ ├── PeanutButter.EasyArgs.Consumer.csproj
│ │ └── Program.cs
│ ├── PeanutButter.EasyArgs.Tests
│ │ ├── PeanutButter.EasyArgs.Tests.csproj
│ │ └── TestParserExtensions.cs
│ ├── PeanutButter.EasyArgs
│ │ ├── ArgParserOptionsExtensions.cs
│ │ ├── Attributes
│ │ │ ├── AllowDefaultFromEnvironment.cs
│ │ │ ├── CopyrightAttribute.cs
│ │ │ ├── DefaultAttribute.cs
│ │ │ ├── DescriptionAttribute.cs
│ │ │ ├── DisableGeneratedShortNameAttribute.cs
│ │ │ ├── ExistingFileAttribute.cs
│ │ │ ├── ExistingFolderAttribute.cs
│ │ │ ├── IgnoreAttribute.cs
│ │ │ ├── LongNameAttribute.cs
│ │ │ ├── MaxAttribute.cs
│ │ │ ├── MinAttribute.cs
│ │ │ ├── MoreInfoAttribute.cs
│ │ │ ├── NumericAttribute.cs
│ │ │ ├── ObjectAttribute.cs
│ │ │ ├── RequiredAttribute.cs
│ │ │ ├── ShortNameAttribute.cs
│ │ │ └── StringAttribute.cs
│ │ ├── CommandlineArgument.cs
│ │ ├── ConflictsWithAttribute.cs
│ │ ├── DictionaryExtensions.cs
│ │ ├── ExitCodes.cs
│ │ ├── GatheringExtensions.cs
│ │ ├── IHasValue.cs
│ │ ├── Package.nuspec
│ │ ├── ParserExtensions.cs
│ │ ├── ParserOptions.cs
│ │ ├── PeanutButter.EasyArgs.csproj
│ │ ├── README.md
│ │ ├── SkipOnGenerationAttribute.cs
│ │ ├── StringCollection.cs
│ │ ├── StringPair.cs
│ │ └── icon.png
│ ├── PeanutButter.FileSystem.Tests
│ │ ├── GlobalUsings.cs
│ │ ├── PeanutButter.FileSystem.Tests.csproj
│ │ ├── Properties
│ │ │ └── AssemblyInfo.cs
│ │ ├── TestLocalFileSystem.cs
│ │ └── WindowsShare.cs
│ ├── PeanutButter.FileSystem
│ │ ├── IFileSystem.cs
│ │ ├── LocalFilesystem.cs
│ │ ├── Package.nuspec
│ │ ├── PathNotFoundException.cs
│ │ ├── PeanutButter.FileSystem.csproj
│ │ ├── Properties
│ │ │ └── AssemblyInfo.cs
│ │ └── icon.png
│ ├── PeanutButter.JObjectExtensions.Tests
│ │ ├── GlobalUsings.cs
│ │ ├── PeanutButter.JObjectExtensions.Tests.csproj
│ │ ├── Properties
│ │ │ └── AssemblyInfo.cs
│ │ └── TestJObjectExtensions.cs
│ ├── PeanutButter.JObjectExtensions
│ │ ├── JObjectExtensions.cs
│ │ ├── Package.nuspec
│ │ ├── PeanutButter.JObjectExtensions.csproj
│ │ ├── Properties
│ │ │ └── AssemblyInfo.cs
│ │ └── icon.png
│ ├── PeanutButter.MVC.Tests
│ │ ├── GlobalUsings.cs
│ │ ├── PeanutButter.MVC.Tests.csproj
│ │ ├── Properties
│ │ │ └── AssemblyInfo.cs
│ │ ├── TestAutoInclude.cs
│ │ ├── TestIncludeDirectory.cs
│ │ ├── TestScriptBundleFacade.cs
│ │ ├── TestStyleBundleFacade.cs
│ │ └── app.config
│ ├── PeanutButter.MVC
│ │ ├── AutoInclude.cs
│ │ ├── IScriptBundle.cs
│ │ ├── IStyleBundle.cs
│ │ ├── IncludeDirectory.cs
│ │ ├── PeanutButter.MVC.csproj
│ │ ├── Properties
│ │ │ └── AssemblyInfo.cs
│ │ ├── ScriptBundleFacade.cs
│ │ ├── StyleBundleFacade.cs
│ │ └── app.config
│ ├── PeanutButter.NetUtils.Tests
│ │ ├── GlobalUsings.cs
│ │ ├── PeanutButter.NetUtils.Tests.csproj
│ │ ├── Properties
│ │ │ └── AssemblyInfo.cs
│ │ └── TestWebDownloader.cs
│ ├── PeanutButter.NetUtils
│ │ ├── PeanutButter.NetUtils.csproj
│ │ ├── Properties
│ │ │ └── AssemblyInfo.cs
│ │ └── WebDownloader.cs
│ ├── PeanutButter.Utils.NetCore.Tests
│ │ ├── DeepEqualityTesterExtensions.cs
│ │ ├── DictionaryBuilder.cs
│ │ ├── GlobalUsings.cs
│ │ ├── MyEnumerable.cs
│ │ ├── PeanutButter.Utils.NetCore.Tests.csproj
│ │ ├── TestAssemblyExtensions.cs
│ │ ├── TestAsync.cs
│ │ ├── TestAsyncExtensionsForIEnumerables.cs
│ │ ├── TestAutoBarrier.cs
│ │ ├── TestAutoDeleter.cs
│ │ ├── TestAutoDisposer.cs
│ │ ├── TestAutoLocker.cs
│ │ ├── TestAutoResetter.cs
│ │ ├── TestAutoResettingFile.cs
│ │ ├── TestAutoTempEnvironmentVariable.cs
│ │ ├── TestAutoTempFile.cs
│ │ ├── TestAutoTempFolder.cs
│ │ ├── TestAutoWorkFolder.cs
│ │ ├── TestBenchmark.cs
│ │ ├── TestBooleanExtensions.cs
│ │ ├── TestBuilder.cs
│ │ ├── TestByteArrayExtensions.cs
│ │ ├── TestCircularList.cs
│ │ ├── TestCommandline.cs
│ │ ├── TestDateTimeExtensions.cs
│ │ ├── TestDecimalDecorator.cs
│ │ ├── TestDeepEqualityTester.cs
│ │ ├── TestDictionaryExtensions.cs
│ │ ├── TestDisposableWrapper.cs
│ │ ├── TestExpressionHelper.cs
│ │ ├── TestExtensionsForIEnumerables.cs
│ │ ├── TestFilePathResolver.cs
│ │ ├── TestFind.cs
│ │ ├── TestFlagExtensions.cs
│ │ ├── TestFlexiConstructor.cs
│ │ ├── TestFluencyExtensions.cs
│ │ ├── TestLazyWithContext.cs
│ │ ├── TestListExtensions.cs
│ │ ├── TestMIME.cs
│ │ ├── TestMedianExtensions.cs
│ │ ├── TestMetadataExtensions.cs
│ │ ├── TestMockStoreExtensions.cs
│ │ ├── TestMostRecentlyUsed.cs
│ │ ├── TestObjectExtensions.cs
│ │ ├── TestOrderedDictionary.cs
│ │ ├── TestParallelWorker.cs
│ │ ├── TestPool.cs
│ │ ├── TestProcessIO.cs
│ │ ├── TestPropertyOrField.cs
│ │ ├── TestPyLike.cs
│ │ ├── TestQueueExtensions.cs
│ │ ├── TestRetryExtensions.cs
│ │ ├── TestRunUntil.cs
│ │ ├── TestRunWithTimeout.cs
│ │ ├── TestSingleItemCache.cs
│ │ ├── TestSlidingWindow.cs
│ │ ├── TestStringifier.cs
│ │ └── TestTimeSpanExtensions.cs
│ ├── PeanutButter.Utils.Tests
│ │ ├── Dictionaries
│ │ │ ├── TestCaseWarpingDictionaryWrapper.cs
│ │ │ ├── TestDefaultDictionary.cs
│ │ │ ├── TestDictionaryWrappingConnectionStringCollection.cs
│ │ │ ├── TestDictionaryWrappingNameValueCollection.cs
│ │ │ ├── TestDictionaryWrappingObject.cs
│ │ │ ├── TestMergeDictionary.cs
│ │ │ ├── TestRedirectingDictionary.cs
│ │ │ ├── TestTransformingDictionary.cs
│ │ │ └── TestValidatingDictionary.cs
│ │ ├── GlobalUsings.cs
│ │ ├── PeanutButter.Utils.Tests.csproj
│ │ ├── Properties
│ │ │ └── AssemblyInfo.cs
│ │ ├── TestConcurrentCollectionExtensions.cs
│ │ ├── TestEnv.cs
│ │ ├── TestProcessIO.cs
│ │ ├── TestRetry.cs
│ │ ├── TestRetryExtensions.cs
│ │ ├── TestRollingWindow.cs
│ │ ├── TestRunOnce.cs
│ │ ├── TestRunningAverage.cs
│ │ ├── TestRuntime.cs
│ │ ├── TestSingleDebuggerBlock.cs
│ │ ├── TestStepContext.cs
│ │ ├── TestStreamExtensions.cs
│ │ ├── TestStrictComparer.cs
│ │ ├── TestStringExtensions.cs
│ │ ├── TestStringifier.cs
│ │ ├── TestTaskExtensions.cs
│ │ ├── TestTextStatusSteps.cs
│ │ ├── TestTypeEqualityTester.cs
│ │ ├── TestTypeExtensions.cs
│ │ ├── TestTypeFinder.cs
│ │ ├── TestUdpIpc.cs
│ │ ├── TestUriExtensions.cs
│ │ └── TestWebObjectExtensions.cs
│ ├── PeanutButter.Utils
│ │ ├── ArrayExtensions.cs
│ │ ├── AssemblyExtensions.cs
│ │ ├── Async.cs
│ │ ├── AsyncExtensionsForIEnumerables.cs
│ │ ├── AutoBarrier.cs
│ │ ├── AutoDeleter.cs
│ │ ├── AutoDisposer.cs
│ │ ├── AutoLocker.cs
│ │ ├── AutoResetter.cs
│ │ ├── AutoResetterOfT.cs
│ │ ├── AutoResettingFile.cs
│ │ ├── AutoTempEnvironmentVariable.cs
│ │ ├── AutoTempFile.cs
│ │ ├── AutoTempFolder.cs
│ │ ├── AutoWorkFolder.cs
│ │ ├── Benchmark.cs
│ │ ├── BooleanExtensions.cs
│ │ ├── Builder.cs
│ │ ├── ByteArrayExtensions.cs
│ │ ├── CannotZipNullException.cs
│ │ ├── CircularList.cs
│ │ ├── Commandline.cs
│ │ ├── ConcurrentCollectionExtensions.cs
│ │ ├── ConsoleSteps.cs
│ │ ├── DateTimeExtensions.cs
│ │ ├── DecimalDecorator.cs
│ │ ├── DeepEqualityTester.cs
│ │ ├── DefaultBackoffStrategy.cs
│ │ ├── Dictionaries
│ │ │ ├── CaseWarpingDictionaryWrapper.cs
│ │ │ ├── DefaultDictionary.cs
│ │ │ ├── DictionaryWrappingConnectionStringSettingCollection.cs
│ │ │ ├── DictionaryWrappingNameValueCollection.cs
│ │ │ ├── DictionaryWrappingObject.cs
│ │ │ ├── GenericDictionaryEnumerator.cs
│ │ │ ├── MergeDictionary.cs
│ │ │ ├── OrderedDictionary.cs
│ │ │ ├── RedirectingDictionary.cs
│ │ │ ├── TransformingDictionary.cs
│ │ │ └── ValidatingDictionary.cs
│ │ ├── DictionaryExtensions.cs
│ │ ├── DisposableWrapper.cs
│ │ ├── EnumerableWrapper.cs
│ │ ├── Env.cs
│ │ ├── ErrorStrategies.cs
│ │ ├── ExpressionUtil.cs
│ │ ├── ExtensionsForIEnumerables.cs
│ │ ├── FilePathResolver.cs
│ │ ├── Find.cs
│ │ ├── FlagExtensions.cs
│ │ ├── FlexiConstructor.cs
│ │ ├── FluencyExtensions.cs
│ │ ├── HttpEncoder.cs
│ │ ├── IBackoffStrategy.cs
│ │ ├── InvalidEnvironmentVariableValue.cs
│ │ ├── KeyValueCollectionExtensions.cs
│ │ ├── LazyWithContext.cs
│ │ ├── ListExtensions.cs
│ │ ├── MaxAttemptsRetryContext.cs
│ │ ├── MedianExtensions.cs
│ │ ├── MemberNotFoundException.cs
│ │ ├── MetadataExtensions.cs
│ │ ├── MimeTypes.cs
│ │ ├── MockStoreExtensions.cs
│ │ ├── MostRecentlyUsed.cs
│ │ ├── ObjectExtensions.cs
│ │ ├── Package.nuspec
│ │ ├── ParallelWorker.cs
│ │ ├── PathType.cs
│ │ ├── PeanutButter.Utils.csproj
│ │ ├── Platform.cs
│ │ ├── Pool.cs
│ │ ├── PortFinder.cs
│ │ ├── ProcessIO.cs
│ │ ├── Properties
│ │ │ └── AssemblyInfo.cs
│ │ ├── PropertyOrField.cs
│ │ ├── PropertyOrFieldExtensions.cs
│ │ ├── PyLike.cs
│ │ ├── QueueExtensions.cs
│ │ ├── RandomNumber.cs
│ │ ├── RetriesExceededException.cs
│ │ ├── Retry.cs
│ │ ├── RetryExtensions.cs
│ │ ├── RollingWindow.cs
│ │ ├── Run.InParallel.cs
│ │ ├── Run.Once.cs
│ │ ├── Run.Until.cs
│ │ ├── Run.WithTimeout.cs
│ │ ├── RunningAverage.cs
│ │ ├── Runtime.cs
│ │ ├── SafeWalk.cs
│ │ ├── SingleDebuggerBlock.cs
│ │ ├── SingleItemCache.cs
│ │ ├── SlidingWindow.cs
│ │ ├── SlidingWindowEstimatedTimeRemainingExtensions.cs
│ │ ├── SlidingWindowItem.cs
│ │ ├── SlidingWindowRateExtensions.cs
│ │ ├── Steps.cs
│ │ ├── StreamExtensions.cs
│ │ ├── StrictComparer.cs
│ │ ├── StringExtensions.cs
│ │ ├── Stringifier.cs
│ │ ├── SuppressedTextStatusSteps.cs
│ │ ├── TaskExtensions.cs
│ │ ├── TextStatusSteps.cs
│ │ ├── TimeBasedRetryContext.cs
│ │ ├── TimeSpanExtensions.cs
│ │ ├── TypeEqualityTester.cs
│ │ ├── TypeExtensions.cs
│ │ ├── TypeFinder.cs
│ │ ├── UdpIpc.cs
│ │ ├── UnableToFindOpenPortException.cs
│ │ ├── UnevenZipException.cs
│ │ ├── UriExtensions.cs
│ │ ├── Validate.cs
│ │ ├── WebObjectExtensions.cs
│ │ ├── WorkResult.cs
│ │ ├── WorkResultExtensions.cs
│ │ ├── Worker.cs
│ │ ├── icon.png
│ │ └── tools
│ │ │ ├── UpdatePeanutButter.psm1
│ │ │ ├── init.ps1
│ │ │ ├── install.ps1
│ │ │ └── uninstall.ps1
│ ├── PeanutButter.XmlUtils.Tests
│ │ ├── PeanutButter.XmlUtils.Tests.csproj
│ │ ├── Properties
│ │ │ └── AssemblyInfo.cs
│ │ └── TestXElementExtensions.cs
│ └── PeanutButter.XmlUtils
│ │ ├── Package.nuspec
│ │ ├── PeanutButter.XmlUtils.csproj
│ │ ├── Properties
│ │ └── AssemblyInfo.cs
│ │ ├── XElementExtensions.cs
│ │ └── icon.png
├── Win32Service
│ ├── DotNetService
│ │ ├── DotNetService.csproj
│ │ ├── DotNetServiceShell.cs
│ │ └── Program.cs
│ ├── PeanutButter.ServiceShell.NetCore.Tests
│ │ ├── GlobalUsings.cs
│ │ ├── PeanutButter.ServiceShell.NetCore.Tests.csproj
│ │ └── TestShell.cs
│ ├── PeanutButter.ServiceShell.Tests
│ │ ├── AnotherService.cs
│ │ ├── GlobalSetup.cs
│ │ ├── PeanutButter.ServiceShell.Tests.csproj
│ │ ├── PeanutButter.ServiceShell.Tests.csproj.DotSettings
│ │ ├── Program.cs
│ │ ├── Properties
│ │ │ └── AssemblyInfo.cs
│ │ ├── SomeService.cs
│ │ ├── TestServiceCommandlineOptions.cs
│ │ ├── TestServiceUnconfiguredException.cs
│ │ └── TestShell.cs
│ ├── PeanutButter.ServiceShell
│ │ ├── App.config
│ │ ├── Package.nuspec
│ │ ├── PeanutButter.ServiceShell.csproj
│ │ ├── Properties
│ │ │ └── AssemblyInfo.cs
│ │ ├── ServiceCommandlineOptions.cs
│ │ ├── ServiceUnconfiguredException.cs
│ │ ├── Shell.cs
│ │ ├── ShellTestFailureException.cs
│ │ └── icon.png
│ ├── PeanutButter.WindowsServiceManagement.Core.Tests
│ │ ├── GlobalSetup.cs
│ │ ├── PeanutButter.WindowsServiceManagement.Core.Tests.csproj
│ │ ├── TestServiceControlInterface.cs
│ │ ├── TestWindowsServiceUtil.cs
│ │ └── Usings.cs
│ ├── PeanutButter.WindowsServiceManagement.Tests
│ │ ├── App.config
│ │ ├── Exceptions
│ │ │ ├── TestServiceNotInstalledException.cs
│ │ │ └── TestWindowsServiceUtilException.cs
│ │ ├── GlobalSetup.cs
│ │ ├── PeanutButter.WindowsServiceManagement.Tests.csproj
│ │ ├── Properties
│ │ │ └── AssemblyInfo.cs
│ │ ├── TestServiceOperationException.cs
│ │ └── TestWindowsServiceUtilBase.cs
│ ├── PeanutButter.WindowsServiceManagement
│ │ ├── Exceptions
│ │ │ ├── ServiceNotInstalledException.cs
│ │ │ ├── ServiceOperationException.cs
│ │ │ └── WindowsServiceUtilException.cs
│ │ ├── KillServiceResult.cs
│ │ ├── NativeWindowsServiceUtil.cs
│ │ ├── Package.nuspec
│ │ ├── PeanutButter.WindowsServiceManagement.csproj
│ │ ├── Properties
│ │ │ └── AssemblyInfo.cs
│ │ ├── RegKey.cs
│ │ ├── ScmAccessRights.cs
│ │ ├── ServiceAccessRights.cs
│ │ ├── ServiceBootFlag.cs
│ │ ├── ServiceControl.cs
│ │ ├── ServiceControlException.cs
│ │ ├── ServiceControlInterface.cs
│ │ ├── ServiceControlKeys.cs
│ │ ├── ServiceError.cs
│ │ ├── ServiceOperationNames.cs
│ │ ├── ServiceStartupTypes.cs
│ │ ├── ServiceState.cs
│ │ ├── Win32Api.cs
│ │ ├── WindowsServiceUtil.cs
│ │ └── icon.png
│ ├── ServiceWithArgs
│ │ ├── Program.cs
│ │ └── ServiceWithArgs.csproj
│ ├── SpacedService
│ │ ├── App.config
│ │ ├── Program.cs
│ │ ├── Properties
│ │ │ └── AssemblyInfo.cs
│ │ ├── Service.cs
│ │ ├── SpacedService.csproj
│ │ └── log4net.config
│ ├── StubbornService
│ │ ├── App.config
│ │ ├── Program.cs
│ │ └── StubbornService.csproj
│ └── TestService
│ │ ├── App.config
│ │ ├── Program.cs
│ │ ├── Properties
│ │ └── AssemblyInfo.cs
│ │ ├── TestService.csproj
│ │ └── TotallyNotInterestingService.cs
├── _deprecated_
│ ├── Async
│ │ ├── PeanutButter.Async.Tests
│ │ │ ├── PeanutButter.Async.Tests.csproj
│ │ │ ├── Properties
│ │ │ │ └── AssemblyInfo.cs
│ │ │ └── TestTaskRunner.cs
│ │ ├── PeanutButter.Async
│ │ │ ├── Continuation.cs
│ │ │ ├── FluentTaskRunnerContinuation.cs
│ │ │ ├── Interfaces
│ │ │ │ ├── IContinuation.cs
│ │ │ │ ├── IFluentTaskRunnerContinuation.cs
│ │ │ │ └── ITaskRunner.cs
│ │ │ ├── Package.nuspec
│ │ │ ├── PeanutButter.Async.csproj
│ │ │ ├── Properties
│ │ │ │ └── AssemblyInfo.cs
│ │ │ ├── TaskExtensions.cs
│ │ │ ├── TaskRunner.cs
│ │ │ └── icon.png
│ │ ├── PeanutButter.TestUtils.Async.Tests
│ │ │ ├── PeanutButter.TestUtils.Async.Tests.csproj
│ │ │ ├── Properties
│ │ │ │ └── AssemblyInfo.cs
│ │ │ └── TestImmediateTaskRunner.cs
│ │ └── PeanutButter.TestUtils.Async
│ │ │ ├── ImmediateTaskRunnerBuilder.cs
│ │ │ ├── Package.nuspec
│ │ │ ├── PeanutButter.TestUtils.Async.csproj
│ │ │ ├── Properties
│ │ │ └── AssemblyInfo.cs
│ │ │ └── icon.png
│ ├── EmailSpooler
│ │ ├── EmailSpooler.Setup
│ │ │ ├── Email Spooler Setup.iss
│ │ │ └── Setup-EmailSpoolerService.exe
│ │ ├── EmailSpooler.Win32Service.DB.NugetPackage
│ │ │ └── content
│ │ │ │ └── MSSQL
│ │ │ │ ├── 01_Email.sql
│ │ │ │ ├── 02_EmailRecipient.sql
│ │ │ │ └── 03_EmailAttachment.sql
│ │ ├── EmailSpooler.Win32Service.DB.Tests
│ │ │ ├── Builders
│ │ │ │ ├── EmailAttachmentBuilder.cs
│ │ │ │ ├── EmailBuilder.cs
│ │ │ │ └── EmailRecipientBuilder.cs
│ │ │ ├── DbMigrationsRunnerSqlServer.cs
│ │ │ ├── EmailSpooler.Win32Service.DB.Tests.csproj
│ │ │ ├── FluentMigrator
│ │ │ │ ├── Migration_1_CreateEmail.cs
│ │ │ │ ├── Migration_2_CreateEmailRecipient.cs
│ │ │ │ ├── Migration_3_CreateEmailAttachment.cs
│ │ │ │ └── TestMigrationFoundation.cs
│ │ │ ├── Properties
│ │ │ │ └── AssemblyInfo.cs
│ │ │ ├── TestMigrationsAndEntities.cs
│ │ │ └── app.config
│ │ ├── EmailSpooler.Win32Service.DB
│ │ │ ├── DataConstants.cs
│ │ │ ├── EmailSpooler.Win32Service.DB.csproj
│ │ │ ├── FluentMigrator
│ │ │ │ ├── MigrationExtensions.cs
│ │ │ │ ├── MigrationFoundation.cs
│ │ │ │ ├── Migration_1_CreateEmail.cs
│ │ │ │ ├── Migration_2_CreateEmailRecipient.cs
│ │ │ │ └── Migration_3_CreateEmailAttachment.cs
│ │ │ ├── MSSQL
│ │ │ │ ├── 01_Email.sql
│ │ │ │ ├── 02_EmailRecipient.sql
│ │ │ │ └── 03_EmailAttachment.sql
│ │ │ ├── Package.nuspec
│ │ │ ├── Properties
│ │ │ │ └── AssemblyInfo.cs
│ │ │ ├── README.txt
│ │ │ └── app.config
│ │ ├── EmailSpooler.Win32Service.Entity.Tests
│ │ │ ├── App.config
│ │ │ ├── EmailSpooler.Win32Service.Entity.Tests.csproj
│ │ │ ├── Properties
│ │ │ │ └── AssemblyInfo.cs
│ │ │ └── TestEmailContext.cs
│ │ ├── EmailSpooler.Win32Service.Entity
│ │ │ ├── App.config
│ │ │ ├── Email.cs
│ │ │ ├── EmailAttachment.cs
│ │ │ ├── EmailContext.cs
│ │ │ ├── EmailRecipient.cs
│ │ │ ├── EmailSpooler.Win32Service.Entity.csproj
│ │ │ ├── Package.nuspec
│ │ │ └── Properties
│ │ │ │ └── AssemblyInfo.cs
│ │ ├── EmailSpooler.Win32Service.Tests
│ │ │ ├── App.config
│ │ │ ├── Builders
│ │ │ │ ├── EmailAttachmentBuilder.cs
│ │ │ │ ├── EmailBuilder.cs
│ │ │ │ ├── EmailRecipientBuilder.cs
│ │ │ │ └── SubstituteEmailContextBuilder.cs
│ │ │ ├── EmailSpooler.Win32Service.Tests.csproj
│ │ │ ├── IDbSetSubstituteBuilder.cs
│ │ │ ├── Properties
│ │ │ │ └── AssemblyInfo.cs
│ │ │ ├── TestEmail.cs
│ │ │ ├── TestEmailConfiguration.cs
│ │ │ ├── TestEmailSpooler.cs
│ │ │ ├── TestEmailSpoolerDependencies.cs
│ │ │ ├── TestEmailSpoolerService.cs
│ │ │ └── TestProgram.cs
│ │ └── EmailSpooler.Win32Service
│ │ │ ├── App.config
│ │ │ ├── ConnectionStrings.config
│ │ │ ├── EmailSpooler.Win32Service.csproj
│ │ │ ├── EmailSpooler.cs
│ │ │ ├── EmailSpoolerConfig.cs
│ │ │ ├── EmailSpoolerDependencies.cs
│ │ │ ├── EmailSpoolerService.cs
│ │ │ ├── Program.cs
│ │ │ ├── Properties
│ │ │ └── AssemblyInfo.cs
│ │ │ ├── README.txt
│ │ │ ├── SMTP
│ │ │ ├── Email.cs
│ │ │ ├── EmailAttachment.cs
│ │ │ ├── EmailConfiguration.cs
│ │ │ ├── IEmail.cs
│ │ │ └── SmtpClientFacade.cs
│ │ │ └── appSettings.config
│ ├── PeanutButter.DatabaseHelpers.Testability
│ │ ├── ISelectStatementBuilderExtensions.vb
│ │ ├── My Project
│ │ │ ├── Application.Designer.vb
│ │ │ ├── Application.myapp
│ │ │ ├── AssemblyInfo.vb
│ │ │ ├── Resources.Designer.vb
│ │ │ └── Resources.resx
│ │ ├── Package.nuspec
│ │ ├── PeanutButter.DatabaseHelpers.Testability.vbproj
│ │ ├── StatementBuilderFaker.vb
│ │ └── icon.png
│ ├── PeanutButter.FluentMigrator.Tests
│ │ ├── App.config
│ │ ├── Fakes
│ │ │ ├── TestFakeDbCommand.cs
│ │ │ ├── TestFakeDbConnection.cs
│ │ │ ├── TestFakeDbConnectionFactory.cs
│ │ │ ├── TestFakeDbDataAdapter.cs
│ │ │ ├── TestFakeDbParameter.cs
│ │ │ └── TestFakeDbReader.cs
│ │ ├── PeanutButter.FluentMigrator.Tests.csproj
│ │ ├── Properties
│ │ │ └── AssemblyInfo.cs
│ │ ├── Shared
│ │ │ ├── Cow.cs
│ │ │ ├── Migration1.cs
│ │ │ ├── Migration2.cs
│ │ │ ├── MooContext.cs
│ │ │ └── RunningDbMigrationsRunnerForSqlServer.cs
│ │ ├── TestAnnouncerMessageRecorder.cs
│ │ ├── TestDbMigrationsDumper.cs
│ │ └── TestDbMigrationsRunner.cs
│ ├── PeanutButter.FluentMigrator
│ │ ├── DBMigrationsRunner.cs
│ │ ├── Fakes
│ │ │ ├── FakeDbCommand.cs
│ │ │ ├── FakeDbConnection.cs
│ │ │ ├── FakeDbConnectionFactory.cs
│ │ │ ├── FakeDbDataAdapter.cs
│ │ │ ├── FakeDbParameter.cs
│ │ │ ├── FakeDbReader.cs
│ │ │ └── FakeDbTransaction.cs
│ │ ├── MigrationDumping
│ │ │ ├── AnnouncerMessageRecorder.cs
│ │ │ ├── DBMigrationsDumper.cs
│ │ │ ├── Examples
│ │ │ │ └── MigrationsDumpingFactoryForSqlServer.cs
│ │ │ └── MigrationDumpingFactoryBase.cs
│ │ ├── Package.nuspec
│ │ ├── PeanutButter.FluentMigrator.csproj
│ │ ├── Properties
│ │ │ └── AssemblyInfo.cs
│ │ └── icon.png
│ ├── PeanutButter.TestUtils.Entity.Tests
│ │ ├── App.config
│ │ ├── PeanutButter.TestUtils.Entity.Tests.csproj
│ │ ├── Properties
│ │ │ └── AssemblyInfo.cs
│ │ ├── Resources
│ │ │ ├── dbscript.sql
│ │ │ └── entitypersistence.sql
│ │ ├── TestCrossFixtureTempDbLifetimeWithInheritence1.cs
│ │ ├── TestCrossFixtureTempDbLifetimeWithInheritence2.cs
│ │ ├── TestData.cs
│ │ ├── TestDbSchemaImporter.cs
│ │ ├── TestEntityPersistenceTestFixture.cs
│ │ ├── TestEntityPersistenceTester.cs
│ │ ├── TestGenericEntityBuilder.cs
│ │ ├── TestObjectExtensionsForTesting.cs
│ │ ├── TestResources.Designer.cs
│ │ ├── TestResources.resx
│ │ ├── TestSharedDatabaseAlreadyRegisteredException.cs
│ │ ├── TestSharedTempDbFeaterRequiresAssemblyAttributeException.cs
│ │ ├── TestTestFixtureWithTempDb.cs
│ │ └── TestUseSharedTempDbAttribute.cs
│ ├── PeanutButter.TestUtils.Entity
│ │ ├── App.config
│ │ ├── Attributes
│ │ │ ├── AllowSharedTempDbInstancesAttribute.cs
│ │ │ └── UseSharedTempDbAttribute.cs
│ │ ├── DbSchemaImporter.cs
│ │ ├── EntityPersistenceFluentState.cs
│ │ ├── EntityPersistenceFluentStateConstants.cs
│ │ ├── EntityPersistenceTestFixtureBase.cs
│ │ ├── EntityPersistenceTester.cs
│ │ ├── EntityPersistenceTesterFor.cs
│ │ ├── GenericEntityBuilder.cs
│ │ ├── ObjectExtensionsForTesting.cs
│ │ ├── Package.nuspec
│ │ ├── PeanutButter.TestUtils.Entity.csproj
│ │ ├── Properties
│ │ │ └── AssemblyInfo.cs
│ │ ├── PropertyData.cs
│ │ ├── PropertyDataObjectExtension.cs
│ │ ├── SharedDatabaseAlreadyRegisteredException.cs
│ │ ├── SharedDatabaseLocator.cs
│ │ ├── SharedTempDbFeatureRequiresAssemblyAttributeException.cs
│ │ ├── TestFixtureWithTempDb.cs
│ │ └── icon.png
│ ├── PeanutButter.TestUtils.MVC.Tests
│ │ ├── PeanutButter.TestUtils.MVC.Tests.csproj
│ │ ├── Properties
│ │ │ └── AssemblyInfo.cs
│ │ ├── TestControllerWithContextBuilder.cs
│ │ ├── TestFakeHttpSessionState.cs
│ │ ├── TestFakeIdentity.cs
│ │ └── TestFakePrincipal.cs
│ ├── PeanutButter.TestUtils.MVC
│ │ ├── Builders
│ │ │ ├── ControllerWithContextBuilder.cs
│ │ │ ├── FakeHttpContextBuilder.cs
│ │ │ ├── FakeHttpRequestBuilder.cs
│ │ │ ├── FakeIdentityBuilder.cs
│ │ │ ├── FakePrincipalBuilder.cs
│ │ │ ├── GenericBuilderWithFieldAccess.cs
│ │ │ ├── HttpCookieCollectionBuilder.cs
│ │ │ ├── MvcHandlerBuilder.cs
│ │ │ ├── NameValueCollectionBuilder.cs
│ │ │ ├── RequestContextBuilder.cs
│ │ │ ├── RouteDataBuilder.cs
│ │ │ └── SessionStateItemCollectionBuilder.cs
│ │ ├── FakeControllerContext.cs
│ │ ├── FakeHtmlHelper.cs
│ │ ├── FakeHttpApplication.cs
│ │ ├── FakeHttpContext.cs
│ │ ├── FakeHttpRequest.cs
│ │ ├── FakeHttpResponse.cs
│ │ ├── FakeHttpSessionState.cs
│ │ ├── FakeIdentity.cs
│ │ ├── FakePrincipal.cs
│ │ ├── HttpRequestExtensions.cs
│ │ ├── NameValueCollectionExtensions.cs
│ │ ├── Package.nuspec
│ │ ├── PeanutButter.TestUtils.MVC.csproj
│ │ ├── Properties
│ │ │ └── AssemblyInfo.cs
│ │ └── icon.png
│ ├── PeanutButter.Utils.Entity.Tests
│ │ ├── App.config
│ │ ├── PeanutButter.Utils.Entity.Tests.csproj
│ │ ├── Properties
│ │ │ └── AssemblyInfo.cs
│ │ ├── TestDbContextExtensions.cs
│ │ ├── TestDbContextWithAutomaticTrackingFields.cs
│ │ ├── TestEntityBase.cs
│ │ ├── TestEntityExtensions.cs
│ │ └── TestFluentTransformationExtensions.cs
│ ├── PeanutButter.Utils.Entity
│ │ ├── App.config
│ │ ├── DbContextExtensions.cs
│ │ ├── DbContextWithAutomaticTrackingFields.cs
│ │ ├── EntityBase.cs
│ │ ├── Extensions.cs
│ │ ├── FluentTransformationExtensions.cs
│ │ ├── Package.nuspec
│ │ ├── PeanutButter.Utils.Entity.csproj
│ │ ├── Properties
│ │ │ └── AssemblyInfo.cs
│ │ └── icon.png
│ ├── PeanutButter.Utils.Windsor.Tests
│ │ ├── PeanutButter.Utils.Windsor.Tests.csproj
│ │ ├── Properties
│ │ │ └── AssemblyInfo.cs
│ │ ├── TestClasses
│ │ │ ├── AbstractImplementsInterfaceWithOneResolution.cs
│ │ │ ├── AbstractImplementsInterfaceWithOneResolutionAbstract.cs
│ │ │ ├── AccountController.cs
│ │ │ ├── HomeController.cs
│ │ │ ├── IInterfaceForAbstractClass.cs
│ │ │ ├── IInterfaceForSingleton.cs
│ │ │ ├── IInterfaceWithMultipleResolutions.cs
│ │ │ ├── IInterfaceWithNoResolutions.cs
│ │ │ ├── IInterfaceWithOneResolution.cs
│ │ │ ├── IInterfaceWithOneResolutionInheritor.cs
│ │ │ ├── ISingletonService.cs
│ │ │ ├── ImplementsInterfaceForSingleton.cs
│ │ │ ├── ImplementsInterfaceWithMultipleResolutions1.cs
│ │ │ ├── ImplementsInterfaceWithMultipleResolutions2.cs
│ │ │ ├── ImplementsInterfaceWithOneResolution.cs
│ │ │ ├── SingletonService.cs
│ │ │ └── SomeApiController.cs
│ │ └── TestWindsorContainerExtensions.cs
│ ├── PeanutButter.Utils.Windsor
│ │ ├── Package.nuspec
│ │ ├── PeanutButter.Utils.Windsor.csproj
│ │ ├── Properties
│ │ │ └── AssemblyInfo.cs
│ │ ├── WindsorContainerExtensions.cs
│ │ └── icon.png
│ └── README.md
└── global.json
└── x-plat.md
/.gitattributes:
--------------------------------------------------------------------------------
1 | .sh text eol=lf
2 |
--------------------------------------------------------------------------------
/.github/ISSUE_TEMPLATE.md:
--------------------------------------------------------------------------------
1 |
2 | ## Expected Behavior
3 |
4 |
5 | ## Actual Behavior
6 |
7 |
8 | ## Steps to Reproduce the Problem
9 |
10 | 1.
11 | 2.
12 | 3.
13 |
14 | ## Specifications
15 |
16 | - Platform:
17 | - PeanutButter Component:
18 | - PeanutButter Version:
19 |
--------------------------------------------------------------------------------
/.gitmodules:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluffynuts/PeanutButter/af9f2168c87dafed77d57f558960d8c8c1b4de37/.gitmodules
--------------------------------------------------------------------------------
/local-tasks/echo.js:
--------------------------------------------------------------------------------
1 | var gulp = requireModule("gulp");
2 |
3 | gulp.task("echo", async () => {
4 | console.log(`FOO is: ${process.env.FOO}`);
5 | });
6 |
--------------------------------------------------------------------------------
/local-tasks/test-zarro.ts:
--------------------------------------------------------------------------------
1 | ///
2 | (function () {
3 | const
4 | gulp = requireModule("gulp");
5 |
6 | gulp.task("test-zarro", async () => {
7 | const testZarro = requireModule("test-zarro");
8 | await testZarro({
9 | packageVersion: "beta",
10 | tasks: ["build-nuget-packages"]
11 | });
12 | });
13 |
14 | })();
15 |
--------------------------------------------------------------------------------
/logo_JetBrains_4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluffynuts/PeanutButter/af9f2168c87dafed77d57f558960d8c8c1b4de37/logo_JetBrains_4.png
--------------------------------------------------------------------------------
/qodana.yaml:
--------------------------------------------------------------------------------
1 | version: "1.0"
2 | linter: jetbrains/qodana-js:2022.2-eap
3 | exclude:
4 | - name: All
5 | paths:
6 | - local-tasks
7 |
--------------------------------------------------------------------------------
/resources/Arial_Rounded_MT.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluffynuts/PeanutButter/af9f2168c87dafed77d57f558960d8c8c1b4de37/resources/Arial_Rounded_MT.ttf
--------------------------------------------------------------------------------
/resources/_.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluffynuts/PeanutButter/af9f2168c87dafed77d57f558960d8c8c1b4de37/resources/_.png
--------------------------------------------------------------------------------
/resources/aspnetcore.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluffynuts/PeanutButter/af9f2168c87dafed77d57f558960d8c8c1b4de37/resources/aspnetcore.png
--------------------------------------------------------------------------------
/resources/async.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluffynuts/PeanutButter/af9f2168c87dafed77d57f558960d8c8c1b4de37/resources/async.png
--------------------------------------------------------------------------------
/resources/cli.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluffynuts/PeanutButter/af9f2168c87dafed77d57f558960d8c8c1b4de37/resources/cli.png
--------------------------------------------------------------------------------
/resources/dbrunner.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluffynuts/PeanutButter/af9f2168c87dafed77d57f558960d8c8c1b4de37/resources/dbrunner.png
--------------------------------------------------------------------------------
/resources/ef.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluffynuts/PeanutButter/af9f2168c87dafed77d57f558960d8c8c1b4de37/resources/ef.png
--------------------------------------------------------------------------------
/resources/events.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluffynuts/PeanutButter/af9f2168c87dafed77d57f558960d8c8c1b4de37/resources/events.png
--------------------------------------------------------------------------------
/resources/http.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluffynuts/PeanutButter/af9f2168c87dafed77d57f558960d8c8c1b4de37/resources/http.png
--------------------------------------------------------------------------------
/resources/httptest.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluffynuts/PeanutButter/af9f2168c87dafed77d57f558960d8c8c1b4de37/resources/httptest.png
--------------------------------------------------------------------------------
/resources/ini.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluffynuts/PeanutButter/af9f2168c87dafed77d57f558960d8c8c1b4de37/resources/ini.png
--------------------------------------------------------------------------------
/resources/localdb.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluffynuts/PeanutButter/af9f2168c87dafed77d57f558960d8c8c1b4de37/resources/localdb.png
--------------------------------------------------------------------------------
/resources/migrate.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluffynuts/PeanutButter/af9f2168c87dafed77d57f558960d8c8c1b4de37/resources/migrate.png
--------------------------------------------------------------------------------
/resources/mvc.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluffynuts/PeanutButter/af9f2168c87dafed77d57f558960d8c8c1b4de37/resources/mvc.png
--------------------------------------------------------------------------------
/resources/mysql.connector.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluffynuts/PeanutButter/af9f2168c87dafed77d57f558960d8c8c1b4de37/resources/mysql.connector.png
--------------------------------------------------------------------------------
/resources/mysql.data.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluffynuts/PeanutButter/af9f2168c87dafed77d57f558960d8c8c1b4de37/resources/mysql.data.png
--------------------------------------------------------------------------------
/resources/quack.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluffynuts/PeanutButter/af9f2168c87dafed77d57f558960d8c8c1b4de37/resources/quack.png
--------------------------------------------------------------------------------
/resources/random.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluffynuts/PeanutButter/af9f2168c87dafed77d57f558960d8c8c1b4de37/resources/random.png
--------------------------------------------------------------------------------
/resources/service.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluffynuts/PeanutButter/af9f2168c87dafed77d57f558960d8c8c1b4de37/resources/service.png
--------------------------------------------------------------------------------
/resources/sql-t.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluffynuts/PeanutButter/af9f2168c87dafed77d57f558960d8c8c1b4de37/resources/sql-t.png
--------------------------------------------------------------------------------
/resources/sql.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluffynuts/PeanutButter/af9f2168c87dafed77d57f558960d8c8c1b4de37/resources/sql.png
--------------------------------------------------------------------------------
/resources/sqlite.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluffynuts/PeanutButter/af9f2168c87dafed77d57f558960d8c8c1b4de37/resources/sqlite.png
--------------------------------------------------------------------------------
/resources/svcmgr.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluffynuts/PeanutButter/af9f2168c87dafed77d57f558960d8c8c1b4de37/resources/svcmgr.png
--------------------------------------------------------------------------------
/resources/tcp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluffynuts/PeanutButter/af9f2168c87dafed77d57f558960d8c8c1b4de37/resources/tcp.png
--------------------------------------------------------------------------------
/resources/temp-redis.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluffynuts/PeanutButter/af9f2168c87dafed77d57f558960d8c8c1b4de37/resources/temp-redis.png
--------------------------------------------------------------------------------
/resources/tempdb.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluffynuts/PeanutButter/af9f2168c87dafed77d57f558960d8c8c1b4de37/resources/tempdb.png
--------------------------------------------------------------------------------
/resources/testasync.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluffynuts/PeanutButter/af9f2168c87dafed77d57f558960d8c8c1b4de37/resources/testasync.png
--------------------------------------------------------------------------------
/resources/testutils.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluffynuts/PeanutButter/af9f2168c87dafed77d57f558960d8c8c1b4de37/resources/testutils.png
--------------------------------------------------------------------------------
/resources/tray.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluffynuts/PeanutButter/af9f2168c87dafed77d57f558960d8c8c1b4de37/resources/tray.png
--------------------------------------------------------------------------------
/resources/utils.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluffynuts/PeanutButter/af9f2168c87dafed77d57f558960d8c8c1b4de37/resources/utils.png
--------------------------------------------------------------------------------
/resources/xml.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluffynuts/PeanutButter/af9f2168c87dafed77d57f558960d8c8c1b4de37/resources/xml.png
--------------------------------------------------------------------------------
/resources/{}.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluffynuts/PeanutButter/af9f2168c87dafed77d57f558960d8c8c1b4de37/resources/{}.png
--------------------------------------------------------------------------------
/source/Artifacts/GenericBuilderTestArtifactBuilders/AnotherInternalClass.cs:
--------------------------------------------------------------------------------
1 | using System.Runtime.CompilerServices;
2 |
3 | [assembly: InternalsVisibleTo("PeanutButter.RandomGenerators.Tests")]
4 | namespace GenericBuilderTestArtifactBuilders
5 | {
6 | internal class AnotherInternalClass
7 | {
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/source/Artifacts/GenericBuilderTestArtifactBuilders/SomeEntityWithBuilderBuilder.cs:
--------------------------------------------------------------------------------
1 | using GenericBuilderTestArtifactEntities;
2 | using PeanutButter.RandomGenerators;
3 |
4 | namespace GenericBuilderTestArtifactBuilders
5 | {
6 | public class SomeEntityWithBuilderBuilder: GenericBuilder
7 | {
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/source/Artifacts/GenericBuilderTestArtifactBuilders/Sub1/AnotherEntityWithBuilderBuilder.cs:
--------------------------------------------------------------------------------
1 | using GenericBuilderTestArtifactEntities.Sub1;
2 | using PeanutButter.RandomGenerators;
3 |
4 | namespace GenericBuilderTestArtifactBuilders.Sub1
5 | {
6 | public class AnotherEntityWithBuilderBuilder: GenericBuilder
7 | {
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/source/Artifacts/GenericBuilderTestArtifactBuilders/Sub1/SubSub1/AnotherEntityWithBuilderBuilder.cs:
--------------------------------------------------------------------------------
1 | using GenericBuilderTestArtifactEntities.Sub1;
2 | using PeanutButter.RandomGenerators;
3 |
4 | namespace GenericBuilderTestArtifactBuilders.Sub1.SubSub1
5 | {
6 | public class AnotherEntityWithBuilderBuilder: GenericBuilder
7 | {
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/source/Artifacts/GenericBuilderTestArtifactBuilders/Sub2/AnotherEntityWithBuilderBuilder.cs:
--------------------------------------------------------------------------------
1 | using GenericBuilderTestArtifactEntities.Sub1;
2 | using PeanutButter.RandomGenerators;
3 |
4 | namespace GenericBuilderTestArtifactBuilders.Sub2
5 | {
6 | public class AnotherEntityWithBuilderBuilder: GenericBuilder
7 | {
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/source/Artifacts/GenericBuilderTestArtifactEntities/AnotherEntityWithoutBuilder.cs:
--------------------------------------------------------------------------------
1 | namespace GenericBuilderTestArtifactEntities
2 | {
3 | public class AnotherEntityWithoutBuilder
4 | {
5 | }
6 | }
--------------------------------------------------------------------------------
/source/Artifacts/GenericBuilderTestArtifactEntities/InternalClass.cs:
--------------------------------------------------------------------------------
1 | namespace GenericBuilderTestArtifactEntities
2 | {
3 | internal class InternalClass
4 | {
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/source/Artifacts/GenericBuilderTestArtifactEntities/Properties/AssemblyInfo.cs:
--------------------------------------------------------------------------------
1 | using System.Runtime.CompilerServices;
2 |
3 | [assembly: InternalsVisibleTo("PeanutButter.RandomGenerators")]
4 | [assembly: InternalsVisibleTo("PeanutButter.RandomGenerators.Tests")]
5 | [assembly: InternalsVisibleTo("PeanutButter.RandomGenerators.GeneratedBuilders")]
6 |
--------------------------------------------------------------------------------
/source/Artifacts/GenericBuilderTestArtifactEntities/SomeEntityWithBuilder.cs:
--------------------------------------------------------------------------------
1 | namespace GenericBuilderTestArtifactEntities
2 | {
3 | public class SomeEntityWithBuilder
4 | {
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/source/Artifacts/GenericBuilderTestArtifactEntities/SomeEntityWithoutBuilder.cs:
--------------------------------------------------------------------------------
1 | namespace GenericBuilderTestArtifactEntities
2 | {
3 | public class SomeEntityWithoutBuilder
4 | {
5 | }
6 | }
--------------------------------------------------------------------------------
/source/Artifacts/GenericBuilderTestArtifactEntities/Sub1/AnotherEntityWithBuilder.cs:
--------------------------------------------------------------------------------
1 | namespace GenericBuilderTestArtifactEntities.Sub1
2 | {
3 | public class AnotherEntityWithBuilder
4 | {
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/source/Artifacts/GenericBuilderTestLoadLoadedAssemblyObject/ObjectToBuildWithNotLoadedBuilder.cs:
--------------------------------------------------------------------------------
1 | namespace GenericBuilderTestLoadLoadedAssemblyObject
2 | {
3 | public class ObjectToBuildWithNotLoadedBuilder
4 | {
5 | public int Id { get; set; }
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/source/Artifacts/GenericBuilderTestNotLoadedAssembly/NotLoadedBuilder.cs:
--------------------------------------------------------------------------------
1 | using GenericBuilderTestLoadLoadedAssemblyObject;
2 | using PeanutButter.RandomGenerators;
3 |
4 | namespace GenericBuilderTestNotLoadedAssembly
5 | {
6 | public class NotLoadedBuilder: GenericBuilder
7 | {
8 | public override NotLoadedBuilder WithRandomProps()
9 | {
10 | return WithProp(o => o.Id = 42);
11 | }
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/source/Async/PeanutButter.Async.Tests/GlobalUsings.cs:
--------------------------------------------------------------------------------
1 | global using NExpect;
2 | global using static NExpect.Expectations;
--------------------------------------------------------------------------------
/source/Async/PeanutButter.Async/.gitignore:
--------------------------------------------------------------------------------
1 | local-tasks/*.generated.js
2 |
--------------------------------------------------------------------------------
/source/Async/PeanutButter.Async/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluffynuts/PeanutButter/af9f2168c87dafed77d57f558960d8c8c1b4de37/source/Async/PeanutButter.Async/icon.png
--------------------------------------------------------------------------------
/source/Async/PeanutButter.TestUtils.Async.Tests/GlobalUsings.cs:
--------------------------------------------------------------------------------
1 | global using NExpect;
2 | global using static NExpect.Expectations;
--------------------------------------------------------------------------------
/source/Async/PeanutButter.TestUtils.Async/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluffynuts/PeanutButter/af9f2168c87dafed77d57f558960d8c8c1b4de37/source/Async/PeanutButter.TestUtils.Async/icon.png
--------------------------------------------------------------------------------
/source/DatabaseHelpers/PeanutButter.DatabaseHelpers.Tests/My Project/Application.Designer.vb:
--------------------------------------------------------------------------------
1 | '------------------------------------------------------------------------------
2 | '
3 | ' This code was generated by a tool.
4 | ' Runtime Version:4.0.30319.42000
5 | '
6 | ' Changes to this file may cause incorrect behavior and will be lost if
7 | ' the code is regenerated.
8 | '
9 | '------------------------------------------------------------------------------
10 |
11 | Option Strict On
12 | Option Explicit On
13 |
14 |
--------------------------------------------------------------------------------
/source/DatabaseHelpers/PeanutButter.DatabaseHelpers.Tests/My Project/Application.myapp:
--------------------------------------------------------------------------------
1 |
2 |
3 | false
4 | false
5 | 0
6 | true
7 | 0
8 | 1
9 | true
10 |
11 |
--------------------------------------------------------------------------------
/source/DatabaseHelpers/PeanutButter.DatabaseHelpers.Tests/My Project/Settings.settings:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/source/DatabaseHelpers/PeanutButter.DatabaseHelpers/My Project/Application.Designer.vb:
--------------------------------------------------------------------------------
1 | '------------------------------------------------------------------------------
2 | '
3 | ' This code was generated by a tool.
4 | ' Runtime Version:4.0.30319.42000
5 | '
6 | ' Changes to this file may cause incorrect behavior and will be lost if
7 | ' the code is regenerated.
8 | '
9 | '------------------------------------------------------------------------------
10 |
11 | Option Strict On
12 | Option Explicit On
13 |
14 |
--------------------------------------------------------------------------------
/source/DatabaseHelpers/PeanutButter.DatabaseHelpers/My Project/Application.myapp:
--------------------------------------------------------------------------------
1 |
2 |
3 | false
4 | false
5 | 0
6 | true
7 | 0
8 | 1
9 | true
10 |
11 |
--------------------------------------------------------------------------------
/source/DatabaseHelpers/PeanutButter.DatabaseHelpers/My Project/Settings.settings:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/source/DatabaseHelpers/PeanutButter.DatabaseHelpers/StatementBuilders/DatabaseProviders.vb:
--------------------------------------------------------------------------------
1 | Namespace StatementBuilders
2 | ' ReSharper disable InconsistentNaming
3 | Public Enum DatabaseProviders
4 | Unknown
5 | SQLServer
6 | Access
7 | Firebird
8 | SQLite
9 | End Enum
10 | End NameSpace
--------------------------------------------------------------------------------
/source/DatabaseHelpers/PeanutButter.DatabaseHelpers/StatementBuilders/ICondition.vb:
--------------------------------------------------------------------------------
1 | Namespace StatementBuilders
2 |
3 | Public Interface ICondition
4 | Sub UseDatabaseProvider(provider As DatabaseProviders)
5 | Function ToString() As String
6 | End Interface
7 | End NameSpace
--------------------------------------------------------------------------------
/source/DatabaseHelpers/PeanutButter.DatabaseHelpers/StatementBuilders/IField.vb:
--------------------------------------------------------------------------------
1 | Namespace StatementBuilders
2 |
3 | Public Interface IField
4 | Function ToString() as String
5 | Sub UseDatabaseProvider(ByVal provider as DatabaseProviders)
6 | End Interface
7 | End NameSpace
--------------------------------------------------------------------------------
/source/DatabaseHelpers/PeanutButter.DatabaseHelpers/StatementBuilders/JoinDirections.vb:
--------------------------------------------------------------------------------
1 | Namespace StatementBuilders
2 | Public Enum JoinDirections
3 | Inner
4 | Outer
5 | Left
6 | Right
7 | End Enum
8 | End NameSpace
--------------------------------------------------------------------------------
/source/DatabaseHelpers/PeanutButter.DatabaseHelpers/StatementBuilders/RawCondition.vb:
--------------------------------------------------------------------------------
1 | Namespace StatementBuilders
2 |
3 | Public Class RawCondition
4 | Inherits StatementBuilderBase
5 | Implements ICondition
6 |
7 | Private ReadOnly _condition As String
8 |
9 | public Sub New(condition as String)
10 | _condition = condition
11 | End Sub
12 | Public Overrides Function ToString() As String Implements ICondition.ToString
13 | return _condition
14 | End Function
15 |
16 | Public Sub UseDatabaseProvider(provider As DatabaseProviders) Implements ICondition.UseDatabaseProvider
17 | SetDatabaseProvider(provider)
18 | End Sub
19 | End Class
20 | End NameSpace
--------------------------------------------------------------------------------
/source/DatabaseHelpers/PeanutButter.DatabaseHelpers/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluffynuts/PeanutButter/af9f2168c87dafed77d57f558960d8c8c1b4de37/source/DatabaseHelpers/PeanutButter.DatabaseHelpers/icon.png
--------------------------------------------------------------------------------
/source/Directory.Build.props:
--------------------------------------------------------------------------------
1 |
2 |
3 | true
4 | NU1701
5 |
6 |
7 |
--------------------------------------------------------------------------------
/source/INI/PeanutButter.INI/EmptyEnumerator.cs:
--------------------------------------------------------------------------------
1 | using System.Collections;
2 | using System.Collections.Generic;
3 |
4 | namespace PeanutButter.INI
5 | {
6 | internal class EmptyEnumerator
7 | : IEnumerator
8 | {
9 | public void Dispose()
10 | {
11 | }
12 |
13 | public bool MoveNext()
14 | {
15 | return false;
16 | }
17 |
18 | public void Reset()
19 | {
20 | }
21 |
22 | public T Current => default(T);
23 |
24 | object IEnumerator.Current => Current;
25 | }
26 | }
--------------------------------------------------------------------------------
/source/INI/PeanutButter.INI/MergedIniFile.cs:
--------------------------------------------------------------------------------
1 | namespace PeanutButter.INI
2 | {
3 | internal class MergedIniFile
4 | {
5 | public IINIFile IniFile { get; }
6 | public MergeStrategies MergeStrategy { get; }
7 |
8 | internal MergedIniFile(
9 | IINIFile iniFile,
10 | MergeStrategies mergeStrategy)
11 | {
12 | IniFile = iniFile;
13 | MergeStrategy = mergeStrategy;
14 | }
15 | }
16 | }
--------------------------------------------------------------------------------
/source/INI/PeanutButter.INI/StrictLineParser.cs:
--------------------------------------------------------------------------------
1 | namespace PeanutButter.INI
2 | {
3 | internal class StrictLineParser : BestEffortLineParser
4 | {
5 | protected override string Unescape(
6 | string data,
7 | bool containsEscapeEntities
8 | )
9 | {
10 | return data.IndexOf('\\') > -1
11 | ? ApplyEscapeSequences(data)
12 | : data;
13 | }
14 | }
15 | }
--------------------------------------------------------------------------------
/source/INI/PeanutButter.INI/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluffynuts/PeanutButter/af9f2168c87dafed77d57f558960d8c8c1b4de37/source/INI/PeanutButter.INI/icon.png
--------------------------------------------------------------------------------
/source/NugetPackageVersionIncrementer.Tests/GlobalUsings.cs:
--------------------------------------------------------------------------------
1 | global using NExpect;
2 | global using static NExpect.Expectations;
--------------------------------------------------------------------------------
/source/NugetPackageVersionIncrementer/App.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/source/NugetPackageVersionIncrementer/NuspecUtilFactory.cs:
--------------------------------------------------------------------------------
1 | namespace NugetPackageVersionIncrementer
2 | {
3 | public interface INuspecUtilFactory
4 | {
5 | INuspecUtil LoadNuspecAt(string path);
6 | }
7 | public class NuspecUtilFactory: INuspecUtilFactory
8 | {
9 | public INuspecUtil LoadNuspecAt(string path)
10 | {
11 | var util = new NuspecUtil();
12 | util.LoadNuspecAt(path);
13 | return util;
14 | }
15 | }
16 | }
--------------------------------------------------------------------------------
/source/SimpleServers/PeanutButter.SimpleHTTPServer.Testability.Tests/GlobalUsings.cs:
--------------------------------------------------------------------------------
1 | global using NExpect;
2 | global using static NExpect.Expectations;
--------------------------------------------------------------------------------
/source/SimpleServers/PeanutButter.SimpleHTTPServer.Testability/HttpServerAssertionException.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace PeanutButter.SimpleHTTPServer.Testability
4 | {
5 | public class HttpServerAssertionException : Exception
6 | {
7 | public HttpServerAssertionException(string message) : base(message)
8 | {
9 | }
10 | }
11 | }
--------------------------------------------------------------------------------
/source/SimpleServers/PeanutButter.SimpleHTTPServer.Testability/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluffynuts/PeanutButter/af9f2168c87dafed77d57f558960d8c8c1b4de37/source/SimpleServers/PeanutButter.SimpleHTTPServer.Testability/icon.png
--------------------------------------------------------------------------------
/source/SimpleServers/PeanutButter.SimpleHTTPServer.Tests/GlobalUsings.cs:
--------------------------------------------------------------------------------
1 | global using NUnit.Framework;
2 | global using NExpect;
3 | global using static NExpect.Expectations;
--------------------------------------------------------------------------------
/source/SimpleServers/PeanutButter.SimpleHTTPServer/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluffynuts/PeanutButter/af9f2168c87dafed77d57f558960d8c8c1b4de37/source/SimpleServers/PeanutButter.SimpleHTTPServer/icon.png
--------------------------------------------------------------------------------
/source/SimpleServers/PeanutButter.SimpleTcpServer.Tests/GlobalUsings.cs:
--------------------------------------------------------------------------------
1 | global using NExpect;
2 | global using static NExpect.Expectations;
--------------------------------------------------------------------------------
/source/SimpleServers/PeanutButter.SimpleTcpServer/PortUnavailableException.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace PeanutButter.SimpleTcpServer
4 | {
5 | ///
6 | /// Exception thrown when the requested port for the simple
7 | /// server is not available for binding.
8 | ///
9 | public class PortUnavailableException: Exception
10 | {
11 | ///
12 | public PortUnavailableException(int port)
13 | : base($"Can't listen on specified port '{port}': probably already in use?")
14 | {
15 | }
16 | }
17 | }
--------------------------------------------------------------------------------
/source/SimpleServers/PeanutButter.SimpleTcpServer/UnableToFindAvailablePortException.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace PeanutButter.SimpleTcpServer
4 | {
5 | ///
6 | /// Thrown when no port could be found to bind to
7 | ///
8 | public class UnableToFindAvailablePortException : Exception
9 | {
10 | ///
11 | public UnableToFindAvailablePortException(
12 | Exception lastException
13 | ) : base(
14 | $"Can't find a port to listen on: {lastException}",
15 | lastException
16 | )
17 | {
18 | }
19 | }
20 | }
--------------------------------------------------------------------------------
/source/SimpleServers/PeanutButter.SimpleTcpServer/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluffynuts/PeanutButter/af9f2168c87dafed77d57f558960d8c8c1b4de37/source/SimpleServers/PeanutButter.SimpleTcpServer/icon.png
--------------------------------------------------------------------------------
/source/TempDb/PeanutButter.TempDb.LocalDb/UnableToFindLocalDbUtilityException.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace PeanutButter.TempDb.LocalDb
4 | {
5 | ///
6 | /// Thrown when unable to find a LocalDb instance
7 | ///
8 | public class UnableToFindLocalDbUtilityException : Exception
9 | {
10 | }
11 | }
--------------------------------------------------------------------------------
/source/TempDb/PeanutButter.TempDb.LocalDb/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluffynuts/PeanutButter/af9f2168c87dafed77d57f558960d8c8c1b4de37/source/TempDb/PeanutButter.TempDb.LocalDb/icon.png
--------------------------------------------------------------------------------
/source/TempDb/PeanutButter.TempDb.MySql.Base/ProcessStartFailureException.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Linq;
3 | using PeanutButter.Utils;
4 |
5 | namespace PeanutButter.TempDb.MySql.Base
6 | {
7 | public class ProcessStartFailureException : Exception
8 | {
9 | public string Executable { get; }
10 | public string[] Arguments { get; }
11 |
12 | public ProcessStartFailureException(
13 | string executable,
14 | string[] args
15 | ) : base($"Unable to start process: {executable} {args.Select(ProcessIO.QuoteIfNecessary).JoinWith(" ")}")
16 | {
17 | Executable = executable;
18 | Arguments = args;
19 | }
20 | }
21 | }
--------------------------------------------------------------------------------
/source/TempDb/PeanutButter.TempDb.MySql.Base/TryAnotherPortException.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace PeanutButter.TempDb.MySql.Base
4 | {
5 | public class TryAnotherPortException : Exception
6 | {
7 | public TryAnotherPortException(string message) : base(message)
8 | {
9 | }
10 | }
11 | }
--------------------------------------------------------------------------------
/source/TempDb/PeanutButter.TempDb.MySql.Base/UnableToInitializeMySqlException.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace PeanutButter.TempDb.MySql.Base
4 | {
5 | public class UnableToInitializeMySqlException
6 | : Exception
7 | {
8 | public UnableToInitializeMySqlException(
9 | string errorOutput
10 | ) : base($"Unable to initialize mysql: {errorOutput}")
11 | {
12 | }
13 | }
14 | }
--------------------------------------------------------------------------------
/source/TempDb/PeanutButter.TempDb.MySql.Connector/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluffynuts/PeanutButter/af9f2168c87dafed77d57f558960d8c8c1b4de37/source/TempDb/PeanutButter.TempDb.MySql.Connector/icon.png
--------------------------------------------------------------------------------
/source/TempDb/PeanutButter.TempDb.MySql.Data/app.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/source/TempDb/PeanutButter.TempDb.MySql.Data/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluffynuts/PeanutButter/af9f2168c87dafed77d57f558960d8c8c1b4de37/source/TempDb/PeanutButter.TempDb.MySql.Data/icon.png
--------------------------------------------------------------------------------
/source/TempDb/PeanutButter.TempDb.Runner/ShowSupportedEngines.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using PeanutButter.Utils;
3 |
4 | namespace PeanutButter.TempDb.Runner
5 | {
6 | public class ShowSupportedEngines : Exception
7 | {
8 | public ShowSupportedEngines(string[] availableEngines)
9 | : base($"Supported engine{(availableEngines.Length == 1 ? "" : "s")}: {availableEngines.JoinWith(", ")}")
10 | {
11 | }
12 | }
13 | }
--------------------------------------------------------------------------------
/source/TempDb/PeanutButter.TempDb.Runner/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluffynuts/PeanutButter/af9f2168c87dafed77d57f558960d8c8c1b4de37/source/TempDb/PeanutButter.TempDb.Runner/icon.png
--------------------------------------------------------------------------------
/source/TempDb/PeanutButter.TempDb.Runner/start-tempdb.bat:
--------------------------------------------------------------------------------
1 | @echo off
2 |
3 | if exist "PeanutButter.TempDb.Runner.exe" (
4 | @rem running from net framework output
5 | PeanutButter.TempDb.Runner.exe %*
6 | ) else (
7 | @rem running from netcore output
8 | where /Q dotnet
9 | if ERRORLEVEL 0 (
10 | dotnet %~dp0\PeanutButter.TempDb.Runner.dll %*
11 | ) else (
12 | echo dotnet must be found in your path to use this utility
13 | exit /b 127
14 | )
15 | )
16 |
--------------------------------------------------------------------------------
/source/TempDb/PeanutButter.TempDb.SqlCe/amd64/Microsoft.VC90.CRT/README_ENU.txt:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluffynuts/PeanutButter/af9f2168c87dafed77d57f558960d8c8c1b4de37/source/TempDb/PeanutButter.TempDb.SqlCe/amd64/Microsoft.VC90.CRT/README_ENU.txt
--------------------------------------------------------------------------------
/source/TempDb/PeanutButter.TempDb.SqlCe/amd64/Microsoft.VC90.CRT/msvcr90.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluffynuts/PeanutButter/af9f2168c87dafed77d57f558960d8c8c1b4de37/source/TempDb/PeanutButter.TempDb.SqlCe/amd64/Microsoft.VC90.CRT/msvcr90.dll
--------------------------------------------------------------------------------
/source/TempDb/PeanutButter.TempDb.SqlCe/amd64/sqlceca40.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluffynuts/PeanutButter/af9f2168c87dafed77d57f558960d8c8c1b4de37/source/TempDb/PeanutButter.TempDb.SqlCe/amd64/sqlceca40.dll
--------------------------------------------------------------------------------
/source/TempDb/PeanutButter.TempDb.SqlCe/amd64/sqlcecompact40.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluffynuts/PeanutButter/af9f2168c87dafed77d57f558960d8c8c1b4de37/source/TempDb/PeanutButter.TempDb.SqlCe/amd64/sqlcecompact40.dll
--------------------------------------------------------------------------------
/source/TempDb/PeanutButter.TempDb.SqlCe/amd64/sqlceer40EN.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluffynuts/PeanutButter/af9f2168c87dafed77d57f558960d8c8c1b4de37/source/TempDb/PeanutButter.TempDb.SqlCe/amd64/sqlceer40EN.dll
--------------------------------------------------------------------------------
/source/TempDb/PeanutButter.TempDb.SqlCe/amd64/sqlceme40.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluffynuts/PeanutButter/af9f2168c87dafed77d57f558960d8c8c1b4de37/source/TempDb/PeanutButter.TempDb.SqlCe/amd64/sqlceme40.dll
--------------------------------------------------------------------------------
/source/TempDb/PeanutButter.TempDb.SqlCe/amd64/sqlceqp40.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluffynuts/PeanutButter/af9f2168c87dafed77d57f558960d8c8c1b4de37/source/TempDb/PeanutButter.TempDb.SqlCe/amd64/sqlceqp40.dll
--------------------------------------------------------------------------------
/source/TempDb/PeanutButter.TempDb.SqlCe/amd64/sqlcese40.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluffynuts/PeanutButter/af9f2168c87dafed77d57f558960d8c8c1b4de37/source/TempDb/PeanutButter.TempDb.SqlCe/amd64/sqlcese40.dll
--------------------------------------------------------------------------------
/source/TempDb/PeanutButter.TempDb.SqlCe/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluffynuts/PeanutButter/af9f2168c87dafed77d57f558960d8c8c1b4de37/source/TempDb/PeanutButter.TempDb.SqlCe/icon.png
--------------------------------------------------------------------------------
/source/TempDb/PeanutButter.TempDb.SqlCe/x86/Microsoft.VC90.CRT/README_ENU.txt:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluffynuts/PeanutButter/af9f2168c87dafed77d57f558960d8c8c1b4de37/source/TempDb/PeanutButter.TempDb.SqlCe/x86/Microsoft.VC90.CRT/README_ENU.txt
--------------------------------------------------------------------------------
/source/TempDb/PeanutButter.TempDb.SqlCe/x86/Microsoft.VC90.CRT/msvcr90.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluffynuts/PeanutButter/af9f2168c87dafed77d57f558960d8c8c1b4de37/source/TempDb/PeanutButter.TempDb.SqlCe/x86/Microsoft.VC90.CRT/msvcr90.dll
--------------------------------------------------------------------------------
/source/TempDb/PeanutButter.TempDb.SqlCe/x86/sqlceca40.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluffynuts/PeanutButter/af9f2168c87dafed77d57f558960d8c8c1b4de37/source/TempDb/PeanutButter.TempDb.SqlCe/x86/sqlceca40.dll
--------------------------------------------------------------------------------
/source/TempDb/PeanutButter.TempDb.SqlCe/x86/sqlcecompact40.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluffynuts/PeanutButter/af9f2168c87dafed77d57f558960d8c8c1b4de37/source/TempDb/PeanutButter.TempDb.SqlCe/x86/sqlcecompact40.dll
--------------------------------------------------------------------------------
/source/TempDb/PeanutButter.TempDb.SqlCe/x86/sqlceer40EN.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluffynuts/PeanutButter/af9f2168c87dafed77d57f558960d8c8c1b4de37/source/TempDb/PeanutButter.TempDb.SqlCe/x86/sqlceer40EN.dll
--------------------------------------------------------------------------------
/source/TempDb/PeanutButter.TempDb.SqlCe/x86/sqlceme40.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluffynuts/PeanutButter/af9f2168c87dafed77d57f558960d8c8c1b4de37/source/TempDb/PeanutButter.TempDb.SqlCe/x86/sqlceme40.dll
--------------------------------------------------------------------------------
/source/TempDb/PeanutButter.TempDb.SqlCe/x86/sqlceqp40.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluffynuts/PeanutButter/af9f2168c87dafed77d57f558960d8c8c1b4de37/source/TempDb/PeanutButter.TempDb.SqlCe/x86/sqlceqp40.dll
--------------------------------------------------------------------------------
/source/TempDb/PeanutButter.TempDb.SqlCe/x86/sqlcese40.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluffynuts/PeanutButter/af9f2168c87dafed77d57f558960d8c8c1b4de37/source/TempDb/PeanutButter.TempDb.SqlCe/x86/sqlcese40.dll
--------------------------------------------------------------------------------
/source/TempDb/PeanutButter.TempDb.Sqlite/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluffynuts/PeanutButter/af9f2168c87dafed77d57f558960d8c8c1b4de37/source/TempDb/PeanutButter.TempDb.Sqlite/icon.png
--------------------------------------------------------------------------------
/source/TempDb/PeanutButter.TempDb.Tests/GlobalUsings.cs:
--------------------------------------------------------------------------------
1 | global using NExpect;
2 | global using static NExpect.Expectations;
--------------------------------------------------------------------------------
/source/TempDb/PeanutButter.TempDb.Tests/MySqlConnectionStringUtil.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Linq;
3 |
4 | namespace PeanutButter.TempDb.Tests
5 | {
6 | public class MySqlConnectionStringUtil
7 | {
8 | public string Database { get; }
9 |
10 | public MySqlConnectionStringUtil(
11 | string connectionString)
12 | {
13 | Database = connectionString
14 | .Split(';')
15 | .Select(p => p.Trim())
16 | .FirstOrDefault(p => p.StartsWith("DATABASE", StringComparison.OrdinalIgnoreCase))
17 | ?.Split('=')
18 | ?.Last();
19 | }
20 | }
21 | }
--------------------------------------------------------------------------------
/source/TempDb/PeanutButter.TempDb/FatalTempDbInitializationException.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | // ReSharper disable PossibleMultipleEnumeration
4 | // ReSharper disable VirtualMemberCallInConstructor
5 | // ReSharper disable InconsistentNaming
6 | // ReSharper disable UnusedMemberInSuper.Global
7 | // ReSharper disable PublicConstructorInAbstractClass
8 |
9 | namespace PeanutButter.TempDb
10 | {
11 | public class FatalTempDbInitializationException : Exception
12 | {
13 | public FatalTempDbInitializationException(string message)
14 | : base($"Fatal error whilst attempting to initialize TempDb instance: {message}")
15 | {
16 | }
17 | }
18 | }
--------------------------------------------------------------------------------
/source/TempDb/PeanutButter.TempDb/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluffynuts/PeanutButter/af9f2168c87dafed77d57f558960d8c8c1b4de37/source/TempDb/PeanutButter.TempDb/icon.png
--------------------------------------------------------------------------------
/source/TempDb/PeanutButter.TempRedis/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluffynuts/PeanutButter/af9f2168c87dafed77d57f558960d8c8c1b4de37/source/TempDb/PeanutButter.TempRedis/icon.png
--------------------------------------------------------------------------------
/source/TestUtils/PeanutButter.RandomGenerators.Core.Tests.Domain/PeanutButter.RandomGenerators.Core.Tests.Domain.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netstandard2.0
5 | Debug;Release;Debug-X
6 | AnyCPU
7 |
8 |
9 |
10 | true
11 | false
12 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/source/TestUtils/PeanutButter.RandomGenerators.Core.Tests.Domain/Poco.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace PeanutButter.RandomGenerators.Core.Tests.Domain
4 | {
5 | public class Poco
6 | {
7 | public int Id { get; set; }
8 | public string Name { get; set; }
9 | }
10 | }
--------------------------------------------------------------------------------
/source/TestUtils/PeanutButter.RandomGenerators.Core.Tests/GlobalUsings.cs:
--------------------------------------------------------------------------------
1 | global using NExpect;
2 | global using static NExpect.Expectations;
3 | global using NUnit.Framework;
4 | global using static PeanutButter.RandomGenerators.RandomValueGen;
--------------------------------------------------------------------------------
/source/TestUtils/PeanutButter.RandomGenerators.Tests/.TestRandomValueGen.cs.un~:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluffynuts/PeanutButter/af9f2168c87dafed77d57f558960d8c8c1b4de37/source/TestUtils/PeanutButter.RandomGenerators.Tests/.TestRandomValueGen.cs.un~
--------------------------------------------------------------------------------
/source/TestUtils/PeanutButter.RandomGenerators.Tests/GlobalUsings.cs:
--------------------------------------------------------------------------------
1 | global using NExpect;
2 | global using static NExpect.Expectations;
--------------------------------------------------------------------------------
/source/TestUtils/PeanutButter.RandomGenerators.Tests/PerformanceTest/Address.cs:
--------------------------------------------------------------------------------
1 | namespace PeanutButter.RandomGenerators.Tests.PerformanceTest
2 | {
3 | public class Address : EntityBase
4 | {
5 | public string UnitNumber { get; set; }
6 | public string Complex { get; set; }
7 | public string Number { get; set; }
8 | public string Name { get; set; }
9 | public string Suburb { get; set; }
10 | public string City { get; set; }
11 | public string PostalCode { get; set; }
12 | public string CountryCode { get; set; }
13 | public AddressType AddressType { get; set; }
14 | }
15 | }
--------------------------------------------------------------------------------
/source/TestUtils/PeanutButter.RandomGenerators.Tests/PerformanceTest/AddressType.cs:
--------------------------------------------------------------------------------
1 | namespace PeanutButter.RandomGenerators.Tests.PerformanceTest
2 | {
3 | public enum AddressType
4 | {
5 | Physical,
6 | Postal
7 | }
8 | }
--------------------------------------------------------------------------------
/source/TestUtils/PeanutButter.RandomGenerators.Tests/PerformanceTest/Attachment.cs:
--------------------------------------------------------------------------------
1 | namespace PeanutButter.RandomGenerators.Tests.PerformanceTest
2 | {
3 | // ReSharper disable once ClassNeverInstantiated.Global
4 | public class Attachment : EntityBase
5 | {
6 | public string Name { get; set; }
7 | public string DocumentId { get; set; }
8 | }
9 | }
--------------------------------------------------------------------------------
/source/TestUtils/PeanutButter.RandomGenerators.Tests/PerformanceTest/AttachmentViewModel.cs:
--------------------------------------------------------------------------------
1 | namespace PeanutButter.RandomGenerators.Tests.PerformanceTest
2 | {
3 | public class AttachmentViewModel : ViewModelBase
4 | {
5 | public string Name { get; set; }
6 | public string DocumentId { get; set; }
7 | }
8 | }
--------------------------------------------------------------------------------
/source/TestUtils/PeanutButter.RandomGenerators.Tests/PerformanceTest/BankingDetails.cs:
--------------------------------------------------------------------------------
1 | namespace PeanutButter.RandomGenerators.Tests.PerformanceTest
2 | {
3 | public class BankingDetails : EntityBase
4 | {
5 | public string AccountNumber { get; set; }
6 | public string BankName { get; set; }
7 | public string BankBranch { get; set; }
8 | public string BankBranchCode { get; set; }
9 | }
10 | }
--------------------------------------------------------------------------------
/source/TestUtils/PeanutButter.RandomGenerators.Tests/PerformanceTest/BankingDetailsViewModel.cs:
--------------------------------------------------------------------------------
1 | using System.ComponentModel.DataAnnotations;
2 |
3 | namespace PeanutButter.RandomGenerators.Tests.PerformanceTest
4 | {
5 | public class BankingDetailsViewModel : ViewModelBase
6 | {
7 | [Display(Name = "Account Number")]
8 | public string AccountNumber { get; set; }
9 |
10 | [Display(Name = "Bank Name")]
11 | public string BankName { get; set; }
12 |
13 | [Display(Name = "Bank Branch")]
14 | public string BankBranch { get; set; }
15 |
16 | [Display(Name = "Bank Branch Code")]
17 | public string BankBranchCode { get; set; }
18 | }
19 | }
--------------------------------------------------------------------------------
/source/TestUtils/PeanutButter.RandomGenerators.Tests/PerformanceTest/CompanyBankingDetails.cs:
--------------------------------------------------------------------------------
1 | namespace PeanutButter.RandomGenerators.Tests.PerformanceTest
2 | {
3 | public class CompanyBankingDetails : BankingDetails
4 | {
5 | public bool UseOnInvoice { get; set; }
6 | }
7 | }
--------------------------------------------------------------------------------
/source/TestUtils/PeanutButter.RandomGenerators.Tests/PerformanceTest/CompanyBankingDetailsViewModel.cs:
--------------------------------------------------------------------------------
1 | using System.ComponentModel.DataAnnotations;
2 |
3 | namespace PeanutButter.RandomGenerators.Tests.PerformanceTest
4 | {
5 | public class CompanyBankingDetailsViewModel : BankingDetailsViewModel
6 | {
7 | [Display(Name = "Use on Invoice")]
8 | public bool UseOnInvoice { get; set; }
9 | }
10 | }
--------------------------------------------------------------------------------
/source/TestUtils/PeanutButter.RandomGenerators.Tests/PerformanceTest/ContactExtensions.cs:
--------------------------------------------------------------------------------
1 | namespace PeanutButter.RandomGenerators.Tests.PerformanceTest
2 | {
3 | public static class ContactExtensions
4 | {
5 | public static string AsFullName(this Contact contact)
6 | {
7 | return contact == null ? "" : $"{contact.FirstNames ?? contact.Initials} {contact.Surname}".Trim();
8 | }
9 |
10 | public static string AsInitialAndSurname(this Contact contact)
11 | {
12 | return contact == null ? "" : $"{contact.Initials} {contact.Surname}".Trim();
13 | }
14 | }
15 | }
--------------------------------------------------------------------------------
/source/TestUtils/PeanutButter.RandomGenerators.Tests/PerformanceTest/ContactNumber.cs:
--------------------------------------------------------------------------------
1 | namespace PeanutButter.RandomGenerators.Tests.PerformanceTest
2 | {
3 | public class ContactNumber : EntityBase
4 | {
5 | public string Number { get; set; }
6 | public ContactNumberType ContactNumberType { get; set; }
7 | }
8 | }
--------------------------------------------------------------------------------
/source/TestUtils/PeanutButter.RandomGenerators.Tests/PerformanceTest/ContactNumberType.cs:
--------------------------------------------------------------------------------
1 | using System.ComponentModel;
2 | using System.ComponentModel.DataAnnotations;
3 |
4 | namespace PeanutButter.RandomGenerators.Tests.PerformanceTest
5 | {
6 | public enum ContactNumberType
7 | {
8 | [Display(Name = "Landline Number")] [Description("Landline Number")] LandlineNumber,
9 | [Display(Name = "Fax Number")] [Description("Fax Number")] FaxNumber,
10 | [Display(Name = "Cellphone Number")] [Description("Cellphone Number")] CellphoneNumber
11 | }
12 | }
--------------------------------------------------------------------------------
/source/TestUtils/PeanutButter.RandomGenerators.Tests/PerformanceTest/ContactNumberViewModel.cs:
--------------------------------------------------------------------------------
1 | namespace PeanutButter.RandomGenerators.Tests.PerformanceTest
2 | {
3 | public class ContactNumberViewModel
4 | {
5 | public string Number { get; set; }
6 | public ContactNumberType ContactNumberType { get; set; }
7 | }
8 | }
--------------------------------------------------------------------------------
/source/TestUtils/PeanutButter.RandomGenerators.Tests/PerformanceTest/ContractDetails.cs:
--------------------------------------------------------------------------------
1 | namespace PeanutButter.RandomGenerators.Tests.PerformanceTest
2 | {
3 | public class ContractDetails : EntityBase
4 | {
5 | public string ContractNumber { get; set; }
6 | public string VendorCode { get; set; }
7 | }
8 | }
--------------------------------------------------------------------------------
/source/TestUtils/PeanutButter.RandomGenerators.Tests/PerformanceTest/ContractDetailsViewModel.cs:
--------------------------------------------------------------------------------
1 | namespace PeanutButter.RandomGenerators.Tests.PerformanceTest
2 | {
3 | public class ContractDetailsViewModel : ViewModelBase
4 | {
5 | public string ContractNumber { get; set; }
6 | public string VendorCode { get; set; }
7 | }
8 | }
--------------------------------------------------------------------------------
/source/TestUtils/PeanutButter.RandomGenerators.Tests/PerformanceTest/Coordinate.cs:
--------------------------------------------------------------------------------
1 | namespace PeanutButter.RandomGenerators.Tests.PerformanceTest
2 | {
3 | public class Coordinate
4 | {
5 | public int SequenceNumber { get; set; }
6 | public decimal Latitude { get; set; }
7 | public decimal Longitude { get; set; }
8 | public decimal Distance { get; set; }
9 | }
10 | }
--------------------------------------------------------------------------------
/source/TestUtils/PeanutButter.RandomGenerators.Tests/PerformanceTest/CoordinateViewModel.cs:
--------------------------------------------------------------------------------
1 | using System.ComponentModel.DataAnnotations;
2 |
3 | namespace PeanutButter.RandomGenerators.Tests.PerformanceTest
4 | {
5 | public class CoordinateViewModel
6 | {
7 | public int SequenceNumber { get; set; }
8 |
9 | [DisplayFormat(DataFormatString = "{0:N6}")]
10 | public decimal Latitude { get; set; }
11 |
12 | [DisplayFormat(DataFormatString = "{0:N6}")]
13 | public decimal Longitude { get; set; }
14 |
15 | [DisplayFormat(DataFormatString = "{0:N1}")]
16 | public decimal Distance { get; set; }
17 | }
18 | }
--------------------------------------------------------------------------------
/source/TestUtils/PeanutButter.RandomGenerators.Tests/PerformanceTest/DefaultDateTimeProvider.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace PeanutButter.RandomGenerators.Tests.PerformanceTest
4 | {
5 | public class DefaultDateTimeProvider : IDateTimeProvider
6 | {
7 | public DateTime Now => DateTime.Now;
8 |
9 | public DateTime Today => DateTime.Today;
10 | }
11 | }
--------------------------------------------------------------------------------
/source/TestUtils/PeanutButter.RandomGenerators.Tests/PerformanceTest/DocumentType.cs:
--------------------------------------------------------------------------------
1 | // ReSharper disable UnusedMember.Global
2 | // ReSharper disable InconsistentNaming
3 | namespace PeanutButter.RandomGenerators.Tests.PerformanceTest
4 | {
5 | public enum DocumentType
6 | {
7 | JobCard,
8 | QA,
9 | Recon,
10 | IE101,
11 | Invoice,
12 | Report,
13 | OrderDetails,
14 | InitialJobCard,
15 | FinalJobCard
16 | }
17 | }
--------------------------------------------------------------------------------
/source/TestUtils/PeanutButter.RandomGenerators.Tests/PerformanceTest/Domain.cs:
--------------------------------------------------------------------------------
1 | namespace PeanutButter.RandomGenerators.Tests.PerformanceTest
2 | {
3 | public class Domain : EntityBase
4 | {
5 | public string Code { get; set; }
6 | public string Category { get; set; }
7 | public string DomainType { get; set; }
8 | public bool FilterByWorkType { get; set; }
9 | }
10 | }
--------------------------------------------------------------------------------
/source/TestUtils/PeanutButter.RandomGenerators.Tests/PerformanceTest/DomainDescriptor.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace PeanutButter.RandomGenerators.Tests.PerformanceTest
4 | {
5 | public class DomainDescriptor : EntityBase
6 | {
7 | public string Domain { get; set; }
8 | public string WorkType { get; set; }
9 | public string ContractNumber { get; set; }
10 | public DateTime StartDate { get; set; }
11 | public DateTime EndDate { get; set; }
12 | public string Descriptor { get; set; }
13 | }
14 | }
--------------------------------------------------------------------------------
/source/TestUtils/PeanutButter.RandomGenerators.Tests/PerformanceTest/DomainDescriptorSearchViewModel.cs:
--------------------------------------------------------------------------------
1 | using System.ComponentModel.DataAnnotations;
2 | using System.Web.Mvc;
3 |
4 | namespace PeanutButter.RandomGenerators.Tests.PerformanceTest
5 | {
6 | public class DomainDescriptorSearchViewModel
7 | {
8 | public SelectList DomainSelectList { get; set; }
9 |
10 | [Display(Name = "Domain")]
11 | public string Domain { get; set; }
12 |
13 | [Display(Name = "Only display active descriptors")]
14 | public bool OnlyDisplayActiveDescriptors { get; set; }
15 | }
16 | }
--------------------------------------------------------------------------------
/source/TestUtils/PeanutButter.RandomGenerators.Tests/PerformanceTest/DomainViewModel.cs:
--------------------------------------------------------------------------------
1 | namespace PeanutButter.RandomGenerators.Tests.PerformanceTest
2 | {
3 | public class DomainViewModel : ViewModelBase
4 | {
5 | public string DomainType { get; set; }
6 | }
7 | }
--------------------------------------------------------------------------------
/source/TestUtils/PeanutButter.RandomGenerators.Tests/PerformanceTest/ElectronicChecklist.cs:
--------------------------------------------------------------------------------
1 | namespace PeanutButter.RandomGenerators.Tests.PerformanceTest
2 | {
3 | public class ElectronicChecklist : EntityBase
4 | {
5 | public string FormType { get; set; }
6 | public dynamic FormData { get; set; }
7 | }
8 | }
--------------------------------------------------------------------------------
/source/TestUtils/PeanutButter.RandomGenerators.Tests/PerformanceTest/ElectronicChecklistViewModel.cs:
--------------------------------------------------------------------------------
1 | namespace PeanutButter.RandomGenerators.Tests.PerformanceTest
2 | {
3 | public class ElectronicChecklistViewModel : ViewModelBase
4 | {
5 | public string FormType { get; set; }
6 | public dynamic FormData { get; set; }
7 | }
8 | }
--------------------------------------------------------------------------------
/source/TestUtils/PeanutButter.RandomGenerators.Tests/PerformanceTest/EntityBase.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using MongoDB.Bson;
3 | // ReSharper disable MemberCanBeProtected.Global
4 |
5 | namespace PeanutButter.RandomGenerators.Tests.PerformanceTest
6 | {
7 | public class EntityBase
8 | {
9 | public string Id { get; set; }
10 | public DateTime DateCreated { get; set; }
11 | public string CreatedUsername { get; set; }
12 | public DateTime DateLastModified { get; set; }
13 | public string LastModifiedUsername { get; set; }
14 | public BsonDocument ExtraElements { get; set; }
15 | }
16 | }
--------------------------------------------------------------------------------
/source/TestUtils/PeanutButter.RandomGenerators.Tests/PerformanceTest/ExchangeAreaViewModel.cs:
--------------------------------------------------------------------------------
1 | namespace PeanutButter.RandomGenerators.Tests.PerformanceTest
2 | {
3 | public class ExchangeAreaViewModel
4 | {
5 | public string Id { get; set; }
6 | public string ExchangeCode { get; set; }
7 | public string SiteLocation { get; set; }
8 | public string Turf { get; set; }
9 | public string AreaLocation { get; set; }
10 | public string Region { get; set; }
11 | public string Country { get; set; }
12 | }
13 | }
--------------------------------------------------------------------------------
/source/TestUtils/PeanutButter.RandomGenerators.Tests/PerformanceTest/FinNumber.cs:
--------------------------------------------------------------------------------
1 | namespace PeanutButter.RandomGenerators.Tests.PerformanceTest
2 | {
3 | public class FinNumber
4 | {
5 | public int Year { get; set; }
6 | public int SequenceNumber { get; set; }
7 | public string TypeIdentifier { get; set; }
8 | }
9 | }
--------------------------------------------------------------------------------
/source/TestUtils/PeanutButter.RandomGenerators.Tests/PerformanceTest/GenericSaveStatus.cs:
--------------------------------------------------------------------------------
1 | namespace PeanutButter.RandomGenerators.Tests.PerformanceTest
2 | {
3 | public class GenericSaveStatus
4 | {
5 | public bool Status { get; set; }
6 | public string Message { get; set; }
7 | }
8 | }
--------------------------------------------------------------------------------
/source/TestUtils/PeanutButter.RandomGenerators.Tests/PerformanceTest/GridFsFile.cs:
--------------------------------------------------------------------------------
1 | namespace PeanutButter.RandomGenerators.Tests.PerformanceTest
2 | {
3 | public struct GridFsFile
4 | {
5 | public string FileName { get; set; }
6 | public byte[] Bytes { get; set; }
7 | }
8 | }
--------------------------------------------------------------------------------
/source/TestUtils/PeanutButter.RandomGenerators.Tests/PerformanceTest/IDateTimeProvider.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace PeanutButter.RandomGenerators.Tests.PerformanceTest
4 | {
5 | public interface IDateTimeProvider
6 | {
7 | DateTime Now { get; }
8 | DateTime Today { get; }
9 | }
10 | }
--------------------------------------------------------------------------------
/source/TestUtils/PeanutButter.RandomGenerators.Tests/PerformanceTest/IDomainDescriptorFinder.cs:
--------------------------------------------------------------------------------
1 | namespace PeanutButter.RandomGenerators.Tests.PerformanceTest
2 | {
3 | public interface IDomainDescriptorFinder
4 | {
5 | DomainDescriptor FindDescriptorForOrder(Order order);
6 | }
7 | }
--------------------------------------------------------------------------------
/source/TestUtils/PeanutButter.RandomGenerators.Tests/PerformanceTest/IFinNumberGenerator.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace PeanutButter.RandomGenerators.Tests.PerformanceTest
4 | {
5 | public interface IFinNumberGenerator
6 | {
7 | FinNumber GetNextFinNumber(DateTime date);
8 | FinNumber GetNextJobNumber(Order order);
9 | FinNumber GetNextReconNumber(Order order);
10 | FinNumber GetNextInvoiceNumber();
11 | string GetNextQaNumber(Job job);
12 | FinNumber GetLatestInvoiceNumber();
13 | }
14 | }
--------------------------------------------------------------------------------
/source/TestUtils/PeanutButter.RandomGenerators.Tests/PerformanceTest/IUploadedFile.cs:
--------------------------------------------------------------------------------
1 | using System.IO;
2 |
3 | namespace PeanutButter.RandomGenerators.Tests.PerformanceTest
4 | {
5 | public interface IUploadedFile
6 | {
7 | bool HasFile { get; }
8 | string FileName { get; }
9 | Stream InputStream { get; }
10 | }
11 | }
--------------------------------------------------------------------------------
/source/TestUtils/PeanutButter.RandomGenerators.Tests/PerformanceTest/ImajinRecord.cs:
--------------------------------------------------------------------------------
1 | namespace PeanutButter.RandomGenerators.Tests.PerformanceTest
2 | {
3 | public class ImajinRecord : EntityBase
4 | {
5 | public ImajinRecordType RecordType { get; set; }
6 | public string ImajinId { get; set; }
7 | public string ContactId { get; set; }
8 | }
9 | }
--------------------------------------------------------------------------------
/source/TestUtils/PeanutButter.RandomGenerators.Tests/PerformanceTest/ImajinRecordType.cs:
--------------------------------------------------------------------------------
1 | namespace PeanutButter.RandomGenerators.Tests.PerformanceTest
2 | {
3 | public enum ImajinRecordType
4 | {
5 | WorkItem = 1,
6 | NewServiceItemEvent = 2,
7 | ActualQuantityEvent = 3,
8 | SiteDiaryEvent = 4
9 | }
10 | }
--------------------------------------------------------------------------------
/source/TestUtils/PeanutButter.RandomGenerators.Tests/PerformanceTest/Invoice.cs:
--------------------------------------------------------------------------------
1 | namespace PeanutButter.RandomGenerators.Tests.PerformanceTest
2 | {
3 | public class Invoice : EntityBase
4 | {
5 | public Recon Recon { get; set; }
6 | public Status Status { get; set; }
7 | public FinNumber FinNumber { get; set; }
8 | public string GeneratedInvoiceNumber { get; set; }
9 | public string WingbatInvoiceNumber { get; set; }
10 | public string CancellationReason { get; set; }
11 | }
12 | }
--------------------------------------------------------------------------------
/source/TestUtils/PeanutButter.RandomGenerators.Tests/PerformanceTest/InvoiceNumbering.cs:
--------------------------------------------------------------------------------
1 | namespace PeanutButter.RandomGenerators.Tests.PerformanceTest
2 | {
3 | public class InvoiceNumbering : EntityBase
4 | {
5 | public InvoiceNumberingType InvoiceNumberingType { get; set; }
6 | public int SequenceNumber { get; set; }
7 | }
8 | }
--------------------------------------------------------------------------------
/source/TestUtils/PeanutButter.RandomGenerators.Tests/PerformanceTest/InvoiceNumberingType.cs:
--------------------------------------------------------------------------------
1 | namespace PeanutButter.RandomGenerators.Tests.PerformanceTest
2 | {
3 | public enum InvoiceNumberingType
4 | {
5 | Internal = 1,
6 | FrobNozzle = 2
7 | }
8 | }
--------------------------------------------------------------------------------
/source/TestUtils/PeanutButter.RandomGenerators.Tests/PerformanceTest/InvoiceNumberingViewModel.cs:
--------------------------------------------------------------------------------
1 | namespace PeanutButter.RandomGenerators.Tests.PerformanceTest
2 | {
3 | public class InvoiceNumberingViewModel
4 | {
5 | public string Id { get; set; }
6 | public int SequenceNumber { get; set; }
7 | public string LatestInvoiceNumber { get; set; }
8 | public string NextInvoiceNumber { get; set; }
9 | public bool OtherInvoiceTypes { get; set; }
10 | public InvoiceNumberingType InvoiceNumberingType { get; set; }
11 | }
12 | }
--------------------------------------------------------------------------------
/source/TestUtils/PeanutButter.RandomGenerators.Tests/PerformanceTest/InvoicePaymentRecon.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace PeanutButter.RandomGenerators.Tests.PerformanceTest
4 | {
5 | public class InvoicePaymentRecon : EntityBase
6 | {
7 | public int RowNumber { get; set; }
8 | public string InvoiceNumber { get; set; }
9 | public DateTime PaymentDate { get; set; }
10 | public string PaymentReference { get; set; }
11 | public decimal PaymentAmount { get; set; }
12 | public string InvoiceId { get; set; }
13 | }
14 | }
--------------------------------------------------------------------------------
/source/TestUtils/PeanutButter.RandomGenerators.Tests/PerformanceTest/LibraryDocument.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace PeanutButter.RandomGenerators.Tests.PerformanceTest
4 | {
5 | public class LibraryDocument : EntityBase
6 | {
7 | public string FileId { get; set; }
8 | public DateTime? DateGenerated { get; set; }
9 | public string GeneratedBy { get; set; }
10 | public string DocumentType { get; set; }
11 |
12 | public LibraryDocumentDetails Details { get; set; }
13 | }
14 | }
--------------------------------------------------------------------------------
/source/TestUtils/PeanutButter.RandomGenerators.Tests/PerformanceTest/LibraryDocumentDetails.cs:
--------------------------------------------------------------------------------
1 | namespace PeanutButter.RandomGenerators.Tests.PerformanceTest
2 | {
3 | public class LibraryDocumentDetails
4 | {
5 | }
6 | }
--------------------------------------------------------------------------------
/source/TestUtils/PeanutButter.RandomGenerators.Tests/PerformanceTest/LibraryDocumentDetailsInvoice.cs:
--------------------------------------------------------------------------------
1 | namespace PeanutButter.RandomGenerators.Tests.PerformanceTest
2 | {
3 | public class LibraryDocumentDetailsInvoice : LibraryDocumentDetails
4 | {
5 | public string FinNumber { get; set; }
6 | public string DocumentFinNumber { get; set; }
7 | public string GeneratedInvoiceNumber { get; set; }
8 | }
9 | }
--------------------------------------------------------------------------------
/source/TestUtils/PeanutButter.RandomGenerators.Tests/PerformanceTest/LibraryDocumentDetailsInvoiceViewModel.cs:
--------------------------------------------------------------------------------
1 | namespace PeanutButter.RandomGenerators.Tests.PerformanceTest
2 | {
3 | public class LibraryDocumentDetailsInvoiceViewModel : LibraryDocumentDetailsViewModel
4 | {
5 | public string FinNumber { get; set; }
6 | public string DocumentFinNumber { get; set; }
7 | public string GeneratedInvoiceNumber { get; set; }
8 |
9 | public override string ToString()
10 | {
11 | return
12 | $"FIN Number: {FinNumber}\nDocument FIN Number: {DocumentFinNumber}\nGenerated Invoice Number: {GeneratedInvoiceNumber}";
13 | }
14 | }
15 | }
--------------------------------------------------------------------------------
/source/TestUtils/PeanutButter.RandomGenerators.Tests/PerformanceTest/LibraryDocumentDetailsOrder.cs:
--------------------------------------------------------------------------------
1 | namespace PeanutButter.RandomGenerators.Tests.PerformanceTest
2 | {
3 | public class LibraryDocumentDetailsOrder : LibraryDocumentDetails
4 | {
5 | public string FinNumber { get; set; }
6 | public string DocumentFinNumber { get; set; }
7 | }
8 | }
--------------------------------------------------------------------------------
/source/TestUtils/PeanutButter.RandomGenerators.Tests/PerformanceTest/LibraryDocumentDetailsOrderViewModel.cs:
--------------------------------------------------------------------------------
1 | namespace PeanutButter.RandomGenerators.Tests.PerformanceTest
2 | {
3 | public class LibraryDocumentDetailsOrderViewModel : LibraryDocumentDetailsViewModel
4 | {
5 | public string FinNumber { get; set; }
6 | public string DocumentFinNumber { get; set; }
7 |
8 | public override string ToString()
9 | {
10 | return $"FIN Number: {FinNumber}\nDocument FIN Number: {DocumentFinNumber}";
11 | }
12 | }
13 | }
--------------------------------------------------------------------------------
/source/TestUtils/PeanutButter.RandomGenerators.Tests/PerformanceTest/LibraryDocumentDetailsReport.cs:
--------------------------------------------------------------------------------
1 | using System.Collections.Generic;
2 |
3 | namespace PeanutButter.RandomGenerators.Tests.PerformanceTest
4 | {
5 | public class LibraryDocumentDetailsReport : LibraryDocumentDetails
6 | {
7 | public string ReportScheduleId { get; set; }
8 | public string ReportName { get; set; }
9 | public Dictionary ParameterValues { get; set; }
10 | public List Recipients { get; set; }
11 | }
12 | }
--------------------------------------------------------------------------------
/source/TestUtils/PeanutButter.RandomGenerators.Tests/PerformanceTest/LibraryDocumentDetailsViewModel.cs:
--------------------------------------------------------------------------------
1 | namespace PeanutButter.RandomGenerators.Tests.PerformanceTest
2 | {
3 | public class LibraryDocumentDetailsViewModel
4 | {
5 | }
6 | }
--------------------------------------------------------------------------------
/source/TestUtils/PeanutButter.RandomGenerators.Tests/PerformanceTest/LibraryDocumentSearchViewModel.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Web.Mvc;
3 |
4 | namespace PeanutButter.RandomGenerators.Tests.PerformanceTest
5 | {
6 | public class LibraryDocumentSearchViewModel
7 | {
8 | public DateTime? FromDate { get; set; }
9 | public DateTime? ToDate { get; set; }
10 | public string DocumentType { get; set; }
11 | public string GeneratedBy { get; set; }
12 | public SelectList GeneratedBySelectList { get; set; }
13 | public SelectList DocumentTypeSelectList { get; set; }
14 | }
15 | }
--------------------------------------------------------------------------------
/source/TestUtils/PeanutButter.RandomGenerators.Tests/PerformanceTest/LibraryDocumentViewModel.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace PeanutButter.RandomGenerators.Tests.PerformanceTest
4 | {
5 | public class LibraryDocumentViewModel
6 | {
7 | public string FileId { get; set; }
8 | public DateTime? DateGenerated { get; set; }
9 | public string GeneratedBy { get; set; }
10 | public string DocumentType { get; set; }
11 | public LibraryDocumentDetailsViewModel Details { get; set; }
12 | }
13 | }
--------------------------------------------------------------------------------
/source/TestUtils/PeanutButter.RandomGenerators.Tests/PerformanceTest/LocationType.cs:
--------------------------------------------------------------------------------
1 | using System.ComponentModel.DataAnnotations;
2 |
3 | namespace PeanutButter.RandomGenerators.Tests.PerformanceTest
4 | {
5 | public enum LocationType
6 | {
7 | [Display(Name = "Frobnozzle Yard")] FrobNozzleYard,
8 | [Display(Name = "Site Location")] SiteLocation,
9 | [Display(Name = "Wingbat Yard")] WingbatYard
10 | }
11 | }
--------------------------------------------------------------------------------
/source/TestUtils/PeanutButter.RandomGenerators.Tests/PerformanceTest/Log.cs:
--------------------------------------------------------------------------------
1 | namespace PeanutButter.RandomGenerators.Tests.PerformanceTest
2 | {
3 | public class Log : EntityBase
4 | {
5 | public dynamic Before { get; set; }
6 | public dynamic After { get; set; }
7 | public OperationType OperationType { get; set; }
8 | public string ObjectType { get; set; }
9 | }
10 | }
--------------------------------------------------------------------------------
/source/TestUtils/PeanutButter.RandomGenerators.Tests/PerformanceTest/OperationType.cs:
--------------------------------------------------------------------------------
1 | namespace PeanutButter.RandomGenerators.Tests.PerformanceTest
2 | {
3 | public enum OperationType
4 | {
5 | Create,
6 | Modify,
7 | Delete,
8 | Cancel
9 | }
10 | }
--------------------------------------------------------------------------------
/source/TestUtils/PeanutButter.RandomGenerators.Tests/PerformanceTest/PdfEmbeddedFont.cs:
--------------------------------------------------------------------------------
1 | namespace PeanutButter.RandomGenerators.Tests.PerformanceTest
2 | {
3 | public class PdfEmbeddedFont : EntityBase
4 | {
5 | public string Name { get; set; }
6 | public byte[] FontData { get; set; }
7 | }
8 | }
--------------------------------------------------------------------------------
/source/TestUtils/PeanutButter.RandomGenerators.Tests/PerformanceTest/PdfFragment.cs:
--------------------------------------------------------------------------------
1 | namespace PeanutButter.RandomGenerators.Tests.PerformanceTest
2 | {
3 | public class PdfFragment : EntityBase
4 | {
5 | public string Name { get; set; }
6 | public byte[] Fragment { get; set; }
7 | }
8 | }
--------------------------------------------------------------------------------
/source/TestUtils/PeanutButter.RandomGenerators.Tests/PerformanceTest/PenaltyAmountParametersViewModel.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace PeanutButter.RandomGenerators.Tests.PerformanceTest
4 | {
5 | public class PenaltyAmountParametersViewModel
6 | {
7 | public string OrderId { get; set; }
8 | public string[] JobIds { get; set; }
9 | public int NumberOfShePenalties { get; set; }
10 | public DateTime? ActualStartDate { get; set; }
11 | public DateTime? ActualEndDate { get; set; }
12 | public DateTime? ContractStartDate { get; set; }
13 | public DateTime? ContractEndDate { get; set; }
14 | }
15 | }
--------------------------------------------------------------------------------
/source/TestUtils/PeanutButter.RandomGenerators.Tests/PerformanceTest/QualityAssurance.cs:
--------------------------------------------------------------------------------
1 | using System.Collections.Generic;
2 |
3 | namespace PeanutButter.RandomGenerators.Tests.PerformanceTest
4 | {
5 | public class QualityAssurance : EntityBase
6 | {
7 | public string QualityAssuranceNumber { get; set; }
8 | public List Attachments { get; set; }
9 | public Status Status { get; set; }
10 | public bool ByPassedQa { get; set; }
11 | public ElectronicChecklist ElectronicChecklist { get; set; }
12 | }
13 | }
--------------------------------------------------------------------------------
/source/TestUtils/PeanutButter.RandomGenerators.Tests/PerformanceTest/Rate.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace PeanutButter.RandomGenerators.Tests.PerformanceTest
4 | {
5 | public class Rate : EntityBase
6 | {
7 | public decimal Value { get; set; }
8 | public DateTime EffectiveDate { get; set; }
9 | }
10 | }
--------------------------------------------------------------------------------
/source/TestUtils/PeanutButter.RandomGenerators.Tests/PerformanceTest/RateViewModel.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.ComponentModel.DataAnnotations;
3 |
4 | namespace PeanutButter.RandomGenerators.Tests.PerformanceTest
5 | {
6 | public class RateViewModel : ViewModelBase
7 | {
8 | [Required]
9 | [Display(Name = "Rate Value")]
10 | public decimal Value { get; set; }
11 |
12 | [Required]
13 | [Display(Name = "Rate Effective Date")]
14 | public DateTime EffectiveDate { get; set; }
15 | }
16 | }
--------------------------------------------------------------------------------
/source/TestUtils/PeanutButter.RandomGenerators.Tests/PerformanceTest/ReceiptMethod.cs:
--------------------------------------------------------------------------------
1 | namespace PeanutButter.RandomGenerators.Tests.PerformanceTest
2 | {
3 | public class ReceiptMethod : EntityBase
4 | {
5 | public string Code { get; set; }
6 | public string Description { get; set; }
7 | }
8 | }
--------------------------------------------------------------------------------
/source/TestUtils/PeanutButter.RandomGenerators.Tests/PerformanceTest/Region.cs:
--------------------------------------------------------------------------------
1 | namespace PeanutButter.RandomGenerators.Tests.PerformanceTest
2 | {
3 | public class Region
4 | {
5 | public string Id { get; set; }
6 | public string Description { get; set; }
7 | }
8 | }
--------------------------------------------------------------------------------
/source/TestUtils/PeanutButter.RandomGenerators.Tests/PerformanceTest/ReportParameterType.cs:
--------------------------------------------------------------------------------
1 | namespace PeanutButter.RandomGenerators.Tests.PerformanceTest
2 | {
3 | public enum ReportParameterType
4 | {
5 | Date,
6 | String
7 | }
8 | }
--------------------------------------------------------------------------------
/source/TestUtils/PeanutButter.RandomGenerators.Tests/PerformanceTest/ReportSchedule.cs:
--------------------------------------------------------------------------------
1 | using System.Collections.Generic;
2 |
3 | namespace PeanutButter.RandomGenerators.Tests.PerformanceTest
4 | {
5 | public class ReportSchedule : EntityBase
6 | {
7 | public ReportType ReportType { get; set; }
8 | public string ReportMethodName { get; set; }
9 | public List Contacts { get; set; }
10 | public List ReportScheduleParameters { get; set; }
11 | public Schedule Schedule { get; set; }
12 | }
13 | }
--------------------------------------------------------------------------------
/source/TestUtils/PeanutButter.RandomGenerators.Tests/PerformanceTest/ReportScheduleDateParameterDetails.cs:
--------------------------------------------------------------------------------
1 | namespace PeanutButter.RandomGenerators.Tests.PerformanceTest
2 | {
3 | public enum ReportScheduleDateParameterDetails
4 | {
5 | DirectionModifier,
6 | ModifierValue,
7 | ModifierSize
8 | }
9 | }
--------------------------------------------------------------------------------
/source/TestUtils/PeanutButter.RandomGenerators.Tests/PerformanceTest/ReportScheduleParameter.cs:
--------------------------------------------------------------------------------
1 | using System.Collections.Generic;
2 |
3 | namespace PeanutButter.RandomGenerators.Tests.PerformanceTest
4 | {
5 | public class ReportScheduleParameter
6 | {
7 | public string ParameterName { get; set; }
8 | public string ParameterDisplayName { get; set; }
9 | public ReportParameterType ReportParameterType { get; set; }
10 | public Dictionary Details { get; set; }
11 | }
12 | }
--------------------------------------------------------------------------------
/source/TestUtils/PeanutButter.RandomGenerators.Tests/PerformanceTest/ReportScheduleParameterViewModel.cs:
--------------------------------------------------------------------------------
1 | using System.Collections.Generic;
2 |
3 | namespace PeanutButter.RandomGenerators.Tests.PerformanceTest
4 | {
5 | public class ReportScheduleParameterViewModel
6 | {
7 | public string ParameterDisplayName { get; set; }
8 | public string ParameterName { get; set; }
9 | public ReportParameterType ReportParameterType { get; set; }
10 | public IDictionary Details { get; set; }
11 | }
12 | }
--------------------------------------------------------------------------------
/source/TestUtils/PeanutButter.RandomGenerators.Tests/PerformanceTest/ReportScheduleStringParameterDetails.cs:
--------------------------------------------------------------------------------
1 | namespace PeanutButter.RandomGenerators.Tests.PerformanceTest
2 | {
3 | public enum ReportScheduleStringParameterDetails
4 | {
5 | ParameterValue,
6 | ParameterDisplayValue
7 | }
8 | }
--------------------------------------------------------------------------------
/source/TestUtils/PeanutButter.RandomGenerators.Tests/PerformanceTest/ReportType.cs:
--------------------------------------------------------------------------------
1 | using System.ComponentModel;
2 |
3 | namespace PeanutButter.RandomGenerators.Tests.PerformanceTest
4 | {
5 | public enum ReportType
6 | {
7 | [Description("Job Card Summary")] JobCardSummary,
8 | [Description("Daily Update")] DailyUpdate,
9 | [Description("Order Summary")] OrderSummary,
10 | [Description("Invoice Penalties")] InvoicePenalties,
11 | [Description("Orders With No Jobs")] OrdersWithNoJobs,
12 | [Description("Customer Statement")] CustomerStatement
13 | }
14 | }
--------------------------------------------------------------------------------
/source/TestUtils/PeanutButter.RandomGenerators.Tests/PerformanceTest/Schedule.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace PeanutButter.RandomGenerators.Tests.PerformanceTest
4 | {
5 | public class Schedule
6 | {
7 | public ScheduleType ScheduleType { get; set; }
8 | public DateTime ExecutionTime { get; set; }
9 | public DayOfWeek? DayOfWeek { get; set; }
10 | public int? DateOfMonth { get; set; }
11 | }
12 | }
--------------------------------------------------------------------------------
/source/TestUtils/PeanutButter.RandomGenerators.Tests/PerformanceTest/ScheduleType.cs:
--------------------------------------------------------------------------------
1 | namespace PeanutButter.RandomGenerators.Tests.PerformanceTest
2 | {
3 | public enum ScheduleType
4 | {
5 | Daily,
6 | Weekly,
7 | Monthly
8 | }
9 | }
--------------------------------------------------------------------------------
/source/TestUtils/PeanutButter.RandomGenerators.Tests/PerformanceTest/ScheduleViewModel.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace PeanutButter.RandomGenerators.Tests.PerformanceTest
4 | {
5 | public class ScheduleViewModel
6 | {
7 | public ScheduleType ScheduleType { get; set; }
8 | public DateTime ExecutionTime { get; set; }
9 | public int ExecutionHours { get; set; }
10 | public int ExecutionMinutes { get; set; }
11 | public int MinuteOffSet { get; set; }
12 | public DayOfWeek? DayOfWeek { get; set; }
13 | public int? DateOfMonth { get; set; }
14 | }
15 | }
--------------------------------------------------------------------------------
/source/TestUtils/PeanutButter.RandomGenerators.Tests/PerformanceTest/SiteDiary.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 |
4 | namespace PeanutButter.RandomGenerators.Tests.PerformanceTest
5 | {
6 | public class SiteDiary : EntityBase
7 | {
8 | public string Description { get; set; }
9 | public List Attachments { get; set; }
10 | public DateTime SiteDiaryDate { get; set; }
11 | }
12 | }
--------------------------------------------------------------------------------
/source/TestUtils/PeanutButter.RandomGenerators.Tests/PerformanceTest/SiteDiaryViewModel.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 |
4 | namespace PeanutButter.RandomGenerators.Tests.PerformanceTest
5 | {
6 | public class SiteDiaryViewModel : ViewModelBase
7 | {
8 | public string Fin { get; set; }
9 | public string PoNumber { get; set; }
10 | public string Ref { get; set; }
11 | public string Description { get; set; }
12 | public List Attachments { get; set; }
13 | public DateTime? SiteDiaryDate { get; set; }
14 | public string Source { get; set; }
15 | public string Username { get; set; }
16 | }
17 | }
--------------------------------------------------------------------------------
/source/TestUtils/PeanutButter.RandomGenerators.Tests/PerformanceTest/Team.cs:
--------------------------------------------------------------------------------
1 | namespace PeanutButter.RandomGenerators.Tests.PerformanceTest
2 | {
3 | public class Team : EntityBase
4 | {
5 | public string Code { get; set; }
6 | public string Description { get; set; }
7 | public decimal Percentage { get; set; }
8 | public string Domain { get; set; }
9 | public bool IsActive { get; set; }
10 | public string CompanyId { get; set; }
11 | }
12 | }
--------------------------------------------------------------------------------
/source/TestUtils/PeanutButter.RandomGenerators.Tests/PerformanceTest/TrackOrdersParametersViewModel.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace PeanutButter.RandomGenerators.Tests.PerformanceTest
4 | {
5 | public class TrackOrdersParametersViewModel
6 | {
7 | public DateTime? FromDate { get; set; }
8 | public DateTime? ToDate { get; set; }
9 | public string FinNumber { get; set; }
10 | public string PoNumber { get; set; }
11 | public string RefNumber { get; set; }
12 | public string InvoiceNumber { get; set; }
13 | public string NetworkNumber { get; set; }
14 | }
15 | }
--------------------------------------------------------------------------------
/source/TestUtils/PeanutButter.RandomGenerators.Tests/PerformanceTest/UserRole.cs:
--------------------------------------------------------------------------------
1 | using System.ComponentModel.DataAnnotations;
2 |
3 | namespace PeanutButter.RandomGenerators.Tests.PerformanceTest
4 | {
5 | public enum UserRole
6 | {
7 | [Display(Name = "Manager")] Manager,
8 |
9 | [Display(Name = "Non Admin")] NonAdmin,
10 |
11 | [Display(Name = "Administrator")] Administrator,
12 |
13 | [Display(Name = "Mobile User")] MobileUser,
14 |
15 | [Display(Name = "Third Party")] ThirdParty
16 | }
17 | }
--------------------------------------------------------------------------------
/source/TestUtils/PeanutButter.RandomGenerators.Tests/PerformanceTest/VersionViewModel.cs:
--------------------------------------------------------------------------------
1 | namespace PeanutButter.RandomGenerators.Tests.PerformanceTest
2 | {
3 | public class VersionViewModel
4 | {
5 | public string VersionNumber => GetType().Assembly.GetName().Version.ToString();
6 | }
7 | }
--------------------------------------------------------------------------------
/source/TestUtils/PeanutButter.RandomGenerators.Tests/PerformanceTest/Wage.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace PeanutButter.RandomGenerators.Tests.PerformanceTest
4 | {
5 | public class Wage : EntityBase
6 | {
7 | public DateTime StartDate { get; set; }
8 | public DateTime TerminationDate { get; set; }
9 | public string TerminationReason { get; set; }
10 | public decimal WageRate { get; set; }
11 | public WagePeriod WageEarningPeriod { get; set; }
12 | public WagePeriod WagePayoutPeriod { get; set; }
13 | }
14 | }
--------------------------------------------------------------------------------
/source/TestUtils/PeanutButter.RandomGenerators.Tests/PerformanceTest/WagePeriod.cs:
--------------------------------------------------------------------------------
1 | using System.ComponentModel.DataAnnotations;
2 |
3 | namespace PeanutButter.RandomGenerators.Tests.PerformanceTest
4 | {
5 | public enum WagePeriod
6 | {
7 | [Display(Name = "Unknown")] Unknown,
8 |
9 | [Display(Name = "Hourly")] Hourly,
10 |
11 | [Display(Name = "Daily")] Daily,
12 |
13 | [Display(Name = "Weekly")] Weekly,
14 |
15 | [Display(Name = "Forthnightly")] Forthnightly,
16 |
17 | [Display(Name = "Monthly")] Monthly
18 | }
19 | }
--------------------------------------------------------------------------------
/source/TestUtils/PeanutButter.RandomGenerators.Tests/PerformanceTest/WageViewModel.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace PeanutButter.RandomGenerators.Tests.PerformanceTest
4 | {
5 | public class WageViewModel : ViewModelBase
6 | {
7 | public DateTime StartDate { get; set; }
8 | public DateTime TerminationDate { get; set; }
9 | public string TerminationReason { get; set; }
10 | public decimal WageRate { get; set; }
11 | public WagePeriod WageEarningPeriod { get; set; }
12 | public WagePeriod WagePayoutPeriod { get; set; }
13 | }
14 | }
--------------------------------------------------------------------------------
/source/TestUtils/PeanutButter.RandomGenerators.Tests/PerformanceTest/WorkType.cs:
--------------------------------------------------------------------------------
1 | namespace PeanutButter.RandomGenerators.Tests.PerformanceTest
2 | {
3 | public class WorkType : EntityBase
4 | {
5 | public string Description { get; set; }
6 | }
7 | }
--------------------------------------------------------------------------------
/source/TestUtils/PeanutButter.RandomGenerators.Tests/RandomTestCycles.cs:
--------------------------------------------------------------------------------
1 | namespace PeanutButter.RandomGenerators.Tests
2 | {
3 | public static class RandomTestCycles
4 | {
5 | public const int NORMAL_RANDOM_TEST_CYCLES = 128;
6 | public const int HIGH_RANDOM_TEST_CYCLES = 2048;
7 | public const int RIDICULOUS_RANDOM_TEST_CYCLES = NORMAL_RANDOM_TEST_CYCLES * 100;
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/source/TestUtils/PeanutButter.RandomGenerators/RequireNonZeroId.cs:
--------------------------------------------------------------------------------
1 | #if BUILD_PEANUTBUTTER_INTERNAL
2 | namespace Imported.PeanutButter.RandomGenerators;
3 | #else
4 | namespace PeanutButter.RandomGenerators;
5 | #endif
6 |
7 | ///
8 | /// Requires that the field named "Id" be non-zero
9 | ///
10 | #if BUILD_PEANUTBUTTER_INTERNAL
11 | internal
12 | #else
13 | public
14 | #endif
15 | class RequireNonZeroId : RequireNonZero
16 | {
17 | ///
18 | public RequireNonZeroId()
19 | : base("Id")
20 | {
21 | }
22 | }
--------------------------------------------------------------------------------
/source/TestUtils/PeanutButter.RandomGenerators/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluffynuts/PeanutButter/af9f2168c87dafed77d57f558960d8c8c1b4de37/source/TestUtils/PeanutButter.RandomGenerators/icon.png
--------------------------------------------------------------------------------
/source/TestUtils/PeanutButter.TestUtils.AspNetCore.Tests/GlobalUsings.cs:
--------------------------------------------------------------------------------
1 | global using NExpect;
2 | global using static NExpect.AspNetCoreExpectations;
3 | global using static NExpect.Expectations;
4 | global using static PeanutButter.RandomGenerators.RandomValueGen;
5 | global using NSubstitute;
6 | global using NUnit.Framework;
--------------------------------------------------------------------------------
/source/TestUtils/PeanutButter.TestUtils.AspNetCore/Builders/CustomConstructEntityRequired.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | #if BUILD_PEANUTBUTTER_INTERNAL
4 | namespace Imported.PeanutButter.TestUtils.AspNetCore.Builders;
5 | #else
6 | namespace PeanutButter.TestUtils.AspNetCore.Builders;
7 | #endif
8 |
9 | internal class CustomConstructEntityRequired
10 | : Exception
11 | {
12 | public CustomConstructEntityRequired(
13 | Type outerType
14 | ) : base(
15 | $"Please implement {outerType.Name}.ConstructEntity"
16 | )
17 | {
18 | }
19 | }
--------------------------------------------------------------------------------
/source/TestUtils/PeanutButter.TestUtils.AspNetCore/Builders/FakeCastExtensions.cs:
--------------------------------------------------------------------------------
1 |
2 | #if BUILD_PEANUTBUTTER_INTERNAL
3 | using Imported.PeanutButter.TestUtils.AspNetCore.Fakes;
4 | namespace Imported.PeanutButter.TestUtils.AspNetCore.Builders;
5 | #else
6 | using PeanutButter.TestUtils.AspNetCore.Fakes;
7 | namespace PeanutButter.TestUtils.AspNetCore.Builders;
8 | #endif
9 |
10 | internal static class FakeCastExtensions
11 | {
12 | public static T As(this object obj) where T: class, IFake
13 | {
14 | return obj as T ?? throw new InvalidImplementationException(obj);
15 | }
16 | }
--------------------------------------------------------------------------------
/source/TestUtils/PeanutButter.TestUtils.AspNetCore/Fakes/ICanBeIndexedBy.cs:
--------------------------------------------------------------------------------
1 | using Microsoft.Extensions.Primitives;
2 |
3 | #if BUILD_PEANUTBUTTER_INTERNAL
4 | namespace Imported.PeanutButter.TestUtils.AspNetCore.Fakes;
5 | #else
6 | namespace PeanutButter.TestUtils.AspNetCore.Fakes;
7 | #endif
8 |
9 | ///
10 | /// Describes a type which has
11 | ///
12 | #if BUILD_PEANUTBUTTER_INTERNAL
13 | internal
14 | #else
15 | public
16 | #endif
17 | interface ICanBeIndexedBy
18 | {
19 | ///
20 | /// Indexes into the store
21 | ///
22 | ///
23 | StringValues this[T key] { get; set; }
24 | }
--------------------------------------------------------------------------------
/source/TestUtils/PeanutButter.TestUtils.AspNetCore/Fakes/IFake.cs:
--------------------------------------------------------------------------------
1 | #if BUILD_PEANUTBUTTER_INTERNAL
2 | namespace Imported.PeanutButter.TestUtils.AspNetCore.Fakes;
3 | #else
4 | namespace PeanutButter.TestUtils.AspNetCore.Fakes;
5 | #endif
6 |
7 | ///
8 | /// Used to identify fakes, primarily by the .As<TFake> extension method
9 | ///
10 | #if BUILD_PEANUTBUTTER_INTERNAL
11 | internal
12 | #else
13 | public
14 | #endif
15 | interface IFake
16 | {
17 | }
--------------------------------------------------------------------------------
/source/TestUtils/PeanutButter.TestUtils.AspNetCore/Fakes/NonFunctionalServiceProvider.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | #if BUILD_PEANUTBUTTER_INTERNAL
4 | namespace Imported.PeanutButter.TestUtils.AspNetCore.Fakes;
5 | #else
6 | namespace PeanutButter.TestUtils.AspNetCore.Fakes;
7 | #endif
8 |
9 | internal class NonFunctionalServiceProvider : IServiceProvider, IFake
10 | {
11 | public object GetService(Type serviceType)
12 | {
13 | throw new ServiceProviderImplementationRequiredException();
14 | }
15 | }
--------------------------------------------------------------------------------
/source/TestUtils/PeanutButter.TestUtils.AspNetCore/PeanutButter.TestUtils.AspNetCore.csproj.DotSettings:
--------------------------------------------------------------------------------
1 |
2 | Library
--------------------------------------------------------------------------------
/source/TestUtils/PeanutButter.TestUtils.AspNetCore/Program.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | #if BUILD_PEANUTBUTTER_INTERNAL
4 | namespace Imported.PeanutButter.TestUtils.AspNetCore;
5 | #else
6 | namespace PeanutButter.TestUtils.AspNetCore;
7 | #endif
8 |
9 | internal static class Program
10 | {
11 | internal static void Main()
12 | {
13 | throw new Exception(
14 | "This method only exists to satiate compiler requirements for building against Microsoft.NET.Sdk.Web"
15 | );
16 | }
17 | }
--------------------------------------------------------------------------------
/source/TestUtils/PeanutButter.TestUtils.AspNetCore/Utils/IFormDecoder.cs:
--------------------------------------------------------------------------------
1 | using System.IO;
2 | using Microsoft.AspNetCore.Http;
3 |
4 | #if BUILD_PEANUTBUTTER_INTERNAL
5 | namespace Imported.PeanutButter.TestUtils.AspNetCore.Utils;
6 | #else
7 | namespace PeanutButter.TestUtils.AspNetCore.Utils;
8 | #endif
9 |
10 | ///
11 | /// Decodes a form
12 | ///
13 | #if BUILD_PEANUTBUTTER_INTERNAL
14 | internal
15 | #else
16 | public
17 | #endif
18 | interface IFormDecoder
19 | {
20 | ///
21 | /// Decodes a form
22 | ///
23 | ///
24 | ///
25 | public IFormCollection Decode(Stream body);
26 | }
--------------------------------------------------------------------------------
/source/TestUtils/PeanutButter.TestUtils.AspNetCore/Utils/IFormEncoder.cs:
--------------------------------------------------------------------------------
1 | using System.IO;
2 | using Microsoft.AspNetCore.Http;
3 |
4 | #if BUILD_PEANUTBUTTER_INTERNAL
5 | namespace Imported.PeanutButter.TestUtils.AspNetCore.Utils;
6 | #else
7 | namespace PeanutButter.TestUtils.AspNetCore.Utils;
8 | #endif
9 |
10 | ///
11 | /// Encodes a form
12 | ///
13 | #if BUILD_PEANUTBUTTER_INTERNAL
14 | internal
15 | #else
16 | public
17 | #endif
18 | interface IFormEncoder
19 | {
20 | ///
21 | /// Encodes a form
22 | ///
23 | ///
24 | ///
25 | public Stream Encode(IFormCollection form);
26 | }
--------------------------------------------------------------------------------
/source/TestUtils/PeanutButter.TestUtils.AspNetCore/Utils/NullBodyEncoder.cs:
--------------------------------------------------------------------------------
1 | using System.IO;
2 | using Microsoft.AspNetCore.Http;
3 |
4 | #if BUILD_PEANUTBUTTER_INTERNAL
5 | namespace Imported.PeanutButter.TestUtils.AspNetCore.Utils;
6 | #else
7 | namespace PeanutButter.TestUtils.AspNetCore.Utils;
8 | #endif
9 |
10 | ///
11 | /// Null-pattern: simply produces a new stream
12 | ///
13 | #if BUILD_PEANUTBUTTER_INTERNAL
14 | internal
15 | #else
16 | public
17 | #endif
18 | class NullBodyEncoder : IFormEncoder
19 | {
20 | ///
21 | public Stream Encode(IFormCollection form)
22 | {
23 | return new MemoryStream();
24 | }
25 | }
--------------------------------------------------------------------------------
/source/TestUtils/PeanutButter.TestUtils.AspNetCore/Utils/OneWayFlag.cs:
--------------------------------------------------------------------------------
1 | #if BUILD_PEANUTBUTTER_INTERNAL
2 | namespace Imported.PeanutButter.TestUtils.AspNetCore.Utils;
3 | #else
4 | namespace PeanutButter.TestUtils.AspNetCore.Utils;
5 | #endif
6 |
7 | internal class OneWayFlag
8 | {
9 | public bool WasSet
10 | {
11 | get => _flag;
12 | set => _flag = value || _flag;
13 | }
14 |
15 | private bool _flag;
16 | }
--------------------------------------------------------------------------------
/source/TestUtils/PeanutButter.TestUtils.AspNetCore/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluffynuts/PeanutButter/af9f2168c87dafed77d57f558960d8c8c1b4de37/source/TestUtils/PeanutButter.TestUtils.AspNetCore/icon.png
--------------------------------------------------------------------------------
/source/TestUtils/PeanutButter.TestUtils.Generic.Tests/GlobalUsings.cs:
--------------------------------------------------------------------------------
1 | global using NExpect;
2 | global using static NExpect.Expectations;
3 | global using NUnit.Framework;
--------------------------------------------------------------------------------
/source/TestUtils/PeanutButter.TestUtils.Generic/NUnitAbstractions/UnmetExpectation.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace PeanutButter.TestUtils.Generic.NUnitAbstractions
4 | {
5 | internal class UnmetExpectation : Exception
6 | {
7 | public UnmetExpectation(string message) : base(message)
8 | {
9 | }
10 | }
11 | }
--------------------------------------------------------------------------------
/source/TestUtils/PeanutButter.TestUtils.Generic/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluffynuts/PeanutButter/af9f2168c87dafed77d57f558960d8c8c1b4de37/source/TestUtils/PeanutButter.TestUtils.Generic/icon.png
--------------------------------------------------------------------------------
/source/TestUtils/RandomBuilderPerformanceTest/App.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/source/TestUtils/RandomBuilderPerformanceTest/Fortel/Address.cs:
--------------------------------------------------------------------------------
1 | namespace RandomBuilderPerformanceTest.Fortel
2 | {
3 | public class Address : EntityBase
4 | {
5 | public string UnitNumber { get; set; }
6 | public string Complex { get; set; }
7 | public string Number { get; set; }
8 | public string Name { get; set; }
9 | public string Suburb { get; set; }
10 | public string City { get; set; }
11 | public string PostalCode { get; set; }
12 | public string CountryCode { get; set; }
13 | public AddressType AddressType { get; set; }
14 | }
15 | }
--------------------------------------------------------------------------------
/source/TestUtils/RandomBuilderPerformanceTest/Fortel/AddressType.cs:
--------------------------------------------------------------------------------
1 | namespace RandomBuilderPerformanceTest.Fortel
2 | {
3 | public enum AddressType
4 | {
5 | Physical,
6 | Postal
7 | }
8 | }
--------------------------------------------------------------------------------
/source/TestUtils/RandomBuilderPerformanceTest/Fortel/Attachment.cs:
--------------------------------------------------------------------------------
1 | namespace RandomBuilderPerformanceTest.Fortel
2 | {
3 | public class Attachment : EntityBase
4 | {
5 | public string Name { get; set; }
6 | public string DocumentId { get; set; }
7 | }
8 | }
--------------------------------------------------------------------------------
/source/TestUtils/RandomBuilderPerformanceTest/Fortel/AttachmentType.cs:
--------------------------------------------------------------------------------
1 | namespace RandomBuilderPerformanceTest.Fortel
2 | {
3 | public enum AttachmentType
4 | {
5 | IdCopy,
6 | Signature,
7 | BankDetailsProof,
8 | AttachmentFile
9 | }
10 | }
--------------------------------------------------------------------------------
/source/TestUtils/RandomBuilderPerformanceTest/Fortel/AttachmentViewModel.cs:
--------------------------------------------------------------------------------
1 | namespace RandomBuilderPerformanceTest.Fortel
2 | {
3 | public class AttachmentViewModel : ViewModelBase
4 | {
5 | public string Name { get; set; }
6 | public string DocumentId { get; set; }
7 | }
8 | }
--------------------------------------------------------------------------------
/source/TestUtils/RandomBuilderPerformanceTest/Fortel/BankingDetails.cs:
--------------------------------------------------------------------------------
1 | namespace RandomBuilderPerformanceTest.Fortel
2 | {
3 | public class BankingDetails : EntityBase
4 | {
5 | public string AccountNumber { get; set; }
6 | public string BankName { get; set; }
7 | public string BankBranch { get; set; }
8 | public string BankBranchCode { get; set; }
9 | }
10 | }
--------------------------------------------------------------------------------
/source/TestUtils/RandomBuilderPerformanceTest/Fortel/BankingDetailsViewModel.cs:
--------------------------------------------------------------------------------
1 | using System.ComponentModel.DataAnnotations;
2 |
3 | namespace RandomBuilderPerformanceTest.Fortel
4 | {
5 | public class BankingDetailsViewModel:ViewModelBase
6 | {
7 | [Display(Name = "Account Number")]
8 | public string AccountNumber { get; set; }
9 | [Display(Name = "Bank Name")]
10 | public string BankName { get; set; }
11 | [Display(Name = "Bank Branch")]
12 | public string BankBranch { get; set; }
13 | [Display(Name = "Bank Branch Code")]
14 | public string BankBranchCode { get; set; }
15 |
16 | }
17 | }
--------------------------------------------------------------------------------
/source/TestUtils/RandomBuilderPerformanceTest/Fortel/CompanyBankingDetails.cs:
--------------------------------------------------------------------------------
1 | namespace RandomBuilderPerformanceTest.Fortel
2 | {
3 | public class CompanyBankingDetails:BankingDetails
4 | {
5 | public bool UseOnInvoice { get; set; }
6 | }
7 | }
--------------------------------------------------------------------------------
/source/TestUtils/RandomBuilderPerformanceTest/Fortel/CompanyBankingDetailsViewModel.cs:
--------------------------------------------------------------------------------
1 | using System.ComponentModel.DataAnnotations;
2 |
3 | namespace RandomBuilderPerformanceTest.Fortel
4 | {
5 | public class CompanyBankingDetailsViewModel :BankingDetailsViewModel
6 | {
7 | [Display(Name = "Use on Invoice")]
8 | public bool UseOnInvoice { get; set; }
9 |
10 |
11 | }
12 | }
--------------------------------------------------------------------------------
/source/TestUtils/RandomBuilderPerformanceTest/Fortel/ContactExtensions.cs:
--------------------------------------------------------------------------------
1 | namespace RandomBuilderPerformanceTest.Fortel
2 | {
3 | public static class ContactExtensions
4 | {
5 | public static string AsFullName(this Contact contact)
6 | {
7 | return contact == null ? "" : $"{contact.FirstNames ?? contact.Initials} {contact.Surname}".Trim();
8 | }
9 |
10 | public static string AsInitialAndSurname(this Contact contact)
11 | {
12 | return contact == null ? "" : $"{contact.Initials} {contact.Surname}".Trim();
13 | }
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/source/TestUtils/RandomBuilderPerformanceTest/Fortel/ContactNumber.cs:
--------------------------------------------------------------------------------
1 | namespace RandomBuilderPerformanceTest.Fortel
2 | {
3 | public class ContactNumber : EntityBase
4 | {
5 | public string Number { get; set; }
6 | public ContactNumberType ContactNumberType { get; set; }
7 | }
8 | }
--------------------------------------------------------------------------------
/source/TestUtils/RandomBuilderPerformanceTest/Fortel/ContactNumberType.cs:
--------------------------------------------------------------------------------
1 | using System.ComponentModel;
2 | using System.ComponentModel.DataAnnotations;
3 |
4 | namespace RandomBuilderPerformanceTest.Fortel
5 | {
6 | public enum ContactNumberType
7 | {
8 | [Display(Name = "Landline Number")]
9 | [Description("Landline Number")]
10 | LandlineNumber,
11 | [Display(Name = "Fax Number")]
12 | [Description("Fax Number")]
13 | FaxNumber,
14 | [Display(Name = "Cellphone Number")]
15 | [Description("Cellphone Number")]
16 | CellphoneNumber
17 | }
18 | }
--------------------------------------------------------------------------------
/source/TestUtils/RandomBuilderPerformanceTest/Fortel/ContactNumberViewModel.cs:
--------------------------------------------------------------------------------
1 | namespace RandomBuilderPerformanceTest.Fortel
2 | {
3 | public class ContactNumberViewModel
4 | {
5 | public string Number { get; set; }
6 | public ContactNumberType ContactNumberType { get; set; }
7 | }
8 | }
--------------------------------------------------------------------------------
/source/TestUtils/RandomBuilderPerformanceTest/Fortel/ContractDetails.cs:
--------------------------------------------------------------------------------
1 | namespace RandomBuilderPerformanceTest.Fortel
2 | {
3 | public class ContractDetails:EntityBase
4 | {
5 | public string ContractNumber { get; set; }
6 | public string VendorCode { get; set; }
7 | }
8 | }
--------------------------------------------------------------------------------
/source/TestUtils/RandomBuilderPerformanceTest/Fortel/ContractDetailsViewModel.cs:
--------------------------------------------------------------------------------
1 | namespace RandomBuilderPerformanceTest.Fortel
2 | {
3 | public class ContractDetailsViewModel:ViewModelBase
4 | {
5 | public string ContractNumber { get; set; }
6 | public string VendorCode { get; set; }
7 | }
8 | }
--------------------------------------------------------------------------------
/source/TestUtils/RandomBuilderPerformanceTest/Fortel/Coordinate.cs:
--------------------------------------------------------------------------------
1 | namespace RandomBuilderPerformanceTest.Fortel
2 | {
3 | public class Coordinate
4 | {
5 | public int SequenceNumber { get; set; }
6 | public decimal Latitude { get; set; }
7 | public decimal Longitude { get; set; }
8 | public decimal Distance { get; set; }
9 | }
10 | }
--------------------------------------------------------------------------------
/source/TestUtils/RandomBuilderPerformanceTest/Fortel/CoordinateViewModel.cs:
--------------------------------------------------------------------------------
1 | using System.ComponentModel.DataAnnotations;
2 |
3 | namespace RandomBuilderPerformanceTest.Fortel
4 | {
5 | public class CoordinateViewModel
6 | {
7 | public int SequenceNumber { get; set; }
8 | [DisplayFormat(DataFormatString = "{0:N6}") ]
9 | public decimal Latitude { get; set; }
10 | [DisplayFormat(DataFormatString = "{0:N6}")]
11 | public decimal Longitude { get; set; }
12 | [DisplayFormat(DataFormatString = "{0:N1}")]
13 | public decimal Distance { get; set; }
14 | }
15 | }
--------------------------------------------------------------------------------
/source/TestUtils/RandomBuilderPerformanceTest/Fortel/DefaultDateTimeProvider.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace RandomBuilderPerformanceTest.Fortel
4 | {
5 | public class DefaultDateTimeProvider : IDateTimeProvider
6 | {
7 | public DateTime Now
8 | {
9 | get { return DateTime.Now; }
10 | }
11 |
12 | public DateTime Today
13 | {
14 | get { return DateTime.Today; }
15 | }
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/source/TestUtils/RandomBuilderPerformanceTest/Fortel/DocumentType.cs:
--------------------------------------------------------------------------------
1 | namespace RandomBuilderPerformanceTest.Fortel
2 | {
3 | public enum DocumentType
4 | {
5 | JobCard,
6 | QA,
7 | Recon,
8 | IE101,
9 | Invoice,
10 | Report,
11 | OrderDetails,
12 | InitialJobCard,
13 | FinalJobCard
14 | }
15 | }
--------------------------------------------------------------------------------
/source/TestUtils/RandomBuilderPerformanceTest/Fortel/Domain.cs:
--------------------------------------------------------------------------------
1 | namespace RandomBuilderPerformanceTest.Fortel
2 | {
3 | public class Domain : EntityBase
4 | {
5 | public string Code { get; set; }
6 | public string Category { get; set; }
7 | public string DomainType { get; set; }
8 | public bool FilterByWorkType { get; set; }
9 | }
10 | }
--------------------------------------------------------------------------------
/source/TestUtils/RandomBuilderPerformanceTest/Fortel/DomainDescriptor.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace RandomBuilderPerformanceTest.Fortel
4 | {
5 | public class DomainDescriptor : EntityBase
6 | {
7 | public string Domain { get; set; }
8 | public string WorkType { get; set; }
9 | public string ContractNumber { get; set; }
10 | public DateTime StartDate { get; set; }
11 | public DateTime EndDate { get; set; }
12 | public string Descriptor { get; set; }
13 | }
14 | }
--------------------------------------------------------------------------------
/source/TestUtils/RandomBuilderPerformanceTest/Fortel/DomainDescriptorSearchViewModel.cs:
--------------------------------------------------------------------------------
1 | using System.ComponentModel.DataAnnotations;
2 | using System.Web.Mvc;
3 |
4 | namespace RandomBuilderPerformanceTest.Fortel
5 | {
6 | public class DomainDescriptorSearchViewModel
7 | {
8 | public SelectList DomainSelectList { get; set; }
9 | [Display(Name = "Domain")]
10 | public string Domain { get; set; }
11 | [Display(Name = "Only display active descriptors")]
12 | public bool OnlyDisplayActiveDescriptors { get; set; }
13 | }
14 | }
--------------------------------------------------------------------------------
/source/TestUtils/RandomBuilderPerformanceTest/Fortel/DomainViewModel.cs:
--------------------------------------------------------------------------------
1 | namespace RandomBuilderPerformanceTest.Fortel
2 | {
3 | public class DomainViewModel : ViewModelBase
4 | {
5 | public string DomainType { get; set; }
6 | }
7 | }
--------------------------------------------------------------------------------
/source/TestUtils/RandomBuilderPerformanceTest/Fortel/ElectronicChecklist.cs:
--------------------------------------------------------------------------------
1 | namespace RandomBuilderPerformanceTest.Fortel
2 | {
3 | public class ElectronicChecklist : EntityBase
4 | {
5 | public string FormType { get; set; }
6 | public dynamic FormData { get; set; }
7 | }
8 | }
--------------------------------------------------------------------------------
/source/TestUtils/RandomBuilderPerformanceTest/Fortel/ElectronicChecklistViewModel.cs:
--------------------------------------------------------------------------------
1 | namespace RandomBuilderPerformanceTest.Fortel
2 | {
3 | public class ElectronicChecklistViewModel : ViewModelBase
4 | {
5 | public string FormType { get; set; }
6 | public dynamic FormData { get; set; }
7 | }
8 | }
--------------------------------------------------------------------------------
/source/TestUtils/RandomBuilderPerformanceTest/Fortel/EntityBase.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using MongoDB.Bson;
3 |
4 | namespace RandomBuilderPerformanceTest.Fortel
5 | {
6 | public class EntityBase
7 | {
8 | public string Id { get; set; }
9 | public DateTime DateCreated { get; set; }
10 | public string CreatedUsername { get; set; }
11 | public DateTime DateLastModified { get; set; }
12 | public string LastModifiedUsername { get; set; }
13 | public BsonDocument ExtraElements { get; set; }
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/source/TestUtils/RandomBuilderPerformanceTest/Fortel/ExchangeAreaViewModel.cs:
--------------------------------------------------------------------------------
1 | namespace RandomBuilderPerformanceTest.Fortel
2 | {
3 | public class ExchangeAreaViewModel
4 | {
5 | public string Id { get; set; }
6 | public string ExchangeCode { get; set; }
7 | public string SiteLocation { get; set; }
8 | public string Turf { get; set; }
9 | public string AreaLocation { get; set; }
10 | public string Region { get; set; }
11 | public string Country { get; set; }
12 | }
13 | }
--------------------------------------------------------------------------------
/source/TestUtils/RandomBuilderPerformanceTest/Fortel/FinNumber.cs:
--------------------------------------------------------------------------------
1 | namespace RandomBuilderPerformanceTest.Fortel
2 | {
3 | public class FinNumber
4 | {
5 | public int Year { get; set; }
6 | public int SequenceNumber { get; set; }
7 | public string TypeIdentifier { get; set; }
8 | }
9 | }
--------------------------------------------------------------------------------
/source/TestUtils/RandomBuilderPerformanceTest/Fortel/GenericSaveStatus.cs:
--------------------------------------------------------------------------------
1 | namespace RandomBuilderPerformanceTest.Fortel
2 | {
3 | public class GenericSaveStatus
4 | {
5 | public bool Status { get; set; }
6 | public string Message { get; set; }
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/source/TestUtils/RandomBuilderPerformanceTest/Fortel/GridFsFile.cs:
--------------------------------------------------------------------------------
1 | namespace RandomBuilderPerformanceTest.Fortel
2 | {
3 | public struct GridFsFile
4 | {
5 | public string FileName { get; set; }
6 | public byte[] Bytes { get; set; }
7 | }
8 | }
--------------------------------------------------------------------------------
/source/TestUtils/RandomBuilderPerformanceTest/Fortel/IDateTimeProvider.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace RandomBuilderPerformanceTest.Fortel
4 | {
5 | public interface IDateTimeProvider
6 | {
7 | DateTime Now { get; }
8 | DateTime Today { get; }
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/source/TestUtils/RandomBuilderPerformanceTest/Fortel/IDomainDescriptorFinder.cs:
--------------------------------------------------------------------------------
1 | namespace RandomBuilderPerformanceTest.Fortel
2 | {
3 | public interface IDomainDescriptorFinder
4 | {
5 | DomainDescriptor FindDescriptorForOrder(Order order);
6 | }
7 | }
--------------------------------------------------------------------------------
/source/TestUtils/RandomBuilderPerformanceTest/Fortel/IFinNumberGenerator.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace RandomBuilderPerformanceTest.Fortel
4 | {
5 | public interface IFinNumberGenerator
6 | {
7 | FinNumber GetNextFinNumber(DateTime date);
8 | FinNumber GetNextJobNumber(Order order);
9 | FinNumber GetNextReconNumber(Order order);
10 | FinNumber GetNextInvoiceNumber();
11 | string GetNextQaNumber(Job job);
12 | FinNumber GetLatestInvoiceNumber();
13 | }
14 | }
--------------------------------------------------------------------------------
/source/TestUtils/RandomBuilderPerformanceTest/Fortel/IUploadedFile.cs:
--------------------------------------------------------------------------------
1 | using System.IO;
2 |
3 | namespace RandomBuilderPerformanceTest.Fortel
4 | {
5 | public interface IUploadedFile
6 | {
7 | bool HasFile { get; }
8 | string FileName { get; }
9 | Stream InputStream { get; }
10 | }
11 | }
--------------------------------------------------------------------------------
/source/TestUtils/RandomBuilderPerformanceTest/Fortel/ImajinConfig.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace RandomBuilderPerformanceTest.Fortel
4 | {
5 | public class ImajinConfig : EntityBase
6 | {
7 | public string ApiUrl { get; set; }
8 | public string OrganizationId { get; set; }
9 | public DateTime DateLastSync { get; set; }
10 | public int ResyncOverlapMinutes { get; set; }
11 |
12 |
13 | public string ApiClientId { get; set; }
14 | public string ApiClientSecret { get; set; }
15 | public string ApiScope { get; set; }
16 | public string ApiUsername { get; set; }
17 | public string ApiPassword { get; set; }
18 | }
19 | }
--------------------------------------------------------------------------------
/source/TestUtils/RandomBuilderPerformanceTest/Fortel/ImajinRecord.cs:
--------------------------------------------------------------------------------
1 | namespace RandomBuilderPerformanceTest.Fortel
2 | {
3 | public class ImajinRecord : EntityBase
4 | {
5 | public ImajinRecordType RecordType { get; set; }
6 | public string ImajinId { get; set; }
7 | public string ContactId { get; set; }
8 | }
9 | }
--------------------------------------------------------------------------------
/source/TestUtils/RandomBuilderPerformanceTest/Fortel/ImajinRecordType.cs:
--------------------------------------------------------------------------------
1 | namespace RandomBuilderPerformanceTest.Fortel
2 | {
3 | public enum ImajinRecordType
4 | {
5 | WorkItem = 1,
6 | NewServiceItemEvent = 2,
7 | ActualQuantityEvent = 3,
8 | SiteDiaryEvent = 4
9 | }
10 | }
--------------------------------------------------------------------------------
/source/TestUtils/RandomBuilderPerformanceTest/Fortel/Invoice.cs:
--------------------------------------------------------------------------------
1 | namespace RandomBuilderPerformanceTest.Fortel
2 | {
3 | public class Invoice : EntityBase
4 | {
5 | public Recon Recon { get; set; }
6 | public Status Status { get; set; }
7 | public FinNumber FinNumber { get; set; }
8 | public string GeneratedInvoiceNumber { get; set; }
9 | public string FortelInvoiceNumber { get; set; }
10 | public string CancellationReason { get; set; }
11 | }
12 | }
--------------------------------------------------------------------------------
/source/TestUtils/RandomBuilderPerformanceTest/Fortel/InvoiceNumbering.cs:
--------------------------------------------------------------------------------
1 | namespace RandomBuilderPerformanceTest.Fortel
2 | {
3 | public class InvoiceNumbering : EntityBase
4 | {
5 | public InvoiceNumberingType InvoiceNumberingType { get; set; }
6 | public int SequenceNumber { get; set; }
7 | }
8 | }
--------------------------------------------------------------------------------
/source/TestUtils/RandomBuilderPerformanceTest/Fortel/InvoiceNumberingType.cs:
--------------------------------------------------------------------------------
1 | namespace RandomBuilderPerformanceTest.Fortel
2 | {
3 | public enum InvoiceNumberingType
4 | {
5 | Internal = 1,
6 | Telkom = 2
7 | }
8 | }
--------------------------------------------------------------------------------
/source/TestUtils/RandomBuilderPerformanceTest/Fortel/InvoiceNumberingViewModel.cs:
--------------------------------------------------------------------------------
1 | namespace RandomBuilderPerformanceTest.Fortel
2 | {
3 | public class InvoiceNumberingViewModel
4 | {
5 | public string Id { get; set; }
6 | public int SequenceNumber { get; set; }
7 | public string LatestInvoiceNumber { get; set; }
8 | public string NextInvoiceNumber { get; set; }
9 | public bool OtherInvoiceTypes { get; set; }
10 | public InvoiceNumberingType InvoiceNumberingType { get; set; }
11 | }
12 | }
--------------------------------------------------------------------------------
/source/TestUtils/RandomBuilderPerformanceTest/Fortel/InvoicePaymentRecon.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace RandomBuilderPerformanceTest.Fortel
4 | {
5 | public class InvoicePaymentRecon : EntityBase
6 | {
7 | public int RowNumber { get; set; }
8 | public string InvoiceNumber { get; set; }
9 | public DateTime PaymentDate { get; set; }
10 | public string PaymentReference { get; set; }
11 | public decimal PaymentAmount { get; set; }
12 | public string InvoiceId { get; set; }
13 | }
14 | }
--------------------------------------------------------------------------------
/source/TestUtils/RandomBuilderPerformanceTest/Fortel/InvoicePaymentReconViewModel.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Web.Mvc;
3 |
4 | namespace RandomBuilderPerformanceTest.Fortel
5 | {
6 | public class InvoicePaymentReconViewModel : ViewModelBase
7 | {
8 | public string OrderId { get; set; }
9 | public string InvoiceNumber { get; set; }
10 | public int RowNumber { get; set; }
11 | public DateTime PaymentDate { get; set; }
12 | public decimal PaymentAmount { get; set; }
13 | public string PaymentReference { get; set; }
14 | public SelectList InvoiceSelectList { get; set; }
15 | public string InvoiceId { get; set; }
16 | }
17 | }
--------------------------------------------------------------------------------
/source/TestUtils/RandomBuilderPerformanceTest/Fortel/LibraryDocument.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace RandomBuilderPerformanceTest.Fortel
4 | {
5 | public class LibraryDocument : EntityBase
6 | {
7 | public string FileId { get; set; }
8 | public DateTime? DateGenerated { get; set; }
9 | public string GeneratedBy { get; set; }
10 | public string DocumentType { get; set; }
11 |
12 | public LibraryDocumentDetails Details { get; set; }
13 | }
14 | }
--------------------------------------------------------------------------------
/source/TestUtils/RandomBuilderPerformanceTest/Fortel/LibraryDocumentDetails.cs:
--------------------------------------------------------------------------------
1 |
2 | namespace RandomBuilderPerformanceTest.Fortel
3 | {
4 |
5 | public class LibraryDocumentDetails
6 | {
7 |
8 | }
9 | }
--------------------------------------------------------------------------------
/source/TestUtils/RandomBuilderPerformanceTest/Fortel/LibraryDocumentDetailsInvoice.cs:
--------------------------------------------------------------------------------
1 | namespace RandomBuilderPerformanceTest.Fortel
2 | {
3 | public class LibraryDocumentDetailsInvoice : LibraryDocumentDetails
4 | {
5 | public string FinNumber { get; set; }
6 | public string DocumentFinNumber { get; set; }
7 | public string GeneratedInvoiceNumber { get; set; }
8 | }
9 | }
--------------------------------------------------------------------------------
/source/TestUtils/RandomBuilderPerformanceTest/Fortel/LibraryDocumentDetailsInvoiceViewModel.cs:
--------------------------------------------------------------------------------
1 | namespace RandomBuilderPerformanceTest.Fortel
2 | {
3 | public class LibraryDocumentDetailsInvoiceViewModel : LibraryDocumentDetailsViewModel
4 | {
5 | public string FinNumber { get; set; }
6 | public string DocumentFinNumber { get; set; }
7 | public string GeneratedInvoiceNumber { get; set; }
8 |
9 | public override string ToString()
10 | {
11 | return $"FIN Number: {FinNumber}\nDocument FIN Number: {DocumentFinNumber}\nGenerated Invoice Number: {GeneratedInvoiceNumber}";
12 |
13 | }
14 | }
15 | }
--------------------------------------------------------------------------------
/source/TestUtils/RandomBuilderPerformanceTest/Fortel/LibraryDocumentDetailsOrder.cs:
--------------------------------------------------------------------------------
1 | namespace RandomBuilderPerformanceTest.Fortel
2 | {
3 | public class LibraryDocumentDetailsOrder : LibraryDocumentDetails
4 | {
5 | public string FinNumber { get; set; }
6 | public string DocumentFinNumber { get; set; }
7 | }
8 | }
--------------------------------------------------------------------------------
/source/TestUtils/RandomBuilderPerformanceTest/Fortel/LibraryDocumentDetailsOrderViewModel.cs:
--------------------------------------------------------------------------------
1 | namespace RandomBuilderPerformanceTest.Fortel
2 | {
3 | public class LibraryDocumentDetailsOrderViewModel : LibraryDocumentDetailsViewModel
4 | {
5 | public string FinNumber { get; set; }
6 | public string DocumentFinNumber { get; set; }
7 |
8 | public override string ToString()
9 | {
10 | return $"FIN Number: {FinNumber}\nDocument FIN Number: {DocumentFinNumber}";
11 |
12 | }
13 | }
14 | }
--------------------------------------------------------------------------------
/source/TestUtils/RandomBuilderPerformanceTest/Fortel/LibraryDocumentDetailsReport.cs:
--------------------------------------------------------------------------------
1 | using System.Collections.Generic;
2 |
3 | namespace RandomBuilderPerformanceTest.Fortel
4 | {
5 | public class LibraryDocumentDetailsReport : LibraryDocumentDetails
6 | {
7 | public string ReportScheduleId { get; set; }
8 | public string ReportName { get; set; }
9 | public Dictionary ParameterValues { get; set; }
10 | public List Recipients { get; set; }
11 | }
12 | }
--------------------------------------------------------------------------------
/source/TestUtils/RandomBuilderPerformanceTest/Fortel/LibraryDocumentDetailsViewModel.cs:
--------------------------------------------------------------------------------
1 | namespace RandomBuilderPerformanceTest.Fortel
2 | {
3 | public class LibraryDocumentDetailsViewModel
4 | {
5 |
6 | }
7 | }
--------------------------------------------------------------------------------
/source/TestUtils/RandomBuilderPerformanceTest/Fortel/LibraryDocumentSearchViewModel.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Web.Mvc;
3 |
4 | namespace RandomBuilderPerformanceTest.Fortel
5 | {
6 | public class LibraryDocumentSearchViewModel
7 | {
8 | public DateTime? FromDate { get; set; }
9 | public DateTime? ToDate { get; set; }
10 | public string DocumentType { get; set; }
11 | public string GeneratedBy { get; set; }
12 | public SelectList GeneratedBySelectList { get; set; }
13 | public SelectList DocumentTypeSelectList { get; set; }
14 | }
15 | }
--------------------------------------------------------------------------------
/source/TestUtils/RandomBuilderPerformanceTest/Fortel/LibraryDocumentViewModel.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace RandomBuilderPerformanceTest.Fortel
4 | {
5 | public class LibraryDocumentViewModel
6 | {
7 | public string FileId { get; set; }
8 | public DateTime? DateGenerated { get; set; }
9 | public string GeneratedBy { get; set; }
10 | public string DocumentType { get; set; }
11 | public LibraryDocumentDetailsViewModel Details { get; set; }
12 | }
13 | }
--------------------------------------------------------------------------------
/source/TestUtils/RandomBuilderPerformanceTest/Fortel/LocationType.cs:
--------------------------------------------------------------------------------
1 | using System.ComponentModel.DataAnnotations;
2 |
3 | namespace RandomBuilderPerformanceTest.Fortel
4 | {
5 | public enum LocationType
6 | {
7 | [Display(Name = "Telkom Yard")]
8 | TelkomYard,
9 | [Display(Name = "Site Location")]
10 | SiteLocation,
11 | [Display(Name = "Fortel Yard")]
12 | FortelYard
13 | }
14 |
15 | }
--------------------------------------------------------------------------------
/source/TestUtils/RandomBuilderPerformanceTest/Fortel/Log.cs:
--------------------------------------------------------------------------------
1 | namespace RandomBuilderPerformanceTest.Fortel
2 | {
3 | public class Log : EntityBase
4 | {
5 | public dynamic Before { get; set; }
6 | public dynamic After { get; set; }
7 | public OperationType OperationType { get; set; }
8 | public string ObjectType { get; set; }
9 | }
10 | }
--------------------------------------------------------------------------------
/source/TestUtils/RandomBuilderPerformanceTest/Fortel/OperationType.cs:
--------------------------------------------------------------------------------
1 | namespace RandomBuilderPerformanceTest.Fortel
2 | {
3 | public enum OperationType
4 | {
5 | Create,
6 | Modify,
7 | Delete,
8 | Cancel
9 | }
10 | }
--------------------------------------------------------------------------------
/source/TestUtils/RandomBuilderPerformanceTest/Fortel/PdfEmbeddedFont.cs:
--------------------------------------------------------------------------------
1 | namespace RandomBuilderPerformanceTest.Fortel
2 | {
3 | public class PdfEmbeddedFont : EntityBase
4 | {
5 | public string Name { get; set; }
6 | public byte[] FontData { get; set; }
7 | }
8 | }
--------------------------------------------------------------------------------
/source/TestUtils/RandomBuilderPerformanceTest/Fortel/PdfFragment.cs:
--------------------------------------------------------------------------------
1 | namespace RandomBuilderPerformanceTest.Fortel
2 | {
3 | public class PdfFragment : EntityBase
4 | {
5 | public string Name { get; set; }
6 | public byte[] Fragment { get; set; }
7 | }
8 | }
--------------------------------------------------------------------------------
/source/TestUtils/RandomBuilderPerformanceTest/Fortel/PenaltyAmountParametersViewModel.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace RandomBuilderPerformanceTest.Fortel
4 | {
5 | public class PenaltyAmountParametersViewModel
6 | {
7 | public string OrderId { get; set; }
8 | public string[] JobIds { get; set; }
9 | public int NumberOfShePenalties { get; set; }
10 | public DateTime? ActualStartDate { get; set; }
11 | public DateTime? ActualEndDate { get; set; }
12 | public DateTime? ContractStartDate { get; set; }
13 | public DateTime? ContractEndDate { get; set; }
14 | }
15 | }
--------------------------------------------------------------------------------
/source/TestUtils/RandomBuilderPerformanceTest/Fortel/QualityAssurance.cs:
--------------------------------------------------------------------------------
1 | using System.Collections.Generic;
2 |
3 | namespace RandomBuilderPerformanceTest.Fortel
4 | {
5 | public class QualityAssurance : EntityBase
6 | {
7 | public string QualityAssuranceNumber { get; set; }
8 | public List Attachments { get; set; }
9 | public Status Status { get; set; }
10 | public bool ByPassedQa { get; set; }
11 | public ElectronicChecklist ElectronicChecklist { get; set; }
12 | }
13 | }
--------------------------------------------------------------------------------
/source/TestUtils/RandomBuilderPerformanceTest/Fortel/Rate.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace RandomBuilderPerformanceTest.Fortel
4 | {
5 | public class Rate : EntityBase
6 | {
7 | public decimal Value { get; set; }
8 | public DateTime EffectiveDate { get; set; }
9 | }
10 | }
--------------------------------------------------------------------------------
/source/TestUtils/RandomBuilderPerformanceTest/Fortel/RateViewModel.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.ComponentModel.DataAnnotations;
3 |
4 | namespace RandomBuilderPerformanceTest.Fortel
5 | {
6 | public class RateViewModel : ViewModelBase
7 | {
8 | [Required]
9 | [Display(Name = "Rate Value")]
10 | public decimal Value { get; set; }
11 | [Required]
12 | [Display(Name = "Rate Effective Date")]
13 | public DateTime EffectiveDate { get; set; }
14 | }
15 | }
--------------------------------------------------------------------------------
/source/TestUtils/RandomBuilderPerformanceTest/Fortel/ReceiptMethod.cs:
--------------------------------------------------------------------------------
1 | namespace RandomBuilderPerformanceTest.Fortel
2 | {
3 | public class ReceiptMethod : EntityBase
4 | {
5 | public string Code { get; set; }
6 | public string Description { get; set; }
7 | }
8 | }
--------------------------------------------------------------------------------
/source/TestUtils/RandomBuilderPerformanceTest/Fortel/Region.cs:
--------------------------------------------------------------------------------
1 | namespace RandomBuilderPerformanceTest.Fortel
2 | {
3 | public class Region
4 | {
5 | public string Id { get; set; }
6 | public string Description { get; set; }
7 | }
8 | }
--------------------------------------------------------------------------------
/source/TestUtils/RandomBuilderPerformanceTest/Fortel/ReportParameterType.cs:
--------------------------------------------------------------------------------
1 | namespace RandomBuilderPerformanceTest.Fortel
2 | {
3 | public enum ReportParameterType
4 | {
5 | Date,
6 | String
7 | }
8 | }
--------------------------------------------------------------------------------
/source/TestUtils/RandomBuilderPerformanceTest/Fortel/ReportSchedule.cs:
--------------------------------------------------------------------------------
1 | using System.Collections.Generic;
2 |
3 | namespace RandomBuilderPerformanceTest.Fortel
4 | {
5 | public class ReportSchedule : EntityBase
6 | {
7 | public ReportType ReportType { get; set; }
8 | public string ReportMethodName { get; set; }
9 | public List Contacts { get; set; }
10 | public List ReportScheduleParameters { get; set; }
11 | public Schedule Schedule { get; set; }
12 | }
13 | }
--------------------------------------------------------------------------------
/source/TestUtils/RandomBuilderPerformanceTest/Fortel/ReportScheduleDateParameterDetails.cs:
--------------------------------------------------------------------------------
1 | namespace RandomBuilderPerformanceTest.Fortel
2 | {
3 | public enum ReportScheduleDateParameterDetails
4 | {
5 | DirectionModifier,
6 | ModifierValue,
7 | ModifierSize
8 | }
9 | }
--------------------------------------------------------------------------------
/source/TestUtils/RandomBuilderPerformanceTest/Fortel/ReportScheduleParameter.cs:
--------------------------------------------------------------------------------
1 | using System.Collections.Generic;
2 |
3 | namespace RandomBuilderPerformanceTest.Fortel
4 | {
5 | public class ReportScheduleParameter
6 | {
7 | public string ParameterName { get; set; }
8 | public string ParameterDisplayName { get; set; }
9 | public ReportParameterType ReportParameterType { get; set; }
10 | public Dictionary Details { get; set; }
11 | }
12 | }
--------------------------------------------------------------------------------
/source/TestUtils/RandomBuilderPerformanceTest/Fortel/ReportScheduleParameterViewModel.cs:
--------------------------------------------------------------------------------
1 | using System.Collections.Generic;
2 |
3 | namespace RandomBuilderPerformanceTest.Fortel
4 | {
5 | public class ReportScheduleParameterViewModel
6 | {
7 | public string ParameterDisplayName { get; set; }
8 | public string ParameterName { get; set; }
9 | public ReportParameterType ReportParameterType { get; set; }
10 | public IDictionary Details { get; set; }
11 |
12 | }
13 | }
--------------------------------------------------------------------------------
/source/TestUtils/RandomBuilderPerformanceTest/Fortel/ReportScheduleStringParameterDetails.cs:
--------------------------------------------------------------------------------
1 | namespace RandomBuilderPerformanceTest.Fortel
2 | {
3 | public enum ReportScheduleStringParameterDetails
4 | {
5 | ParameterValue,
6 | ParameterDisplayValue
7 | }
8 | }
--------------------------------------------------------------------------------
/source/TestUtils/RandomBuilderPerformanceTest/Fortel/ReportType.cs:
--------------------------------------------------------------------------------
1 | using System.ComponentModel;
2 |
3 | namespace RandomBuilderPerformanceTest.Fortel
4 | {
5 | public enum ReportType
6 | {
7 | [Description("Job Card Summary")]
8 | JobCardSummary,
9 | [Description("Daily Update")]
10 | DailyUpdate,
11 | [Description("Order Summary")]
12 | OrderSummary,
13 | [Description("Invoice Penalties")]
14 | InvoicePenalties,
15 | [Description("Orders With No Jobs")]
16 | OrdersWithNoJobs,
17 | [Description("Customer Statement")]
18 | CustomerStatement
19 | }
20 | }
--------------------------------------------------------------------------------
/source/TestUtils/RandomBuilderPerformanceTest/Fortel/Schedule.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace RandomBuilderPerformanceTest.Fortel
4 | {
5 | public class Schedule
6 | {
7 | public ScheduleType ScheduleType { get; set; }
8 | public DateTime ExecutionTime { get; set; }
9 | public DayOfWeek? DayOfWeek { get; set; }
10 | public int? DateOfMonth { get; set; }
11 | }
12 | }
--------------------------------------------------------------------------------
/source/TestUtils/RandomBuilderPerformanceTest/Fortel/ScheduleType.cs:
--------------------------------------------------------------------------------
1 | namespace RandomBuilderPerformanceTest.Fortel
2 | {
3 | public enum ScheduleType
4 | {
5 | Daily,
6 | Weekly,
7 | Monthly
8 |
9 | }
10 | }
--------------------------------------------------------------------------------
/source/TestUtils/RandomBuilderPerformanceTest/Fortel/ScheduleViewModel.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace RandomBuilderPerformanceTest.Fortel
4 | {
5 | public class ScheduleViewModel
6 | {
7 | public ScheduleType ScheduleType { get; set; }
8 | public DateTime ExecutionTime { get; set; }
9 | public int ExecutionHours { get; set; }
10 | public int ExecutionMinutes { get; set; }
11 | public int MinuteOffSet { get; set; }
12 | public DayOfWeek? DayOfWeek { get; set; }
13 | public int? DateOfMonth { get; set; }
14 | }
15 | }
--------------------------------------------------------------------------------
/source/TestUtils/RandomBuilderPerformanceTest/Fortel/SiteDiary.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 |
4 | namespace RandomBuilderPerformanceTest.Fortel
5 | {
6 | public class SiteDiary : EntityBase
7 | {
8 | public string Description { get; set; }
9 | public List Attachments { get; set; }
10 | public DateTime SiteDiaryDate { get; set; }
11 | }
12 | }
--------------------------------------------------------------------------------
/source/TestUtils/RandomBuilderPerformanceTest/Fortel/SiteDiaryViewModel.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 |
4 | namespace RandomBuilderPerformanceTest.Fortel
5 | {
6 | public class SiteDiaryViewModel : ViewModelBase
7 | {
8 | public string Fin { get; set; }
9 | public string PoNumber { get; set; }
10 | public string Ref { get; set; }
11 | public string Description { get; set; }
12 | public List Attachments { get; set; }
13 | public DateTime? SiteDiaryDate { get; set; }
14 | public string Source { get; set; }
15 | public string Username { get; set; }
16 | }
17 | }
--------------------------------------------------------------------------------
/source/TestUtils/RandomBuilderPerformanceTest/Fortel/Team.cs:
--------------------------------------------------------------------------------
1 | namespace RandomBuilderPerformanceTest.Fortel
2 | {
3 | public class Team : EntityBase
4 | {
5 | public string Code { get; set; }
6 | public string Description { get; set; }
7 | public decimal Percentage { get; set; }
8 | public string Domain { get; set; }
9 | public bool IsActive { get; set; }
10 | public string CompanyId { get; set; }
11 | }
12 | }
--------------------------------------------------------------------------------
/source/TestUtils/RandomBuilderPerformanceTest/Fortel/TrackOrdersParametersViewModel.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace RandomBuilderPerformanceTest.Fortel
4 | {
5 | public class TrackOrdersParametersViewModel
6 | {
7 | public DateTime? FromDate { get; set; }
8 | public DateTime? ToDate { get; set; }
9 | public string FinNumber { get; set; }
10 | public string PoNumber { get; set; }
11 | public string RefNumber { get; set; }
12 | public string InvoiceNumber { get; set; }
13 | public string NetworkNumber { get; set; }
14 | }
15 | }
--------------------------------------------------------------------------------
/source/TestUtils/RandomBuilderPerformanceTest/Fortel/User.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Threading.Tasks;
3 | using Microsoft.AspNet.Identity;
4 |
5 | namespace RandomBuilderPerformanceTest.Fortel
6 | {
7 | public class User : EntityBase, IUser
8 | {
9 | public UserRole UserRole { get; set; }
10 | public string FirstNames { get; set; }
11 | public string Surname { get; set; }
12 | public string UserName { get; set; }
13 | public string HashedPassword { get; set; }
14 | public string ContactId { get; set; }
15 |
16 | public void Returns(Task userTask)
17 | {
18 | throw new NotImplementedException();
19 | }
20 | }
21 | }
--------------------------------------------------------------------------------
/source/TestUtils/RandomBuilderPerformanceTest/Fortel/UserRole.cs:
--------------------------------------------------------------------------------
1 | using System.ComponentModel.DataAnnotations;
2 |
3 | namespace RandomBuilderPerformanceTest.Fortel
4 | {
5 | public enum UserRole
6 | {
7 | [Display(Name = "Manager")]
8 | Manager,
9 |
10 | [Display(Name = "Non Admin")]
11 | NonAdmin,
12 |
13 | [Display(Name = "Administrator")]
14 | Administrator,
15 |
16 | [Display(Name = "Mobile User")]
17 | MobileUser,
18 |
19 | [Display(Name = "Third Party")]
20 | ThirdParty
21 | }
22 | }
--------------------------------------------------------------------------------
/source/TestUtils/RandomBuilderPerformanceTest/Fortel/VersionViewModel.cs:
--------------------------------------------------------------------------------
1 | namespace RandomBuilderPerformanceTest.Fortel
2 | {
3 | public class VersionViewModel
4 | {
5 | public string VersionNumber
6 | {
7 | get { return this.GetType().Assembly.GetName().Version.ToString(); }
8 | }
9 | }
10 | }
--------------------------------------------------------------------------------
/source/TestUtils/RandomBuilderPerformanceTest/Fortel/Wage.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace RandomBuilderPerformanceTest.Fortel
4 | {
5 | public class Wage : EntityBase
6 | {
7 | public DateTime StartDate { get; set; }
8 | public DateTime TerminationDate { get; set; }
9 | public string TerminationReason { get; set; }
10 | public decimal WageRate { get; set; }
11 | public WagePeriod WageEarningPeriod { get; set; }
12 | public WagePeriod WagePayoutPeriod { get; set; }
13 | }
14 | }
--------------------------------------------------------------------------------
/source/TestUtils/RandomBuilderPerformanceTest/Fortel/WagePeriod.cs:
--------------------------------------------------------------------------------
1 | using System.ComponentModel.DataAnnotations;
2 |
3 | namespace RandomBuilderPerformanceTest.Fortel
4 | {
5 | public enum WagePeriod
6 | {
7 | [Display(Name = "Unknown")]
8 | Unknown,
9 |
10 | [Display(Name = "Hourly")]
11 | Hourly,
12 |
13 | [Display(Name = "Daily")]
14 | Daily,
15 |
16 | [Display(Name = "Weekly")]
17 | Weekly,
18 |
19 | [Display(Name = "Forthnightly")]
20 | Forthnightly,
21 |
22 | [Display(Name = "Monthly")]
23 | Monthly,
24 | }
25 | }
--------------------------------------------------------------------------------
/source/TestUtils/RandomBuilderPerformanceTest/Fortel/WageViewModel.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace RandomBuilderPerformanceTest.Fortel
4 | {
5 | public class WageViewModel:ViewModelBase
6 | {
7 | public DateTime StartDate { get; set; }
8 | public DateTime TerminationDate { get; set; }
9 | public string TerminationReason { get; set; }
10 | public decimal WageRate { get; set; }
11 | public WagePeriod WageEarningPeriod { get; set; }
12 | public WagePeriod WagePayoutPeriod { get; set; }
13 | }
14 | }
--------------------------------------------------------------------------------
/source/TestUtils/RandomBuilderPerformanceTest/Fortel/WorkType.cs:
--------------------------------------------------------------------------------
1 | namespace RandomBuilderPerformanceTest.Fortel
2 | {
3 | public class WorkType : EntityBase
4 | {
5 | public string Description { get; set; }
6 | }
7 | }
--------------------------------------------------------------------------------
/source/TinyEventAggregator/PeanutButter.TinyEventAggregator/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluffynuts/PeanutButter/af9f2168c87dafed77d57f558960d8c8c1b4de37/source/TinyEventAggregator/PeanutButter.TinyEventAggregator/icon.png
--------------------------------------------------------------------------------
/source/Utils/ConsoleStepsVisualTest/ConsoleStepsVisualTest.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Exe
5 | net8.0
6 | enable
7 | enable
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/source/Utils/ConsoleStepsVisualTest/Program.cs:
--------------------------------------------------------------------------------
1 | // See https://aka.ms/new-console-template for more information
2 |
3 | using PeanutButter.Utils;
4 |
5 | var steps = ConsoleSteps.Basic();
6 | steps.Run(
7 | "milk the cow",
8 | () => Thread.Sleep(1000)
9 | );
10 |
11 | try
12 | {
13 | steps.Run(
14 | "milk the rock",
15 | () =>
16 | {
17 | Thread.Sleep(1000);
18 | throw new NotImplementedException(
19 | "can't milk a rock, dude"
20 | );
21 | }
22 | );
23 |
24 | }
25 | catch
26 | {
27 | // suppress
28 | }
--------------------------------------------------------------------------------
/source/Utils/PeanutButter.DuckTyping.Demo/DemoExtensions.cs:
--------------------------------------------------------------------------------
1 | namespace PeanutButter.DuckTyping.Demo
2 | {
3 | public static class DemoExtensions
4 | {
5 | public static bool IsString(this object ctx)
6 | {
7 | return ctx is string;
8 | }
9 | }
10 | }
--------------------------------------------------------------------------------
/source/Utils/PeanutButter.DuckTyping.Demo/OrderAttribute.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace PeanutButter.DuckTyping.Demo
4 | {
5 | public class OrderAttribute : Attribute
6 | {
7 | public int Order { get; }
8 |
9 | public OrderAttribute(int order)
10 | {
11 | Order = order;
12 | }
13 | }
14 | }
--------------------------------------------------------------------------------
/source/Utils/PeanutButter.DuckTyping.Demo/app.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/source/Utils/PeanutButter.DuckTyping.Tests/Extensions/ConnectionStringSettingsBuilder.cs:
--------------------------------------------------------------------------------
1 | using System.Configuration;
2 | using PeanutButter.RandomGenerators;
3 |
4 | namespace PeanutButter.DuckTyping.Tests.Extensions
5 | {
6 | public class ConnectionStringSettingsBuilder :
7 | GenericBuilder
8 | {
9 | public override ConnectionStringSettingsBuilder WithRandomProps()
10 | {
11 | return base.WithRandomProps().WithProp(o => o.LockItem = false);
12 | }
13 | }
14 | }
--------------------------------------------------------------------------------
/source/Utils/PeanutButter.DuckTyping.Tests/Extensions/Ext.cs:
--------------------------------------------------------------------------------
1 | using NUnit.Framework.Constraints;
2 | // ReSharper disable MemberCanBePrivate.Global
3 | // ReSharper disable UnusedMember.Global
4 | // ReSharper disable UnassignedGetOnlyAutoProperty
5 |
6 | namespace PeanutButter.DuckTyping.Tests.Extensions
7 | {
8 | public static class Ext
9 | {
10 | public static ContainsConstraint Containing(
11 | this ResolvableConstraintExpression expr,
12 | string expected
13 | )
14 | {
15 | return expr.Contain(expected);
16 | }
17 | }
18 |
19 | }
20 |
--------------------------------------------------------------------------------
/source/Utils/PeanutButter.DuckTyping.Tests/GlobalUsings.cs:
--------------------------------------------------------------------------------
1 | global using NExpect;
2 | global using static NExpect.Expectations;
--------------------------------------------------------------------------------
/source/Utils/PeanutButter.DuckTyping/AutoConversion/Converters/ConverterBase.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | #if BUILD_PEANUTBUTTER_DUCKTYPING_INTERNAL
4 | namespace Imported.PeanutButter.DuckTyping.AutoConversion.Converters
5 | #else
6 | namespace PeanutButter.DuckTyping.AutoConversion.Converters
7 | #endif
8 | {
9 | internal abstract class ConverterBase
10 | {
11 | protected bool CanConvert(
12 | Type from,
13 | Type to,
14 | Type t1,
15 | Type t2
16 | )
17 | {
18 | return (from == t1 || from == t2) &&
19 | (to == t1 || to == t2) &&
20 | (from != to);
21 | }
22 | }
23 | }
--------------------------------------------------------------------------------
/source/Utils/PeanutButter.DuckTyping/Comparers/Comparers.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | #if BUILD_PEANUTBUTTER_DUCKTYPING_INTERNAL
4 | namespace Imported.PeanutButter.DuckTyping.Comparers
5 | #else
6 | namespace PeanutButter.DuckTyping.Comparers
7 | #endif
8 | {
9 | internal static class Comparers
10 | {
11 | public static StringComparer NonFuzzyComparer => StringComparer.InvariantCulture;
12 | public static StringComparer FuzzyComparer => StringComparer.OrdinalIgnoreCase;
13 | }
14 | }
--------------------------------------------------------------------------------
/source/Utils/PeanutButter.DuckTyping/Extensions/TypeLookup.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | #if BUILD_PEANUTBUTTER_DUCKTYPING_INTERNAL
4 | namespace Imported.PeanutButter.DuckTyping.Extensions
5 | #else
6 | namespace PeanutButter.DuckTyping.Extensions
7 | #endif
8 | {
9 | internal class TypeLookup
10 | {
11 | public Type Type { get; set; }
12 | public Type FuzzyType { get; set; }
13 | }
14 | }
--------------------------------------------------------------------------------
/source/Utils/PeanutButter.DuckTyping/Shimming/IsADuckAttribute.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | #if BUILD_PEANUTBUTTER_DUCKTYPING_INTERNAL
4 | namespace Imported.PeanutButter.DuckTyping.Shimming
5 | #else
6 | namespace PeanutButter.DuckTyping.Shimming
7 | #endif
8 | {
9 | ///
10 | /// Attribute added to all types created by the TypeMaker, usually consumed
11 | /// during efforts to duck-type
12 | ///
13 | #if BUILD_PEANUTBUTTER_DUCKTYPING_INTERNAL
14 | internal
15 | #else
16 | public
17 | #endif
18 | class IsADuckAttribute : Attribute
19 | {
20 | }
21 | }
--------------------------------------------------------------------------------
/source/Utils/PeanutButter.DuckTyping/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluffynuts/PeanutButter/af9f2168c87dafed77d57f558960d8c8c1b4de37/source/Utils/PeanutButter.DuckTyping/icon.png
--------------------------------------------------------------------------------
/source/Utils/PeanutButter.EasyArgs.Consumer/PeanutButter.EasyArgs.Consumer.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Exe
5 | net8.0
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/source/Utils/PeanutButter.EasyArgs.Consumer/Program.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using PeanutButter.EasyArgs;
3 |
4 | namespace PeanutButter.EasyArgs.Consumer
5 | {
6 | class Program
7 | {
8 | static int Main(string[] args)
9 | {
10 | var opts = args.ParseTo();
11 | return 0;
12 | }
13 | }
14 |
15 | public interface IBareArgs
16 | {
17 | int Port { get; }
18 | }
19 | }
--------------------------------------------------------------------------------
/source/Utils/PeanutButter.EasyArgs/ArgParserOptionsExtensions.cs:
--------------------------------------------------------------------------------
1 | #if BUILD_PEANUTBUTTER_EASYARGS_INTERNAL
2 | namespace Imported.PeanutButter.EasyArgs
3 | #else
4 | namespace PeanutButter.EasyArgs
5 | #endif
6 | {
7 | internal static class ArgParserOptionsExtensions
8 | {
9 | internal static void ExitIfRequired(
10 | this ParserOptions opts,
11 | int exitCode
12 | )
13 | {
14 | if (opts.ExitOnError)
15 | {
16 | opts.ExitAction?.Invoke(exitCode);
17 | }
18 | }
19 | }
20 | }
--------------------------------------------------------------------------------
/source/Utils/PeanutButter.EasyArgs/Attributes/CopyrightAttribute.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | #if BUILD_PEANUTBUTTER_EASYARGS_INTERNAL
4 | namespace Imported.PeanutButter.EasyArgs.Attributes;
5 | #else
6 | namespace PeanutButter.EasyArgs.Attributes;
7 | #endif
8 | ///
9 | /// Adds more information to the help screen, as a footer
10 | ///
11 | [AttributeUsage(AttributeTargets.Property)]
12 | #if BUILD_PEANUTBUTTER_EASYARGS_INTERNAL
13 | internal
14 | #else
15 | public
16 | #endif
17 | class CopyrightAttribute : StringAttribute
18 | {
19 | ///
20 | public CopyrightAttribute(string value) : base(value)
21 | {
22 | }
23 | }
--------------------------------------------------------------------------------
/source/Utils/PeanutButter.EasyArgs/Attributes/DefaultAttribute.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | #if BUILD_PEANUTBUTTER_EASYARGS_INTERNAL
4 | namespace Imported.PeanutButter.EasyArgs.Attributes;
5 | #else
6 | namespace PeanutButter.EasyArgs.Attributes;
7 | #endif
8 | ///
9 | /// Sets the default value for a parsed argument
10 | ///
11 | [AttributeUsage(AttributeTargets.Property)]
12 | #if BUILD_PEANUTBUTTER_EASYARGS_INTERNAL
13 | internal
14 | #else
15 | public
16 | #endif
17 | class DefaultAttribute : ObjectAttribute
18 | {
19 | ///
20 | public DefaultAttribute(object value) : base(value)
21 | {
22 | }
23 | }
--------------------------------------------------------------------------------
/source/Utils/PeanutButter.EasyArgs/Attributes/DisableGeneratedShortNameAttribute.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | #if BUILD_PEANUTBUTTER_EASYARGS_INTERNAL
4 | namespace Imported.PeanutButter.EasyArgs.Attributes;
5 | #else
6 | namespace PeanutButter.EasyArgs.Attributes;
7 | #endif
8 | ///
9 | /// disables automatic short-name generation for a switch
10 | ///
11 | [AttributeUsage(AttributeTargets.Property)]
12 | #if BUILD_PEANUTBUTTER_EASYARGS_INTERNAL
13 | internal
14 | #else
15 | public
16 | #endif
17 | class DisableGeneratedShortNameAttribute : Attribute
18 | {
19 | }
--------------------------------------------------------------------------------
/source/Utils/PeanutButter.EasyArgs/Attributes/ExistingFileAttribute.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | // ReSharper disable ClassNeverInstantiated.Global
4 |
5 | #if BUILD_PEANUTBUTTER_EASYARGS_INTERNAL
6 | namespace Imported.PeanutButter.EasyArgs.Attributes;
7 | #else
8 | namespace PeanutButter.EasyArgs.Attributes;
9 | #endif
10 | ///
11 | /// Verify that the provided path is an existing file
12 | ///
13 | [AttributeUsage(AttributeTargets.Property)]
14 | #if BUILD_PEANUTBUTTER_EASYARGS_INTERNAL
15 | internal
16 | #else
17 | public
18 | #endif
19 | class ExistingFileAttribute : Attribute
20 | {
21 | }
--------------------------------------------------------------------------------
/source/Utils/PeanutButter.EasyArgs/Attributes/ExistingFolderAttribute.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | #if BUILD_PEANUTBUTTER_EASYARGS_INTERNAL
4 | namespace Imported.PeanutButter.EasyArgs.Attributes;
5 | #else
6 | namespace PeanutButter.EasyArgs.Attributes;
7 | #endif
8 | ///
9 | /// Verify that the provided path is an existing file
10 | ///
11 | [AttributeUsage(AttributeTargets.Property)]
12 | #if BUILD_PEANUTBUTTER_EASYARGS_INTERNAL
13 | internal
14 | #else
15 | public
16 | #endif
17 | class ExistingFolderAttribute : Attribute
18 | {
19 | }
--------------------------------------------------------------------------------
/source/Utils/PeanutButter.EasyArgs/Attributes/MoreInfoAttribute.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | #if BUILD_PEANUTBUTTER_EASYARGS_INTERNAL
4 | namespace Imported.PeanutButter.EasyArgs.Attributes;
5 | #else
6 | namespace PeanutButter.EasyArgs.Attributes;
7 | #endif
8 | ///
9 | /// Adds more information to the help screen, as a footer
10 | ///
11 | [AttributeUsage(AttributeTargets.Interface | AttributeTargets.Class)]
12 | #if BUILD_PEANUTBUTTER_EASYARGS_INTERNAL
13 | internal
14 | #else
15 | public
16 | #endif
17 | class MoreInfoAttribute : StringAttribute
18 | {
19 | ///
20 | public MoreInfoAttribute(string value) : base(value)
21 | {
22 | }
23 | }
--------------------------------------------------------------------------------
/source/Utils/PeanutButter.EasyArgs/Attributes/RequiredAttribute.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | #if BUILD_PEANUTBUTTER_EASYARGS_INTERNAL
4 | namespace Imported.PeanutButter.EasyArgs.Attributes;
5 | #else
6 | namespace PeanutButter.EasyArgs.Attributes;
7 | #endif
8 | ///
9 | /// Marks an option as required
10 | ///
11 | [AttributeUsage(AttributeTargets.Property)]
12 | #if BUILD_PEANUTBUTTER_EASYARGS_INTERNAL
13 | internal
14 | #else
15 | public
16 | #endif
17 | class RequiredAttribute : Attribute
18 | {
19 | }
--------------------------------------------------------------------------------
/source/Utils/PeanutButter.EasyArgs/IHasValue.cs:
--------------------------------------------------------------------------------
1 | #if BUILD_PEANUTBUTTER_EASYARGS_INTERNAL
2 | namespace Imported.PeanutButter.EasyArgs
3 | #else
4 | namespace PeanutButter.EasyArgs
5 | #endif
6 | {
7 | internal interface IHasValue
8 | {
9 | string SingleValue { get; }
10 | string[] AllValues { get; }
11 | void Add(string value);
12 | }
13 | }
--------------------------------------------------------------------------------
/source/Utils/PeanutButter.EasyArgs/SkipOnGenerationAttribute.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | ///
4 | /// Properties decorated with this are not considered
5 | /// when generating arguments from an options object
6 | ///
7 | [AttributeUsage(AttributeTargets.Property)]
8 | public class SkipOnGenerationAttribute : Attribute
9 | {
10 | }
--------------------------------------------------------------------------------
/source/Utils/PeanutButter.EasyArgs/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluffynuts/PeanutButter/af9f2168c87dafed77d57f558960d8c8c1b4de37/source/Utils/PeanutButter.EasyArgs/icon.png
--------------------------------------------------------------------------------
/source/Utils/PeanutButter.FileSystem.Tests/GlobalUsings.cs:
--------------------------------------------------------------------------------
1 | // Global using directives
2 |
3 | global using NExpect;
4 | global using NUnit.Framework;
5 | global using static NExpect.Expectations;
--------------------------------------------------------------------------------
/source/Utils/PeanutButter.FileSystem/PathNotFoundException.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace PeanutButter.FileSystem
4 | {
5 | ///
6 | /// Thrown when a provided path is not found
7 | ///
8 | public class PathNotFoundException : Exception
9 | {
10 | ///
11 | /// Thrown when a provided path is not found
12 | ///
13 | ///
14 | public PathNotFoundException(
15 | string path
16 | ) : base($"Path not found: '{path}'")
17 | {
18 | }
19 | }
20 | }
--------------------------------------------------------------------------------
/source/Utils/PeanutButter.FileSystem/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluffynuts/PeanutButter/af9f2168c87dafed77d57f558960d8c8c1b4de37/source/Utils/PeanutButter.FileSystem/icon.png
--------------------------------------------------------------------------------
/source/Utils/PeanutButter.JObjectExtensions.Tests/GlobalUsings.cs:
--------------------------------------------------------------------------------
1 | // Global using directives
2 |
3 | global using NExpect;
4 | global using NUnit.Framework;
5 | global using static NExpect.Expectations;
--------------------------------------------------------------------------------
/source/Utils/PeanutButter.JObjectExtensions/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluffynuts/PeanutButter/af9f2168c87dafed77d57f558960d8c8c1b4de37/source/Utils/PeanutButter.JObjectExtensions/icon.png
--------------------------------------------------------------------------------
/source/Utils/PeanutButter.MVC.Tests/GlobalUsings.cs:
--------------------------------------------------------------------------------
1 | // Global using directives
2 |
3 | global using NExpect;
4 | global using static NExpect.Expectations;
--------------------------------------------------------------------------------
/source/Utils/PeanutButter.MVC/IScriptBundle.cs:
--------------------------------------------------------------------------------
1 | using System.Web.Optimization;
2 |
3 | namespace PeanutButter.MVC
4 | {
5 | public interface IScriptBundle
6 | {
7 | string Name { get; }
8 | string[] IncludedPaths { get; }
9 | IncludeDirectory[] IncludedDirectories { get; }
10 | Bundle Include(params string[] relativePaths);
11 | Bundle IncludeDirectory(string directoryVirtualPath, string searchPattern);
12 | Bundle IncludeDirectory(string directoryVirtualPath, string searchPattern, bool searchSubdirectories);
13 | }
14 | }
--------------------------------------------------------------------------------
/source/Utils/PeanutButter.MVC/IStyleBundle.cs:
--------------------------------------------------------------------------------
1 | using System.Web.Optimization;
2 |
3 | namespace PeanutButter.MVC
4 | {
5 | public interface IStyleBundle
6 | {
7 | string[] IncludedPaths { get; }
8 | Bundle Include (params string[] virtualPaths);
9 | }
10 | }
--------------------------------------------------------------------------------
/source/Utils/PeanutButter.MVC/IncludeDirectory.cs:
--------------------------------------------------------------------------------
1 | namespace PeanutButter.MVC
2 | {
3 | public class IncludeDirectory
4 | {
5 | public string Path { get; }
6 | public string SearchPattern { get; }
7 | public bool SearchSubdirectories { get; }
8 | public IncludeDirectory(string path, string searchPattern = null, bool searchSubDirectories = false)
9 | {
10 | Path = path;
11 | SearchPattern = searchPattern;
12 | SearchSubdirectories = searchSubDirectories;
13 | }
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/source/Utils/PeanutButter.NetUtils.Tests/GlobalUsings.cs:
--------------------------------------------------------------------------------
1 | // Global using directives
2 |
3 | global using NExpect;
4 | global using NUnit.Framework;
5 | global using static NExpect.Expectations;
--------------------------------------------------------------------------------
/source/Utils/PeanutButter.Utils.NetCore.Tests/DeepEqualityTesterExtensions.cs:
--------------------------------------------------------------------------------
1 | namespace PeanutButter.Utils.Tests
2 | {
3 | public static class DeepEqualityTesterExtensions
4 | {
5 | public static string PrintErrors(this DeepEqualityTester tester)
6 | {
7 | return tester.Errors.Any()
8 | ? "* " + tester.Errors.JoinWith("\n *")
9 | : "";
10 | }
11 | }
12 | }
--------------------------------------------------------------------------------
/source/Utils/PeanutButter.Utils.NetCore.Tests/DictionaryBuilder.cs:
--------------------------------------------------------------------------------
1 | using PeanutButter.RandomGenerators;
2 |
3 | namespace PeanutButter.Utils.Tests
4 | {
5 | public class DictionaryBuilder
6 | : GenericBuilder, Dictionary>
7 | {
8 | public DictionaryBuilder WithItem(TKey key, TValue value)
9 | {
10 | return WithProp(o => o.Add(key, value));
11 | }
12 | }
13 | }
--------------------------------------------------------------------------------
/source/Utils/PeanutButter.Utils.NetCore.Tests/GlobalUsings.cs:
--------------------------------------------------------------------------------
1 | // Global using directives
2 |
3 | global using NExpect;
4 | global using NUnit.Framework;
5 | global using static NExpect.Expectations;
6 | global using static PeanutButter.RandomGenerators.RandomValueGen;
--------------------------------------------------------------------------------
/source/Utils/PeanutButter.Utils.NetCore.Tests/TestBooleanExtensions.cs:
--------------------------------------------------------------------------------
1 | namespace PeanutButter.Utils.Tests;
2 |
3 | [TestFixture]
4 | public class TestBooleanExtensions
5 | {
6 | [TestFixture]
7 | public class Negate
8 | {
9 | [Test]
10 | public void ShouldNegateTheValueInPlaceAndReturnIt()
11 | {
12 | // Arrange
13 | var value = GetRandomBoolean();
14 | var expected = !value;
15 | // Act
16 | var result = value.Negate();
17 | // Assert
18 | Expect(result)
19 | .To.Equal(expected);
20 | Expect(value)
21 | .To.Equal(expected);
22 | }
23 | }
24 | }
--------------------------------------------------------------------------------
/source/Utils/PeanutButter.Utils.Tests/GlobalUsings.cs:
--------------------------------------------------------------------------------
1 | global using NExpect;
2 | global using static NExpect.Expectations;
3 | global using static PeanutButter.RandomGenerators.RandomValueGen;
--------------------------------------------------------------------------------
/source/Utils/PeanutButter.Utils.Tests/TestRunOnce.cs:
--------------------------------------------------------------------------------
1 | using NUnit.Framework;
2 |
3 | namespace PeanutButter.Utils.Tests;
4 |
5 | [TestFixture]
6 | public class TestRunOnce
7 | {
8 | [Test]
9 | public void ShouldRunTheActionOnlyOnce()
10 | {
11 | // Arrange
12 | var count = 0;
13 | var run = false;
14 | // Act
15 | Run.Once(ref run, () => count++);
16 | Run.Once(ref run, () => count++);
17 | // Assert
18 | Expect(count)
19 | .To.Equal(1);
20 | }
21 | }
--------------------------------------------------------------------------------
/source/Utils/PeanutButter.Utils.Tests/TestRuntime.cs:
--------------------------------------------------------------------------------
1 | namespace PeanutButter.Utils.Tests;
2 |
3 | public class TestRuntime
4 | {
5 | }
--------------------------------------------------------------------------------
/source/Utils/PeanutButter.Utils/CannotZipNullException.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | #if BUILD_PEANUTBUTTER_INTERNAL
4 | namespace Imported.PeanutButter.Utils
5 | #else
6 | namespace PeanutButter.Utils
7 | #endif
8 | {
9 | ///
10 | /// Thrown when an attempt is made to strict-zip null and anything else
11 | ///
12 | #if BUILD_PEANUTBUTTER_INTERNAL
13 | internal
14 | #else
15 | public
16 | #endif
17 | class CannotZipNullException : Exception
18 | {
19 | ///
20 | public CannotZipNullException() : base("Cannot zip null value")
21 | {
22 | }
23 | }
24 | }
--------------------------------------------------------------------------------
/source/Utils/PeanutButter.Utils/IBackoffStrategy.cs:
--------------------------------------------------------------------------------
1 | namespace
2 | #if BUILD_PEANUTBUTTER_INTERNAL
3 | Imported.PeanutButter.Utils;
4 | #else
5 | PeanutButter.Utils;
6 | #endif
7 | ///
8 | /// Describes a service which backs off (ie, waits)
9 | /// according to the retry attempt number
10 | ///
11 | #if BUILD_PEANUTBUTTER_INTERNAL
12 | internal
13 | #else
14 | public
15 | #endif
16 | interface IBackoffStrategy
17 | {
18 | ///
19 | /// Waits for an amount of time relevant to the attempt
20 | ///
21 | ///
22 | void Backoff(int attempt);
23 | }
--------------------------------------------------------------------------------
/source/Utils/PeanutButter.Utils/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluffynuts/PeanutButter/af9f2168c87dafed77d57f558960d8c8c1b4de37/source/Utils/PeanutButter.Utils/icon.png
--------------------------------------------------------------------------------
/source/Utils/PeanutButter.Utils/tools/init.ps1:
--------------------------------------------------------------------------------
1 | # Runs the first time a package is installed in a solution, and every time the solution is opened.
2 |
3 | param($installPath, $toolsPath, $package, $project)
4 |
5 | # $installPath is the path to the folder where the package is installed.
6 | # $toolsPath is the path to the tools directory in the folder where the package is installed.
7 | # $package is a reference to the package object.
8 | # $project is null in init.ps1
9 | Import-Module (Join-Path $toolsPath UpdatePeanutButter.psm1)
10 |
--------------------------------------------------------------------------------
/source/Utils/PeanutButter.Utils/tools/install.ps1:
--------------------------------------------------------------------------------
1 | # Runs every time a package is installed in a project
2 |
3 | param($installPath, $toolsPath, $package, $project)
4 |
5 | # $installPath is the path to the folder where the package is installed.
6 | # $toolsPath is the path to the tools directory in the folder where the package is installed.
7 | # $package is a reference to the package object.
8 | # $project is a reference to the project the package was installed to.
9 |
--------------------------------------------------------------------------------
/source/Utils/PeanutButter.Utils/tools/uninstall.ps1:
--------------------------------------------------------------------------------
1 | # Runs every time a package is uninstalled
2 |
3 | param($installPath, $toolsPath, $package, $project)
4 |
5 | # $installPath is the path to the folder where the package is installed.
6 | # $toolsPath is the path to the tools directory in the folder where the package is installed.
7 | # $package is a reference to the package object.
8 | # $project is a reference to the project the package was installed to.
9 |
--------------------------------------------------------------------------------
/source/Utils/PeanutButter.XmlUtils/Properties/AssemblyInfo.cs:
--------------------------------------------------------------------------------
1 | using System.Reflection;
2 | using System.Runtime.InteropServices;
3 |
4 | [assembly: AssemblyCopyright("Copyright © 2014")]
5 | [assembly: AssemblyTrademark("")]
6 | [assembly: AssemblyCulture("")]
7 |
8 | // Setting ComVisible to false makes the types in this assembly not visible
9 | // to COM components. If you need to access a type in this assembly from
10 | // COM, set the ComVisible attribute to true on that type.
11 | [assembly: ComVisible(false)]
12 |
13 | // The following GUID is for the ID of the typelib if this project is exposed to COM
14 | [assembly: Guid("ab91a123-fc3c-46c0-b4d3-08635c424182")]
15 |
16 |
--------------------------------------------------------------------------------
/source/Utils/PeanutButter.XmlUtils/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluffynuts/PeanutButter/af9f2168c87dafed77d57f558960d8c8c1b4de37/source/Utils/PeanutButter.XmlUtils/icon.png
--------------------------------------------------------------------------------
/source/Win32Service/DotNetService/DotNetService.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Exe
5 | net8.0
6 | enable
7 | disable
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
--------------------------------------------------------------------------------
/source/Win32Service/PeanutButter.ServiceShell.NetCore.Tests/GlobalUsings.cs:
--------------------------------------------------------------------------------
1 | global using NUnit.Framework;
2 | global using NExpect;
3 | global using static NExpect.Expectations;
--------------------------------------------------------------------------------
/source/Win32Service/PeanutButter.ServiceShell.Tests/AnotherService.cs:
--------------------------------------------------------------------------------
1 | namespace PeanutButter.ServiceShell.Tests
2 | {
3 | // ReSharper disable once ClassNeverInstantiated.Global
4 | public class AnotherService: Shell
5 | {
6 | protected override void RunOnce()
7 | {
8 | throw new System.NotImplementedException();
9 | }
10 | }
11 | }
--------------------------------------------------------------------------------
/source/Win32Service/PeanutButter.ServiceShell.Tests/GlobalSetup.cs:
--------------------------------------------------------------------------------
1 | using NUnit.Framework;
2 | using PeanutButter.Utils;
3 |
4 | namespace PeanutButter.ServiceShell.Tests
5 | {
6 | [SetUpFixture]
7 | public class GlobalSetup
8 | {
9 | [OneTimeSetUp]
10 | public void OneTimeSetup()
11 | {
12 | if (!Platform.IsWindows)
13 | {
14 | Assert.Ignore("Windows-specific tests");
15 | }
16 | }
17 | }
18 | }
--------------------------------------------------------------------------------
/source/Win32Service/PeanutButter.ServiceShell.Tests/PeanutButter.ServiceShell.Tests.csproj.DotSettings:
--------------------------------------------------------------------------------
1 |
2 | CSharp80
--------------------------------------------------------------------------------
/source/Win32Service/PeanutButter.ServiceShell.Tests/Program.cs:
--------------------------------------------------------------------------------
1 | namespace PeanutButter.ServiceShell.Tests
2 | {
3 | public static class Program
4 | {
5 | public static int Main(string[] args)
6 | {
7 | return Shell.RunMain(args);
8 | }
9 | }
10 | }
--------------------------------------------------------------------------------
/source/Win32Service/PeanutButter.ServiceShell.Tests/SomeService.cs:
--------------------------------------------------------------------------------
1 | namespace PeanutButter.ServiceShell.Tests
2 | {
3 | public class SomeService: Shell
4 | {
5 | public SomeService()
6 | {
7 | ServiceName = "SomeService";
8 | DisplayName = "SomeService";
9 | }
10 |
11 | protected override void RunOnce()
12 | {
13 | throw new System.NotImplementedException();
14 | }
15 | }
16 | }
--------------------------------------------------------------------------------
/source/Win32Service/PeanutButter.ServiceShell/ServiceUnconfiguredException.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace PeanutButter.ServiceShell
4 | {
5 | ///
6 | /// Thrown when a service was not completely configured
7 | ///
8 | public class ServiceUnconfiguredException : Exception
9 | {
10 | ///
11 | public ServiceUnconfiguredException(string property)
12 | : base($"This service is not completely configured. Please set the {property} property value.")
13 | {
14 | }
15 | }
16 | }
--------------------------------------------------------------------------------
/source/Win32Service/PeanutButter.ServiceShell/ShellTestFailureException.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace PeanutButter.ServiceShell
4 | {
5 | ///
6 | /// Thrown when a test run for the shell didn't go as planned
7 | ///
8 | public class ShellTestFailureException: Exception
9 | {
10 | ///
11 | public ShellTestFailureException(string message): base(message)
12 | {
13 | }
14 | }
15 | }
--------------------------------------------------------------------------------
/source/Win32Service/PeanutButter.ServiceShell/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluffynuts/PeanutButter/af9f2168c87dafed77d57f558960d8c8c1b4de37/source/Win32Service/PeanutButter.ServiceShell/icon.png
--------------------------------------------------------------------------------
/source/Win32Service/PeanutButter.WindowsServiceManagement.Core.Tests/GlobalSetup.cs:
--------------------------------------------------------------------------------
1 | using PeanutButter.Utils;
2 |
3 | namespace PeanutButter.WindowsServiceManagement.Core.Tests
4 | {
5 | [SetUpFixture]
6 | public class GlobalSetup
7 | {
8 | [OneTimeSetUp]
9 | public void OneTimeSetup()
10 | {
11 | if (!Platform.IsWindows)
12 | {
13 | Assert.Ignore("Windows-specific tests");
14 | }
15 | }
16 | }
17 | }
--------------------------------------------------------------------------------
/source/Win32Service/PeanutButter.WindowsServiceManagement.Core.Tests/Usings.cs:
--------------------------------------------------------------------------------
1 | global using NUnit.Framework;
--------------------------------------------------------------------------------
/source/Win32Service/PeanutButter.WindowsServiceManagement.Tests/App.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/source/Win32Service/PeanutButter.WindowsServiceManagement/Exceptions/WindowsServiceUtilException.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace PeanutButter.WindowsServiceManagement.Exceptions
4 | {
5 | ///
6 | /// The base class from which exceptions in PeanutButter.WindowsServiceManagement
7 | /// are derived, if you're looking to catch all service-related exceptions
8 | ///
9 | public abstract class WindowsServiceUtilException : Exception
10 | {
11 | ///
12 | protected WindowsServiceUtilException(string message)
13 | : base (message)
14 | {
15 | }
16 | }
17 | }
--------------------------------------------------------------------------------
/source/Win32Service/PeanutButter.WindowsServiceManagement/KillServiceResult.cs:
--------------------------------------------------------------------------------
1 | namespace PeanutButter.WindowsServiceManagement
2 | {
3 | ///
4 | /// The result of attempting to kill a service
5 | ///
6 | public enum KillServiceResult
7 | {
8 | ///
9 | /// Service was already not running
10 | ///
11 | NotRunning,
12 | ///
13 | /// Service was terminated
14 | ///
15 | Killed,
16 | ///
17 | /// Unable to terminate service, possibly due to permissions
18 | ///
19 | UnableToKill
20 | }
21 | }
--------------------------------------------------------------------------------
/source/Win32Service/PeanutButter.WindowsServiceManagement/ScmAccessRights.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace PeanutButter.WindowsServiceManagement
4 | {
5 | [Flags]
6 | internal enum ScmAccessRights
7 | {
8 | Connect = 0x0001,
9 | CreateService = 0x0002,
10 | EnumerateService = 0x0004,
11 | Lock = 0x0008,
12 | QueryLockStatus = 0x0010,
13 | ModifyBootConfig = 0x0020,
14 | StandardRightsRequired = 0xF0000,
15 |
16 | AllAccess = (StandardRightsRequired | Connect | CreateService |
17 | EnumerateService | Lock | QueryLockStatus | ModifyBootConfig)
18 | }
19 | }
--------------------------------------------------------------------------------
/source/Win32Service/PeanutButter.WindowsServiceManagement/ServiceControl.cs:
--------------------------------------------------------------------------------
1 | namespace PeanutButter.WindowsServiceManagement
2 | {
3 | internal enum ServiceControl
4 | {
5 | Stop = 0x00000001,
6 | Pause = 0x00000002,
7 | Continue = 0x00000003,
8 | Interrogate = 0x00000004,
9 | Shutdown = 0x00000005,
10 | ParamChange = 0x00000006,
11 | NetBindAdd = 0x00000007,
12 | NetBindRemove = 0x00000008,
13 | NetBindEnable = 0x00000009,
14 | NetBindDisable = 0x0000000A
15 | }
16 | }
--------------------------------------------------------------------------------
/source/Win32Service/PeanutButter.WindowsServiceManagement/ServiceError.cs:
--------------------------------------------------------------------------------
1 | namespace PeanutButter.WindowsServiceManagement
2 | {
3 | internal enum ServiceError
4 | {
5 | Ignore = 0x00000000,
6 | Normal = 0x00000001,
7 | Severe = 0x00000002,
8 | Critical = 0x00000003
9 | }
10 | }
--------------------------------------------------------------------------------
/source/Win32Service/PeanutButter.WindowsServiceManagement/ServiceOperationNames.cs:
--------------------------------------------------------------------------------
1 | namespace PeanutButter.WindowsServiceManagement
2 | {
3 | internal static class ServiceOperationNames
4 | {
5 | public const string GET_SERVICE_STATUS = "GetServiceStatus";
6 | public const string STOP = "Stop";
7 | public const string START = "Start";
8 | public const string PAUSE = "Pause";
9 | public const string CONTINUE = "Continue";
10 | public const string INSTALL = "Install";
11 | public const string UNINSTALL = "Uninstall";
12 | public const string OPEN_SC_MANAGER = "OpenSCManager";
13 | }
14 | }
--------------------------------------------------------------------------------
/source/Win32Service/PeanutButter.WindowsServiceManagement/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluffynuts/PeanutButter/af9f2168c87dafed77d57f558960d8c8c1b4de37/source/Win32Service/PeanutButter.WindowsServiceManagement/icon.png
--------------------------------------------------------------------------------
/source/Win32Service/SpacedService/App.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/source/Win32Service/SpacedService/Program.cs:
--------------------------------------------------------------------------------
1 | using System.ServiceProcess;
2 |
3 | namespace SpacedService
4 | {
5 | // ReSharper disable once ClassNeverInstantiated.Global
6 | public class Program
7 | {
8 | public static void Main(string[] args)
9 | {
10 | ServiceBase.Run(new Service()
11 | {
12 | Args = args
13 | });
14 | }
15 | }
16 | }
--------------------------------------------------------------------------------
/source/Win32Service/StubbornService/App.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/source/_deprecated_/Async/PeanutButter.Async/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluffynuts/PeanutButter/af9f2168c87dafed77d57f558960d8c8c1b4de37/source/_deprecated_/Async/PeanutButter.Async/icon.png
--------------------------------------------------------------------------------
/source/_deprecated_/Async/PeanutButter.TestUtils.Async/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluffynuts/PeanutButter/af9f2168c87dafed77d57f558960d8c8c1b4de37/source/_deprecated_/Async/PeanutButter.TestUtils.Async/icon.png
--------------------------------------------------------------------------------
/source/_deprecated_/EmailSpooler/EmailSpooler.Setup/Setup-EmailSpoolerService.exe:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluffynuts/PeanutButter/af9f2168c87dafed77d57f558960d8c8c1b4de37/source/_deprecated_/EmailSpooler/EmailSpooler.Setup/Setup-EmailSpoolerService.exe
--------------------------------------------------------------------------------
/source/_deprecated_/EmailSpooler/EmailSpooler.Win32Service.DB.Tests/Builders/EmailAttachmentBuilder.cs:
--------------------------------------------------------------------------------
1 | using EmailSpooler.Win32Service.Entity;
2 | using PeanutButter.RandomGenerators;
3 |
4 | namespace EmailSpooler.Win32Service.DB.Tests.Builders
5 | {
6 | public class EmailAttachmentBuilder : GenericBuilder
7 | {
8 | }
9 | }
--------------------------------------------------------------------------------
/source/_deprecated_/EmailSpooler/EmailSpooler.Win32Service.DB.Tests/Builders/EmailBuilder.cs:
--------------------------------------------------------------------------------
1 | using EmailSpooler.Win32Service.Entity;
2 | using PeanutButter.RandomGenerators;
3 |
4 | namespace EmailSpooler.Win32Service.DB.Tests.Builders
5 | {
6 | public class EmailBuilder: GenericBuilder
7 | {
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/source/_deprecated_/EmailSpooler/EmailSpooler.Win32Service.DB.Tests/Builders/EmailRecipientBuilder.cs:
--------------------------------------------------------------------------------
1 | using EmailSpooler.Win32Service.Entity;
2 | using PeanutButter.RandomGenerators;
3 |
4 | namespace EmailSpooler.Win32Service.DB.Tests.Builders
5 | {
6 | public class EmailRecipientBuilder : GenericBuilder
7 | {
8 | }
9 | }
--------------------------------------------------------------------------------
/source/_deprecated_/EmailSpooler/EmailSpooler.Win32Service.DB.Tests/FluentMigrator/Migration_1_CreateEmail.cs:
--------------------------------------------------------------------------------
1 | using FluentMigrator;
2 |
3 | namespace EmailSpooler.Win32Service.DB.Tests.FluentMigrator
4 | {
5 | [Migration(1)]
6 | // ReSharper disable once InconsistentNaming
7 | public class Migration_1_CreateEmail: DB.FluentMigrator.Migration_1_CreateEmail
8 | {
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/source/_deprecated_/EmailSpooler/EmailSpooler.Win32Service.DB.Tests/FluentMigrator/Migration_2_CreateEmailRecipient.cs:
--------------------------------------------------------------------------------
1 | using FluentMigrator;
2 | // ReSharper disable InconsistentNaming
3 |
4 | namespace EmailSpooler.Win32Service.DB.Tests.FluentMigrator
5 | {
6 | [Migration(2)]
7 | public class Migration_2_CreateEmailRecipient : DB.FluentMigrator.Migration_2_CreateEmailRecipient
8 | {
9 | }
10 | }
--------------------------------------------------------------------------------
/source/_deprecated_/EmailSpooler/EmailSpooler.Win32Service.DB.Tests/FluentMigrator/Migration_3_CreateEmailAttachment.cs:
--------------------------------------------------------------------------------
1 | using FluentMigrator;
2 | // ReSharper disable UnusedMember.Global
3 | // ReSharper disable InconsistentNaming
4 |
5 | namespace EmailSpooler.Win32Service.DB.Tests.FluentMigrator
6 | {
7 | [Migration(3)]
8 | public class Migration_3_CreateEmailAttachment : DB.FluentMigrator.Migration_3_CreateEmailAttachment
9 | {
10 | }
11 | }
--------------------------------------------------------------------------------
/source/_deprecated_/EmailSpooler/EmailSpooler.Win32Service.DB/README.txt:
--------------------------------------------------------------------------------
1 | The Email Spooler Service requires a data store to back it. You can (technically) use
2 | any database which Entity can connect to though this service has only been tested against
3 | MSSQL. This project provides FluentMigrator classes you can inherit from in your FluentMigrations
4 | project for creating the required tables:
5 | * Email
6 | * EmailRecipient
7 | * EmailAttachment
8 | Conversely, you can run in the raw MSSQL scripts provided (or port to your database and run in there)
9 |
--------------------------------------------------------------------------------
/source/_deprecated_/EmailSpooler/EmailSpooler.Win32Service.Tests/Builders/EmailRecipientBuilder.cs:
--------------------------------------------------------------------------------
1 | using EmailSpooler.Win32Service.Entity;
2 | using PeanutButter.RandomGenerators;
3 |
4 | namespace EmailSpooler.Win32Service.Tests.Builders
5 | {
6 | public class EmailRecipientBuilder: GenericBuilder
7 | {
8 | public override EmailRecipientBuilder WithRandomProps()
9 | {
10 | return base.WithRandomProps()
11 | .WithProp(r => r.Enabled = true);
12 | }
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/source/_deprecated_/EmailSpooler/EmailSpooler.Win32Service/ConnectionStrings.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/source/_deprecated_/EmailSpooler/EmailSpooler.Win32Service/Program.cs:
--------------------------------------------------------------------------------
1 | using PeanutButter.ServiceShell;
2 |
3 | namespace EmailSpooler.Win32Service
4 | {
5 | public class Program
6 | {
7 | public static int Main(string[] args)
8 | {
9 | return Shell.RunMain(args);
10 | }
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/source/_deprecated_/EmailSpooler/EmailSpooler.Win32Service/appSettings.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/source/_deprecated_/PeanutButter.DatabaseHelpers.Testability/My Project/Application.Designer.vb:
--------------------------------------------------------------------------------
1 | '------------------------------------------------------------------------------
2 | '
3 | ' This code was generated by a tool.
4 | ' Runtime Version:4.0.30319.42000
5 | '
6 | ' Changes to this file may cause incorrect behavior and will be lost if
7 | ' the code is regenerated.
8 | '
9 | '------------------------------------------------------------------------------
10 |
11 | Option Strict On
12 | Option Explicit On
13 |
14 |
--------------------------------------------------------------------------------
/source/_deprecated_/PeanutButter.DatabaseHelpers.Testability/My Project/Application.myapp:
--------------------------------------------------------------------------------
1 |
2 |
3 | false
4 | false
5 | 0
6 | true
7 | 0
8 | 1
9 | true
10 |
11 |
--------------------------------------------------------------------------------
/source/_deprecated_/PeanutButter.DatabaseHelpers.Testability/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluffynuts/PeanutButter/af9f2168c87dafed77d57f558960d8c8c1b4de37/source/_deprecated_/PeanutButter.DatabaseHelpers.Testability/icon.png
--------------------------------------------------------------------------------
/source/_deprecated_/PeanutButter.FluentMigrator.Tests/Shared/Migration2.cs:
--------------------------------------------------------------------------------
1 | using FluentMigrator;
2 |
3 | namespace PeanutButter.FluentMigrator.Tests.Shared
4 | {
5 | [Migration(2)]
6 | public class Migration2 : MigrationBase
7 | {
8 | public override void Up()
9 | {
10 | Alter.Table("Cows")
11 | .AddColumn("IsLactoseIntolerant").AsBoolean()
12 | .Nullable().WithDefaultValue(false);
13 | }
14 |
15 | public override void Down()
16 | {
17 | /* do nothing */
18 | }
19 | }
20 | }
--------------------------------------------------------------------------------
/source/_deprecated_/PeanutButter.FluentMigrator.Tests/Shared/MooContext.cs:
--------------------------------------------------------------------------------
1 | using System.Data.Common;
2 | using System.Data.Entity;
3 |
4 | namespace PeanutButter.FluentMigrator.Tests.Shared
5 | {
6 | public class MooContext : DbContext
7 | {
8 | public virtual IDbSet Cows { get; set; }
9 | public MooContext(
10 | DbConnection connection
11 | ) : base(connection, true)
12 | {
13 | }
14 |
15 | static MooContext()
16 | {
17 | Database.SetInitializer(null);
18 | }
19 | }
20 | }
--------------------------------------------------------------------------------
/source/_deprecated_/PeanutButter.FluentMigrator/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluffynuts/PeanutButter/af9f2168c87dafed77d57f558960d8c8c1b4de37/source/_deprecated_/PeanutButter.FluentMigrator/icon.png
--------------------------------------------------------------------------------
/source/_deprecated_/PeanutButter.TestUtils.Entity.Tests/Resources/entitypersistence.sql:
--------------------------------------------------------------------------------
1 | create table [SomeEntityWithDecimalValue] (
2 | SomeEntityWithDecimalValueId int identity primary key,
3 | DecimalValue decimal not null,
4 | Created datetime not null default CURRENT_TIMESTAMP,
5 | Enabled bit not null default 1,
6 | LastUpdated datetime null
7 | );
8 | GO
9 |
10 |
--------------------------------------------------------------------------------
/source/_deprecated_/PeanutButter.TestUtils.Entity/Attributes/AllowSharedTempDbInstancesAttribute.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using NUnit.Framework;
3 | using NUnit.Framework.Interfaces;
4 |
5 | namespace PeanutButter.TestUtils.Entity.Attributes
6 | {
7 | [AttributeUsage(AttributeTargets.Assembly, AllowMultiple = false)]
8 | public class AllowSharedTempDbInstancesAttribute : TestActionAttribute
9 | {
10 | public override ActionTargets Targets => ActionTargets.Suite;
11 |
12 | public override void AfterTest(ITest test)
13 | {
14 | SharedDatabaseLocator.Cleanup();
15 | }
16 | }
17 | }
--------------------------------------------------------------------------------
/source/_deprecated_/PeanutButter.TestUtils.Entity/Attributes/UseSharedTempDbAttribute.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace PeanutButter.TestUtils.Entity.Attributes
4 | {
5 | [AttributeUsage(AttributeTargets.Class, AllowMultiple = false, Inherited = true)]
6 | public class UseSharedTempDbAttribute: Attribute
7 | {
8 | public string Name { get; }
9 | public UseSharedTempDbAttribute(string name)
10 | {
11 | Name = name;
12 | }
13 | }
14 | }
--------------------------------------------------------------------------------
/source/_deprecated_/PeanutButter.TestUtils.Entity/EntityPersistenceFluentStateConstants.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace PeanutButter.TestUtils.Entity
4 | {
5 | internal static class EntityPersistenceFluentStateConstants
6 | {
7 | public static readonly TimeSpan FiftyMilliseconds = new TimeSpan(0, 0, 0, 0, 50);
8 | }
9 | }
--------------------------------------------------------------------------------
/source/_deprecated_/PeanutButter.TestUtils.Entity/EntityPersistenceTester.cs:
--------------------------------------------------------------------------------
1 | namespace PeanutButter.TestUtils.Entity
2 | {
3 | public static class EntityPersistenceTester
4 | {
5 | public static EntityPersistenceTesterFor CreateFor() where T : class
6 | {
7 | return new EntityPersistenceTesterFor();
8 | }
9 | }
10 | }
--------------------------------------------------------------------------------
/source/_deprecated_/PeanutButter.TestUtils.Entity/PropertyDataObjectExtension.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Linq.Expressions;
3 |
4 | namespace PeanutButter.TestUtils.Entity
5 | {
6 | public static class PropertyDataObjectExtension
7 | {
8 | public static PropertyData PropertyDataFor(this T item, Expression> memberExpression)
9 | {
10 | return new PropertyData(item, memberExpression);
11 | }
12 | }
13 | }
--------------------------------------------------------------------------------
/source/_deprecated_/PeanutButter.TestUtils.Entity/SharedDatabaseAlreadyRegisteredException.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace PeanutButter.TestUtils.Entity
4 | {
5 | public class SharedDatabaseAlreadyRegisteredException : Exception
6 | {
7 | public SharedDatabaseAlreadyRegisteredException(string name)
8 | : base($"The shared database {name} is already registered")
9 | {
10 | }
11 | }
12 | }
--------------------------------------------------------------------------------
/source/_deprecated_/PeanutButter.TestUtils.Entity/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluffynuts/PeanutButter/af9f2168c87dafed77d57f558960d8c8c1b4de37/source/_deprecated_/PeanutButter.TestUtils.Entity/icon.png
--------------------------------------------------------------------------------
/source/_deprecated_/PeanutButter.TestUtils.MVC/Builders/GenericBuilderWithFieldAccess.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using PeanutButter.RandomGenerators;
3 |
4 | namespace PeanutButter.TestUtils.MVC.Builders
5 | {
6 | public abstract class GenericBuilderWithFieldAccess
7 | : GenericBuilder
8 | where TBuilder : GenericBuilder
9 | {
10 | protected TBuilder WithField(Action action)
11 | {
12 | action(this as TBuilder);
13 | return this as TBuilder;
14 | }
15 | }
16 | }
--------------------------------------------------------------------------------
/source/_deprecated_/PeanutButter.TestUtils.MVC/Builders/NameValueCollectionBuilder.cs:
--------------------------------------------------------------------------------
1 | using System.Collections.Specialized;
2 | using PeanutButter.RandomGenerators;
3 |
4 | namespace PeanutButter.TestUtils.MVC.Builders
5 | {
6 | public class NameValueCollectionBuilder
7 | : GenericBuilder
8 | {
9 | public NameValueCollectionBuilder WithItem(
10 | string name,
11 | string value
12 | )
13 | {
14 | return WithProp(o => o.Add(name, value));
15 | }
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/source/_deprecated_/PeanutButter.TestUtils.MVC/Builders/SessionStateItemCollectionBuilder.cs:
--------------------------------------------------------------------------------
1 | using System.Web.SessionState;
2 | using PeanutButter.RandomGenerators;
3 |
4 | namespace PeanutButter.TestUtils.MVC.Builders
5 | {
6 | public class SessionStateItemCollectionBuilder
7 | : GenericBuilder
8 | {
9 | public SessionStateItemCollectionBuilder WithItem(
10 | string name,
11 | string value
12 | )
13 | {
14 | return WithProp(o => o[name] = value);
15 | }
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/source/_deprecated_/PeanutButter.TestUtils.MVC/FakePrincipal.cs:
--------------------------------------------------------------------------------
1 | using System.Linq;
2 | using System.Security.Principal;
3 |
4 | namespace PeanutButter.TestUtils.MVC
5 | {
6 |
7 | public class FakePrincipal : IPrincipal
8 | {
9 | public IIdentity Identity { get; }
10 | private readonly string[] _roles;
11 |
12 | public FakePrincipal(IIdentity identity, string[] roles)
13 | {
14 | Identity = identity;
15 | _roles = roles;
16 | }
17 |
18 | public bool IsInRole(string role)
19 | {
20 | return _roles?.Contains(role) ?? false;
21 | }
22 | }
23 |
24 |
25 |
26 | }
27 |
--------------------------------------------------------------------------------
/source/_deprecated_/PeanutButter.TestUtils.MVC/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluffynuts/PeanutButter/af9f2168c87dafed77d57f558960d8c8c1b4de37/source/_deprecated_/PeanutButter.TestUtils.MVC/icon.png
--------------------------------------------------------------------------------
/source/_deprecated_/PeanutButter.Utils.Entity/EntityBase.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace PeanutButter.Utils.Entity
4 | {
5 | public abstract class EntityBase
6 | {
7 | public DateTime Created { get; set; }
8 | public DateTime? LastModified { get; set; }
9 | public bool Enabled { get; set; }
10 |
11 | public EntityBase()
12 | {
13 | Enabled = true;
14 | }
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/source/_deprecated_/PeanutButter.Utils.Entity/FluentTransformationExtensions.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace PeanutButter.Utils.Entity
4 | {
5 | public static class FluentTransformationExtensions
6 | {
7 | // typical usage would be to tack this onto a FirstOrDefault()
8 | // query from an IDbSet and supply your mapper function
9 | public static T2 Transform(this T1 input, Func transformer)
10 | {
11 | return transformer(input);
12 | }
13 | }
14 | }
--------------------------------------------------------------------------------
/source/_deprecated_/PeanutButter.Utils.Entity/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluffynuts/PeanutButter/af9f2168c87dafed77d57f558960d8c8c1b4de37/source/_deprecated_/PeanutButter.Utils.Entity/icon.png
--------------------------------------------------------------------------------
/source/_deprecated_/PeanutButter.Utils.Windsor.Tests/TestClasses/AbstractImplementsInterfaceWithOneResolution.cs:
--------------------------------------------------------------------------------
1 | namespace PeanutButter.Utils.Windsor.Tests.TestClasses
2 | {
3 | public abstract class AbstractImplementsInterfaceWithOneResolution: IInterfaceWithOneResolution
4 | {
5 | }
6 | }
--------------------------------------------------------------------------------
/source/_deprecated_/PeanutButter.Utils.Windsor.Tests/TestClasses/AbstractImplementsInterfaceWithOneResolutionAbstract.cs:
--------------------------------------------------------------------------------
1 | namespace PeanutButter.Utils.Windsor.Tests.TestClasses
2 | {
3 | public abstract class AbstractImplementsInterfaceWithOneResolutionAbstract: IInterfaceForAbstractClass
4 | {
5 | }
6 | }
--------------------------------------------------------------------------------
/source/_deprecated_/PeanutButter.Utils.Windsor.Tests/TestClasses/AccountController.cs:
--------------------------------------------------------------------------------
1 | using System.Web.Mvc;
2 |
3 | namespace PeanutButter.Utils.Windsor.Tests.TestClasses
4 | {
5 | public class AccountController: Controller
6 | {
7 | }
8 | }
--------------------------------------------------------------------------------
/source/_deprecated_/PeanutButter.Utils.Windsor.Tests/TestClasses/HomeController.cs:
--------------------------------------------------------------------------------
1 | using System.Web.Mvc;
2 |
3 | namespace PeanutButter.Utils.Windsor.Tests.TestClasses
4 | {
5 | public class HomeController: Controller
6 | {
7 | }
8 | }
--------------------------------------------------------------------------------
/source/_deprecated_/PeanutButter.Utils.Windsor.Tests/TestClasses/IInterfaceForAbstractClass.cs:
--------------------------------------------------------------------------------
1 | namespace PeanutButter.Utils.Windsor.Tests.TestClasses
2 | {
3 | public interface IInterfaceForAbstractClass
4 | {
5 | }
6 | }
--------------------------------------------------------------------------------
/source/_deprecated_/PeanutButter.Utils.Windsor.Tests/TestClasses/IInterfaceForSingleton.cs:
--------------------------------------------------------------------------------
1 | namespace PeanutButter.Utils.Windsor.Tests.TestClasses
2 | {
3 | public interface IInterfaceForSingleton
4 | {
5 | }
6 | }
--------------------------------------------------------------------------------
/source/_deprecated_/PeanutButter.Utils.Windsor.Tests/TestClasses/IInterfaceWithMultipleResolutions.cs:
--------------------------------------------------------------------------------
1 | namespace PeanutButter.Utils.Windsor.Tests.TestClasses
2 | {
3 | public interface IInterfaceWithMultipleResolutions
4 | {
5 | }
6 | }
--------------------------------------------------------------------------------
/source/_deprecated_/PeanutButter.Utils.Windsor.Tests/TestClasses/IInterfaceWithNoResolutions.cs:
--------------------------------------------------------------------------------
1 | namespace PeanutButter.Utils.Windsor.Tests.TestClasses
2 | {
3 | public interface IInterfaceWithNoResolutions
4 | {
5 | }
6 | }
--------------------------------------------------------------------------------
/source/_deprecated_/PeanutButter.Utils.Windsor.Tests/TestClasses/IInterfaceWithOneResolution.cs:
--------------------------------------------------------------------------------
1 | namespace PeanutButter.Utils.Windsor.Tests.TestClasses
2 | {
3 | public interface IInterfaceWithOneResolution
4 | {
5 | }
6 | }
--------------------------------------------------------------------------------
/source/_deprecated_/PeanutButter.Utils.Windsor.Tests/TestClasses/IInterfaceWithOneResolutionInheritor.cs:
--------------------------------------------------------------------------------
1 | namespace PeanutButter.Utils.Windsor.Tests.TestClasses
2 | {
3 | public interface IInterfaceWithOneResolutionInheritor: IInterfaceWithOneResolution
4 | {
5 | }
6 | }
--------------------------------------------------------------------------------
/source/_deprecated_/PeanutButter.Utils.Windsor.Tests/TestClasses/ISingletonService.cs:
--------------------------------------------------------------------------------
1 | namespace PeanutButter.Utils.Windsor.Tests.TestClasses
2 | {
3 | public interface ISingletonService
4 | {
5 | }
6 | }
--------------------------------------------------------------------------------
/source/_deprecated_/PeanutButter.Utils.Windsor.Tests/TestClasses/ImplementsInterfaceForSingleton.cs:
--------------------------------------------------------------------------------
1 | namespace PeanutButter.Utils.Windsor.Tests.TestClasses
2 | {
3 | // ReSharper disable once ClassNeverInstantiated.Global
4 | public class ImplementsInterfaceForSingleton: IInterfaceForSingleton
5 | {
6 | }
7 | }
--------------------------------------------------------------------------------
/source/_deprecated_/PeanutButter.Utils.Windsor.Tests/TestClasses/ImplementsInterfaceWithMultipleResolutions1.cs:
--------------------------------------------------------------------------------
1 | namespace PeanutButter.Utils.Windsor.Tests.TestClasses
2 | {
3 | public class ImplementsInterfaceWithMultipleResolutions1: IInterfaceWithMultipleResolutions
4 | {
5 | }
6 | }
--------------------------------------------------------------------------------
/source/_deprecated_/PeanutButter.Utils.Windsor.Tests/TestClasses/ImplementsInterfaceWithMultipleResolutions2.cs:
--------------------------------------------------------------------------------
1 | namespace PeanutButter.Utils.Windsor.Tests.TestClasses
2 | {
3 | public class ImplementsInterfaceWithMultipleResolutions2: IInterfaceWithMultipleResolutions
4 | {
5 | }
6 | }
--------------------------------------------------------------------------------
/source/_deprecated_/PeanutButter.Utils.Windsor.Tests/TestClasses/ImplementsInterfaceWithOneResolution.cs:
--------------------------------------------------------------------------------
1 | namespace PeanutButter.Utils.Windsor.Tests.TestClasses
2 | {
3 | // ReSharper disable once ClassNeverInstantiated.Global
4 | public class ImplementsInterfaceWithOneResolution: IInterfaceWithOneResolution
5 | {
6 | }
7 | }
--------------------------------------------------------------------------------
/source/_deprecated_/PeanutButter.Utils.Windsor.Tests/TestClasses/SingletonService.cs:
--------------------------------------------------------------------------------
1 | namespace PeanutButter.Utils.Windsor.Tests.TestClasses
2 | {
3 | public class SingletonService: ISingletonService
4 | {
5 | }
6 | }
--------------------------------------------------------------------------------
/source/_deprecated_/PeanutButter.Utils.Windsor.Tests/TestClasses/SomeApiController.cs:
--------------------------------------------------------------------------------
1 | using System.Web.Http;
2 |
3 | namespace PeanutButter.Utils.Windsor.Tests.TestClasses
4 | {
5 | public class SomeApiController: ApiController
6 | {
7 | }
8 | }
--------------------------------------------------------------------------------
/source/_deprecated_/PeanutButter.Utils.Windsor/Properties/AssemblyInfo.cs:
--------------------------------------------------------------------------------
1 | using System.Reflection;
2 | using System.Runtime.InteropServices;
3 |
4 | [assembly: AssemblyCopyright("Copyright © 2016")]
5 | [assembly: AssemblyTrademark("")]
6 | [assembly: AssemblyCulture("")]
7 |
8 | // Setting ComVisible to false makes the types in this assembly not visible
9 | // to COM components. If you need to access a type in this assembly from
10 | // COM, set the ComVisible attribute to true on that type.
11 | [assembly: ComVisible(false)]
12 |
13 | // The following GUID is for the ID of the typelib if this project is exposed to COM
14 | [assembly: Guid("fa4ce84f-c024-4643-b692-378de0f9be24")]
15 |
16 |
--------------------------------------------------------------------------------
/source/_deprecated_/PeanutButter.Utils.Windsor/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fluffynuts/PeanutButter/af9f2168c87dafed77d57f558960d8c8c1b4de37/source/_deprecated_/PeanutButter.Utils.Windsor/icon.png
--------------------------------------------------------------------------------
/source/_deprecated_/README.md:
--------------------------------------------------------------------------------
1 | ## Nothing lasts forever - all things must die
2 |
3 | This folder contains some deprecated PeanutButter libraries. The choice to deprecate has been based largely
4 | on inactivity on my part and because they depend on packages which require significant work to update. If
5 | one of them is important to you, please raise an issue, or better yet: raise a PR sorting them out (:
--------------------------------------------------------------------------------
/source/global.json:
--------------------------------------------------------------------------------
1 | {
2 | "sdk": {
3 | "version": "7.0.0",
4 | "rollForward": "latestMajor",
5 | "allowPrerelease": true
6 | }
7 | }
--------------------------------------------------------------------------------
/x-plat.md:
--------------------------------------------------------------------------------
1 | Problem projects:
2 | - vb test projects
3 | - PeanutButter.DatabaseHelpers.Tests
4 | - either port to C# or kill the whole thing?
5 | - windows-specific projects
6 | - PeanutButter.TrayIcon
7 | - move to own repo, use PB stuff via nuget
8 | - EmailSpooler.Win32Service.Db.Tests
9 | - can this run on MySql? Currently it wants PeanutButter.TempDb.LocalDb
10 | - PeanutButter.TempDb.Tests
11 | - LocalDb tests are gonna bork
12 |
--------------------------------------------------------------------------------