Table of Contents

Class ProxyDemoTests

Namespace
PatternKit.Examples.Tests.ProxyDemo
Assembly
PatternKit.Examples.Tests.dll
[Feature("Examples - Proxy Pattern Demonstrations", null)]
public sealed class ProxyDemoTests : TinyBddXunitBase, IDisposable
Inheritance
TestBase
TinyBddXunitBase
ProxyDemoTests
Implements
Inherited Members
TinyBddXunitBase.Dispose()
Extension Methods

Constructors

ProxyDemoTests(ITestOutputHelper)

public ProxyDemoTests(ITestOutputHelper output)

Parameters

output ITestOutputHelper

Methods

CachingProxy_Demo_Validates_Fibonacci_Memoization()

[Scenario("Caching proxy demo validates memoization with Fibonacci", new string[] { })]
[Fact]
public Task CachingProxy_Demo_Validates_Fibonacci_Memoization()

Returns

Task

CachingProxy_Demo_Validation()

[Scenario("Caching proxy reduces expensive calculations", new string[] { })]
[Fact]
public Task CachingProxy_Demo_Validation()

Returns

Task

CustomInterception_Demo_Validates_Max_Retries()

[Scenario("Custom interception demo validates max retries exceeded", new string[] { })]
[Fact]
public Task CustomInterception_Demo_Validates_Max_Retries()

Returns

Task

CustomInterception_Demo_Validates_Retry()

[Scenario("Custom interception demo validates retry logic", new string[] { })]
[Fact]
public Task CustomInterception_Demo_Validates_Retry()

Returns

Task

Demo_Methods_Execute()

[Scenario("Demo methods execute without errors", new string[] { })]
[Fact]
public Task Demo_Methods_Execute()

Returns

Task

DemonstrateCachingProxy_Executes()

[Scenario("DemonstrateCachingProxy executes without error", new string[] { })]
[Fact]
public Task DemonstrateCachingProxy_Executes()

Returns

Task

DemonstrateCustomInterception_Executes()

[Scenario("DemonstrateCustomInterception executes without error", new string[] { })]
[Fact]
public Task DemonstrateCustomInterception_Executes()

Returns

Task

DemonstrateLoggingProxy_Executes()

[Scenario("DemonstrateLoggingProxy executes without error", new string[] { })]
[Fact]
public Task DemonstrateLoggingProxy_Executes()

Returns

Task

DemonstrateMockFramework_Executes()

[Scenario("DemonstrateMockFramework executes without error", new string[] { })]
[Fact]
public Task DemonstrateMockFramework_Executes()

Returns

Task

DemonstrateProtectionProxy_Executes()

[Scenario("DemonstrateProtectionProxy executes without error", new string[] { })]
[Fact]
public Task DemonstrateProtectionProxy_Executes()

Returns

Task

DemonstrateRemoteProxy_Executes()

[Scenario("DemonstrateRemoteProxy executes without error", new string[] { })]
[Fact]
public Task DemonstrateRemoteProxy_Executes()

Returns

Task

DemonstrateVirtualProxy_Executes()

[Scenario("DemonstrateVirtualProxy executes without error", new string[] { })]
[Fact]
public Task DemonstrateVirtualProxy_Executes()

Returns

Task

DocumentService_Deletes_Document()

[Scenario("DocumentService deletes document", new string[] { })]
[Fact]
public Task DocumentService_Deletes_Document()

Returns

Task

DocumentService_Reads_Document()

[Scenario("DocumentService reads document", new string[] { })]
[Fact]
public Task DocumentService_Reads_Document()

Returns

Task

EmailService_Adapter_Works()

[Scenario("Email service adapter integrates with mock", new string[] { })]
[Fact]
public Task EmailService_Adapter_Works()

Returns

Task

ExpensiveDatabase_Initializes_And_Queries()

[Scenario("ExpensiveDatabase initializes and queries", new string[] { })]
[Fact]
public Task ExpensiveDatabase_Initializes_And_Queries()

Returns

Task

LoggingProxy_Demo_Validates_Logging()

[Scenario("Logging proxy demo validates invocation logging", new string[] { })]
[Fact]
public Task LoggingProxy_Demo_Validates_Logging()

Returns

Task

LoggingProxy_Demo_Validation()

[Scenario("Logging proxy records invocations", new string[] { })]
[Fact]
public Task LoggingProxy_Demo_Validation()

Returns

Task

MockFramework_Detects_Missing_Calls()

[Scenario("Mock framework detects missing calls", new string[] { })]
[Fact]
public Task MockFramework_Detects_Missing_Calls()

Returns

Task

MockFramework_Exposes_Invocations()

[Scenario("Mock framework exposes invocations list", new string[] { })]
[Fact]
public Task MockFramework_Exposes_Invocations()

Returns

Task

MockFramework_Multiple_Setups()

[Scenario("Mock framework handles multiple setups correctly", new string[] { })]
[Fact]
public Task MockFramework_Multiple_Setups()

Returns

Task

MockFramework_NoSetup_Throws()

[Scenario("Mock framework with no setup throws on unknown input", new string[] { })]
[Fact]
public Task MockFramework_NoSetup_Throws()

Returns

Task

MockFramework_Throws_Method()

[Scenario("Mock framework Throws method configures exception", new string[] { })]
[Fact]
public Task MockFramework_Throws_Method()

Returns

Task

MockFramework_Tracks_Invocations()

[Scenario("Mock framework tracks invocations", new string[] { })]
[Fact]
public Task MockFramework_Tracks_Invocations()

Returns

Task

MockFramework_Verifies_Calls()

[Scenario("Mock framework verifies call count", new string[] { })]
[Fact]
public Task MockFramework_Verifies_Calls()

Returns

Task

MockFramework_VerifyAny_Fails()

[Scenario("Mock framework VerifyAny fails when no matching calls", new string[] { })]
[Fact]
public Task MockFramework_VerifyAny_Fails()

Returns

Task

MockFramework_VerifyAny_Succeeds()

[Scenario("Mock framework VerifyAny succeeds when call exists", new string[] { })]
[Fact]
public Task MockFramework_VerifyAny_Succeeds()

Returns

Task

MockFramework_Verify_Default_Times()

[Scenario("Mock framework verify with default times parameter", new string[] { })]
[Fact]
public Task MockFramework_Verify_Default_Times()

Returns

Task

ProtectionProxy_Demo_Validates_Access_Control()

[Scenario("Protection proxy demo validates access control logic", new string[] { })]
[Fact]
public Task ProtectionProxy_Demo_Validates_Access_Control()

Returns

Task

ProtectionProxy_Enforces_Access()

[Scenario("Protection proxy enforces access control", new string[] { })]
[Fact]
public Task ProtectionProxy_Enforces_Access()

Returns

Task

RemoteDataService_Fetches_Data()

[Scenario("RemoteDataService fetches data", new string[] { })]
[Fact]
public Task RemoteDataService_Fetches_Data()

Returns

Task

RemoteProxy_Demo_Validates_Network_Optimization()

[Scenario("Remote proxy demo validates network call optimization", new string[] { })]
[Fact]
public Task RemoteProxy_Demo_Validates_Network_Optimization()

Returns

Task

RemoteProxy_Demo_Validation()

[Scenario("Remote proxy combines logging and caching", new string[] { })]
[Fact]
public Task RemoteProxy_Demo_Validation()

Returns

Task

RetryInterceptor_Demo_Validation()

[Scenario("Retry interceptor handles transient failures", new string[] { })]
[Fact]
public Task RetryInterceptor_Demo_Validation()

Returns

Task

RunAllDemos_Executes()

[Scenario("RunAllDemos executes all demonstrations", new string[] { })]
[Fact]
public Task RunAllDemos_Executes()

Returns

Task

VirtualProxy_Delays_Initialization()

[Scenario("Virtual proxy delays expensive initialization", new string[] { })]
[Fact]
public Task VirtualProxy_Delays_Initialization()

Returns

Task

VirtualProxy_Demo_Validates_Lazy_Init()

[Scenario("Virtual proxy demo validates lazy initialization behavior", new string[] { })]
[Fact]
public Task VirtualProxy_Demo_Validates_Lazy_Init()

Returns

Task