#pragma warning disable
#nullable enable
using
System;
using
System.Collections.Concurrent;
using
System.Collections.Generic;
using
System.Reflection;
using
HarmonyLib;
using
MockMe;
using
MockMe.Mocks;
using
MockMe.Mocks.ClassMemberMocks;
using
MockMe.Mocks.ClassMemberMocks.CallTracker;
namespace
MockMe.Generated.MockData
{
[global::System.CodeDom.Compiler.GeneratedCode(
"MockMe"
,
"1.1.2.0"
)]
internal
class
MyClockMock
: global::MockMe.Abstractions.SealedTypeMock<global::MockData.MyClock>
{
public
MyClockMock()
{
this
.Setup =
new
MyClockMockSetup();
this
.CallTracker =
new
MyClockMockSetup.MyClockMockCallTracker(
this
.Setup);
this
.Assert =
new
MyClockMockSetup.MyClockMockCallTracker.MyClockMockAsserter(
this
.CallTracker);
global::MockMe.MockStore<global::MockData.MyClock>.Store.TryAdd(
this
.MockedObject,
this
);
}
public
MyClockMockSetup Setup {
get
; }
public
MyClockMockSetup.MyClockMockCallTracker.MyClockMockAsserter Assert {
get
; }
private
MyClockMockSetup.MyClockMockCallTracker CallTracker {
get
; }
internal
sealed
class
Patch23f715ba229342e08d6fb11494a17f90
{
private
static
bool
Prefix(global::MockData.MyClock __instance,
ref
global::System.DateTime __result)
{
if
(global::MockMe.MockStore<global::MockData.MyClock>.TryGetValue<MyClockMock>(__instance,
out
var
mock))
{
__result = mock.CallTracker.GetNow();
return
false
;
}
return
true
;
}
}
internal
sealed
class
Patch147ac8e5593f4d678d1855b2e81726e7
{
private
static
bool
Prefix(global::MockData.MyClock __instance,
ref
global::System.DateTime __result)
{
if
(global::MockMe.MockStore<global::MockData.MyClock>.TryGetValue<MyClockMock>(__instance,
out
var
mock))
{
__result = mock.CallTracker.GetUtcNow();
return
false
;
}
return
true
;
}
}
static
MyClockMock()
{
var
harmony =
new
global::HarmonyLib.Harmony(
"com.mockme.patch"
);
var
originalPatch23f715ba229342e08d6fb11494a17f90 =
typeof
(global::MockData.MyClock).GetMethod(
"GetNow"
,
new
Type[] { } );
var
Patch23f715ba229342e08d6fb11494a17f90 =
typeof
(Patch23f715ba229342e08d6fb11494a17f90).GetMethod(
"Prefix"
, global::System.Reflection.BindingFlags.Static | global::System.Reflection.BindingFlags.NonPublic);
harmony.Patch(originalPatch23f715ba229342e08d6fb11494a17f90, prefix:
new
HarmonyMethod(Patch23f715ba229342e08d6fb11494a17f90));
var
originalPatch147ac8e5593f4d678d1855b2e81726e7 =
typeof
(global::MockData.MyClock).GetMethod(
"GetUtcNow"
,
new
Type[] { } );
var
Patch147ac8e5593f4d678d1855b2e81726e7 =
typeof
(Patch147ac8e5593f4d678d1855b2e81726e7).GetMethod(
"Prefix"
, global::System.Reflection.BindingFlags.Static | global::System.Reflection.BindingFlags.NonPublic);
harmony.Patch(originalPatch147ac8e5593f4d678d1855b2e81726e7, prefix:
new
HarmonyMethod(Patch147ac8e5593f4d678d1855b2e81726e7));
}
}
[global::System.CodeDom.Compiler.GeneratedCode(
"MockMe"
,
"1.1.2.0"
)]
internal
class
MyClockMockSetup : global::MockMe.Mocks.ClassMemberMocks.Setup.MemberMockSetup
{
private
global::MockMe.Mocks.ClassMemberMocks.MemberMock<global::System.DateTime>? GetNow_BagStore;
public
global::MockMe.Mocks.ClassMemberMocks.MemberMock<global::System.DateTime> GetNow()
{
return
this
.GetNow_BagStore ??=
new
();;
}
private
global::MockMe.Mocks.ClassMemberMocks.MemberMock<global::System.DateTime>? GetUtcNow_BagStore;
public
global::MockMe.Mocks.ClassMemberMocks.MemberMock<global::System.DateTime> GetUtcNow()
{
return
this
.GetUtcNow_BagStore ??=
new
();;
}
[global::System.CodeDom.Compiler.GeneratedCode(
"MockMe"
,
"1.1.2.0"
)]
internal
class
MyClockMockCallTracker : MockCallTracker
{
private
readonly
MyClockMockSetup setup;
public
MyClockMockCallTracker(MyClockMockSetup setup)
{
this
.setup = setup;
}
private
int
GetNow_CallStore;
public
global::System.DateTime GetNow()
{
this
.GetNow_CallStore++;
return
MockCallTracker.CallMemberMock<global::System.DateTime>(
this
.setup.GetNow_BagStore);
}
private
int
GetUtcNow_CallStore;
public
global::System.DateTime GetUtcNow()
{
this
.GetUtcNow_CallStore++;
return
MockCallTracker.CallMemberMock<global::System.DateTime>(
this
.setup.GetUtcNow_BagStore);
}
[global::System.CodeDom.Compiler.GeneratedCode(
"MockMe"
,
"1.1.2.0"
)]
internal
class
MyClockMockAsserter : MockAsserter
{
private
readonly
MyClockMockSetup.MyClockMockCallTracker tracker;
public
MyClockMockAsserter(MyClockMockSetup.MyClockMockCallTracker tracker)
{
this
.tracker = tracker;
}
public
global::MockMe.Asserters.MemberAsserter GetNow() =>
new
(
this
.tracker.GetNow_CallStore);
public
global::MockMe.Asserters.MemberAsserter GetUtcNow() =>
new
(
this
.tracker.GetUtcNow_CallStore);
}
}
}
}
#pragma warning restore