FiftyOne.Pipeline.Engines.TestHelpers 4.5.0-alpha.35

This is a prerelease version of FiftyOne.Pipeline.Engines.TestHelpers.
There is a newer prerelease version of this package available.
See the version list below for details.
dotnet add package FiftyOne.Pipeline.Engines.TestHelpers --version 4.5.0-alpha.35
                    
NuGet\Install-Package FiftyOne.Pipeline.Engines.TestHelpers -Version 4.5.0-alpha.35
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="FiftyOne.Pipeline.Engines.TestHelpers" Version="4.5.0-alpha.35" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="FiftyOne.Pipeline.Engines.TestHelpers" Version="4.5.0-alpha.35" />
                    
Directory.Packages.props
<PackageReference Include="FiftyOne.Pipeline.Engines.TestHelpers" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add FiftyOne.Pipeline.Engines.TestHelpers --version 4.5.0-alpha.35
                    
#r "nuget: FiftyOne.Pipeline.Engines.TestHelpers, 4.5.0-alpha.35"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package FiftyOne.Pipeline.Engines.TestHelpers@4.5.0-alpha.35
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=FiftyOne.Pipeline.Engines.TestHelpers&version=4.5.0-alpha.35&prerelease
                    
Install as a Cake Addin
#tool nuget:?package=FiftyOne.Pipeline.Engines.TestHelpers&version=4.5.0-alpha.35&prerelease
                    
Install as a Cake Tool

51Degrees Pipeline API

51Degrees Pipeline API

Developer Documentation | NuGet | Package | NuGet | Package | | --- | --- | --- | --- | | NuGet | CloudRequestEngine | NuGet | Examples.Shared | | NuGet | Core | NuGet | JavaScriptBuilder | | NuGet | Engines | NuGet | JsonBuilder | | NuGet | Engines.FiftyOne | NuGet | Web | | NuGet | Engines.TestHelpers | NuGet | Web.Shared |

Introduction

This repository contains all the projects required to build the .NET implementation of the Pipeline API. Individual engines (For example, device detection) are in separate repositories.

The specification is also available on GitHub and is recommended reading if you wish to understand the concepts and design of this API.

Dependencies

Visual Studio 2022 or later is recommended. Although Visual Studio Code can be used for working with most of the projects.

The Pipeline projects are written in C# and target .NET Standard 2.0.3 The Web integration multi-targets the following: - .NET Core 3.1 - .NET Core 8.0 - .NET Framework 4.6.2

The tested versions page shows the .NET versions that we currently test against. The software may run fine against other versions, but additional caution should be applied.

Solutions and projects

  • FiftyOne.Pipeline - The core projects that comprise the Pipeline API.
    • FiftyOne.Pipeline.Core - The core Pipeline classes such as Pipeline, FlowData, FlowElement and Evidence.
    • FiftyOne.Pipeline.Engines - Functionality for AspectEngines, a specialized FlowElement with additional features.
    • FiftyOne.Pipeline.Engines.FiftyOne - Functionality that is specific to 51Degrees aspect engines.
  • FiftyOne.Pipeline.Web - Projects that are relevant to the Pipeline API ASP.NET integration.
    • FiftyOne.Pipeline.Web - ASP.NET Core integration.
    • FiftyOne.Pipeline.Web.Framework - ASP.NET Framework integration.
    • FiftyOne.Pipeline.Web.Minify - FlowElement which takes the JavaScript function from the JavaScriptBundler element and minifies it.
    • FiftyOne.Pipeline.Web.Shared - Shared code that is used by both Core and Framework ASP.NET integrations.
  • FiftyOne.Pipeline.Elements - Projects for various common Flow Elements that are used by multiple other solutions.
    • FiftyOne.Pipeline.JavaScriptBuilder - An element that packages values from all 'JavaScript' properties from all engines into a single JavaScript function.
    • FiftyOne.Pipeline.JsonBuilder - An element that serializes all properties from all engines into JSON format.
  • FiftyOne.CloudRequestEngine - Projects related to making general requests to the 51Degrees cloud.
    • FiftyOne.Pipeline.CloudRequestEngine - An engine that makes requests to the 51Degrees cloud service.

Installation

You can either clone this repository and reference the projects locally or you can reference the NuGet packages directly.

Install-Package FiftyOne.Pipeline.Core
Install-Package FiftyOne.Pipeline.Engines
Install-Package FiftyOne.Pipeline.Engines.FiftyOne
Install-Package FiftyOne.Pipeline.Web
Install-Package FiftyOne.Pipeline.Web.Minify
Install-Package FiftyOne.Pipeline.JsonBuilder
Install-Package FiftyOne.Pipeline.JavaScriptBuilder
Install-Package FiftyOne.Pipeline.CloudRequestEngine

Note that the packages have dependencies on each other so you'll never need to install all of them individually. For example, Installing FiftyOne.Pipeline.Engines.FiftyOne will automatically add FiftyOne.Pipeline.Engines and FiftyOne.Pipeline.Core.

Examples

Pipeline Examples

There are several examples available that demonstrate how to make use of the Pipeline API in isolation. These are described in the table below. If you want examples that demonstrate how to use 51Degrees products such as device detection, then these are available in the corresponding repository and on our website.

Example Description
CustomFlowElement\1. Simple Flow Element Shows how to create a custom flow element that returns star sign based on a supplied date of birth.
CustomFlowElement\2. On Premise Engine Shows how to modify SimpleFlowElement to make use of the 'engine' functionality and use a custom data file to map dates to star signs rather than relying on hard coded data.
CustomFlowElement\3. Client-side evidence Shows how to modify SimpleFlowElement to request the data of birth from the user using client-side JavaScript.
CustomFlowElement\4. Cloud Engine Shows how to modify SimpleFlowElement to perform the star sign lookup via a cloud service rather than locally.
ResultCaching Shows how the result caching feature works.
UsageSharing Shows how to share usage with 51Degrees. This helps us to keep our products up to date and accurate.

Tests

  • FiftyOne.Pipeline.CloudRequestEngine.Tests - Tests for the CloudRequestEngine and builder.
  • FiftyOne.Pipeline.Core.Tests - Tests for FlowElement and FlowData base classes.
  • FiftyOne.Pipeline.Engines.Tests - Tests for AspectEngines and AspectData base classes.
  • FiftyOne.Pipeline.Engines.FiftyOne.Tests - Tests for 51Degrees specific aspect engines.
  • FiftyOne.Pipeline.Examples.Tests - Tests for developer examples. This will automatically run all the examples and ensure they do not crash.
  • FiftyOne.Pipeline.Web.Tests - Tests for web integration functionality.

The tests can be run from within Visual Studio or (in most cases) by using the dotnet test command line tool.

Project documentation

For complete documentation on the Pipeline API and associated engines, see the 51Degrees documentation site.

Product Compatible and additional computed target framework versions.
.NET net5.0 was computed.  net5.0-windows was computed.  net6.0 was computed.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 was computed.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net9.0 was computed.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 was computed.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
.NET Core netcoreapp2.0 was computed.  netcoreapp2.1 was computed.  netcoreapp2.2 was computed.  netcoreapp3.0 was computed.  netcoreapp3.1 was computed. 
.NET Standard netstandard2.0 is compatible.  netstandard2.1 was computed. 
.NET Framework net461 was computed.  net462 was computed.  net463 was computed.  net47 was computed.  net471 was computed.  net472 was computed.  net48 was computed.  net481 was computed. 
MonoAndroid monoandroid was computed. 
MonoMac monomac was computed. 
MonoTouch monotouch was computed. 
Tizen tizen40 was computed.  tizen60 was computed. 
Xamarin.iOS xamarinios was computed. 
Xamarin.Mac xamarinmac was computed. 
Xamarin.TVOS xamarintvos was computed. 
Xamarin.WatchOS xamarinwatchos was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
4.5.0-alpha.37 100 10/15/2025
4.5.0-alpha.36 127 10/13/2025
4.5.0-alpha.35 255 10/9/2025
4.5.0-alpha.34 407 9/18/2025
4.5.0-alpha.31 365 8/29/2025
4.5.0-alpha.30 199 8/27/2025
4.5.0-alpha.29 192 8/26/2025
4.5.0-alpha.28 182 8/15/2025
4.5.0-alpha.27 154 8/14/2025
4.5.0-alpha.26 364 8/6/2025
4.5.0-alpha.25 194 8/5/2025
4.5.0-alpha.24 99 7/30/2025
4.5.0-alpha.23 100 7/30/2025
4.5.0-alpha.22 97 7/30/2025
4.5.0-alpha.21 1,262 6/5/2025
4.5.0-alpha.20 713 4/3/2025
4.5.0-alpha.19 144 3/11/2025
4.5.0-alpha.18 196 3/6/2025
4.5.0-alpha.17 233 2/7/2025
4.5.0-alpha.16 70 2/6/2025
4.5.0-alpha.14 87 2/5/2025
4.5.0-alpha.13 913 1/30/2025
4.5.0-alpha.12 2,878 1/30/2025
4.5.0-alpha.11 67 1/29/2025
4.5.0-alpha.10 156 1/23/2025
4.5.0-alpha.8 66 1/23/2025
4.5.0-alpha.6 68 1/22/2025
4.5.0-alpha.5 85 1/22/2025
4.5.0-alpha.4 843 1/15/2025
4.5.0-alpha.3 236 1/2/2025
4.5.0-alpha.1 682 12/23/2024
4.4.143 0 10/17/2025
4.4.142 303 10/9/2025
4.4.141 677 9/17/2025
4.4.140 564 8/25/2025
4.4.139 154 8/25/2025
4.4.138 560 8/4/2025
4.4.137 192 8/4/2025
4.4.136 122 7/30/2025
4.4.135 1,056 6/5/2025
4.4.134 1,450 4/3/2025
4.4.133 633 3/11/2025
4.4.132 353 3/7/2025
4.4.131 864 2/7/2025
4.4.130 226 2/5/2025
4.4.129 158 2/5/2025
4.4.128 233 2/4/2025
4.4.127 282 1/31/2025
4.4.126 393 1/25/2025
4.4.125 185 1/24/2025
4.4.124 384 1/18/2025
4.4.123 260 1/16/2025
4.4.122 652 1/2/2025
4.4.121 747 12/17/2024
4.4.121-alpha.15 90 12/18/2024
4.4.121-alpha.6 91 12/18/2024
4.4.120 151 12/17/2024
4.4.119 328 12/12/2024
4.4.119-alpha.3 67 12/17/2024
4.4.118 223 12/9/2024
4.4.117 283 12/5/2024
4.4.116 462 12/2/2024
4.4.115 228 12/1/2024
4.4.114 374 11/26/2024
4.4.113 217 11/25/2024
4.4.112 178 11/25/2024
4.4.111 971 11/13/2024
4.4.110 779 11/11/2024
4.4.109 256 11/8/2024
4.4.108 248 11/5/2024
4.4.107 510 10/17/2024
4.4.106 175 10/16/2024
4.4.105 195 10/15/2024
4.4.104 419 10/9/2024
4.4.103 477 9/30/2024
4.4.102 647 9/9/2024
4.4.101 229 9/6/2024
4.4.100 233 9/4/2024
4.4.99 222 9/3/2024
4.4.98 272 8/30/2024
4.4.97 200 8/29/2024
4.4.96 703 8/14/2024
4.4.95 324 8/2/2024
4.4.94 524 7/10/2024
4.4.93 226 7/6/2024
4.4.92 343 6/26/2024
4.4.91 190 6/25/2024
4.4.90 685 6/14/2024
4.4.89 187 6/14/2024
4.4.88 534 5/31/2024
4.4.87 1,058 5/29/2024
4.4.86 216 5/28/2024
4.4.85 509 5/16/2024
4.4.84 237 5/15/2024
4.4.83 574 5/7/2024
4.4.82 596 4/23/2024
4.4.81 299 4/19/2024
4.4.80 185 4/19/2024
4.4.79 201 4/17/2024
4.4.78 172 4/17/2024
4.4.77 186 4/17/2024
4.4.76 169 4/17/2024
4.4.75 207 4/16/2024
4.4.74 1,138 3/17/2024
4.4.73 213 3/16/2024
4.4.72 672 2/21/2024
4.4.71 298 2/15/2024
4.4.70 206 2/14/2024
4.4.69 171 2/14/2024
4.4.68 610 2/1/2024
4.4.67 214 1/31/2024
4.4.66 257 1/27/2024
4.4.65 173 1/26/2024
4.4.64 391 1/17/2024
4.4.63 284 1/13/2024
4.4.62 239 1/11/2024
4.4.61 208 1/10/2024
4.4.60 311 1/6/2024
4.4.59 841 12/7/2023
4.4.58 260 12/2/2023
4.4.57 259 11/29/2023
4.4.56 254 11/25/2023
4.4.55 240 11/23/2023
4.4.54 181 11/23/2023
4.4.53 338 11/17/2023
4.4.52 227 11/15/2023
4.4.51 288 11/9/2023
4.4.50 361 11/3/2023
4.4.49 217 11/2/2023
4.4.48 307 10/28/2023
4.4.47 205 10/27/2023
4.4.46 255 10/25/2023
4.4.45 300 10/20/2023
4.4.44 662 10/11/2023
4.4.43 190 10/10/2023
4.4.42 209 10/7/2023
4.4.41 561 9/23/2023
4.4.40 268 9/20/2023
4.4.39 613 9/16/2023
4.4.38 229 9/15/2023
4.4.37 232 9/13/2023
4.4.36 254 9/11/2023
4.4.35 266 9/9/2023
4.4.34 253 9/8/2023
4.4.33 378 9/2/2023
4.4.32 348 8/31/2023
4.4.31 254 8/30/2023
4.4.30 399 8/9/2023
4.4.29 667 8/6/2023
4.4.28 302 8/4/2023
4.4.27 572 7/13/2023
4.4.26 822 7/4/2023
4.4.25 287 7/2/2023
4.4.24 1,180 6/18/2023
4.4.23 371 6/12/2023
4.4.22 321 6/11/2023
4.4.21 308 6/9/2023
4.4.20 333 6/7/2023
4.4.19 319 6/4/2023
4.4.18 330 6/2/2023
4.4.17 324 6/2/2023
4.4.16 280 6/1/2023
4.4.15 1,060 3/24/2023
4.4.14 424 3/20/2023
4.4.13 442 3/10/2023
4.4.11 401 2/15/2023
4.4.10 567 2/1/2023
4.4.9 487 1/18/2023
4.4.8 1,020 12/7/2022
4.4.7 989 8/30/2022
4.4.6 644 7/27/2022
4.4.5 624 7/13/2022
4.4.4 616 6/29/2022
4.4.3 565 6/22/2022
4.4.2 621 5/25/2022
4.4.1 654 4/27/2022
4.4.0 698 4/7/2022
4.3.17 3,457 3/31/2022
4.3.16 721 3/16/2022
4.3.15 863 1/25/2022
4.3.14 476 12/22/2021
4.3.13 495 12/15/2021
4.3.11 445 12/1/2021
4.3.10 466 11/22/2021
4.3.9 487 11/17/2021
4.3.7 695 10/6/2021
4.3.3 526 9/15/2021
4.3.2 380 8/17/2021
4.3.1 216 8/3/2021
4.3.0 720 6/16/2021
4.2.3 605 5/8/2021
4.2.1 211 2/1/2021
4.2.0 748 1/6/2021
4.1.11 278 9/7/2020
4.1.10 528 8/10/2020
4.1.4 344 6/29/2020
4.1.3 362 5/29/2020
4.1.0-beta.46 300 3/5/2020
4.1.0-beta.44 255 3/4/2020
4.1.0-beta.39 249 2/18/2020
4.1.0-beta.38 269 2/18/2020
4.1.0-beta.36 288 2/18/2020
4.1.0-beta.34 263 2/17/2020
4.1.0-beta.33 221 2/13/2020
4.1.0-beta.25 226 1/17/2020
4.1.0-beta.22 283 1/7/2020
4.1.0-beta.21 438 1/7/2020