├── .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 | --------------------------------------------------------------------------------