Unconditional function for empty generating mock (#430)

This commit is contained in:
Patrick Stevens
2025-09-30 22:52:59 +01:00
committed by GitHub
parent 857bde0ba9
commit 1721ad1ac0
6 changed files with 19 additions and 22 deletions

View File

@@ -37,7 +37,7 @@ type internal PublicTypeMock =
}
/// An implementation where every non-unit method throws.
static member Empty : PublicTypeMock =
static member Empty () : PublicTypeMock =
{
Calls = PublicTypeMockCalls.Calls.Empty ()
Mem1 = (fun _ -> raise (System.NotImplementedException "Unimplemented mock function: Mem1"))
@@ -90,7 +90,7 @@ type public PublicTypeInternalFalseMock =
}
/// An implementation where every non-unit method throws.
static member Empty : PublicTypeInternalFalseMock =
static member Empty () : PublicTypeInternalFalseMock =
{
Calls = PublicTypeInternalFalseMockCalls.Calls.Empty ()
Mem1 = (fun _ -> raise (System.NotImplementedException "Unimplemented mock function: Mem1"))
@@ -140,7 +140,7 @@ type internal InternalTypeMock =
}
/// An implementation where every non-unit method throws.
static member Empty : InternalTypeMock =
static member Empty () : InternalTypeMock =
{
Calls = InternalTypeMockCalls.Calls.Empty ()
Mem1 = (fun _ -> raise (System.NotImplementedException "Unimplemented mock function: Mem1"))
@@ -185,7 +185,7 @@ type private PrivateTypeMock =
}
/// An implementation where every non-unit method throws.
static member Empty : PrivateTypeMock =
static member Empty () : PrivateTypeMock =
{
Calls = PrivateTypeMockCalls.Calls.Empty ()
Mem1 = (fun _ -> raise (System.NotImplementedException "Unimplemented mock function: Mem1"))
@@ -230,7 +230,7 @@ type private PrivateTypeInternalFalseMock =
}
/// An implementation where every non-unit method throws.
static member Empty : PrivateTypeInternalFalseMock =
static member Empty () : PrivateTypeInternalFalseMock =
{
Calls = PrivateTypeInternalFalseMockCalls.Calls.Empty ()
Mem1 = (fun _ -> raise (System.NotImplementedException "Unimplemented mock function: Mem1"))
@@ -487,7 +487,7 @@ type internal TypeWithInterfaceMock =
}
/// An implementation where every non-unit method throws.
static member Empty : TypeWithInterfaceMock =
static member Empty () : TypeWithInterfaceMock =
{
Calls = TypeWithInterfaceMockCalls.Calls.Empty ()
Dispose = (fun () -> ())
@@ -541,7 +541,7 @@ type internal TypeWithPropertiesMock =
}
/// An implementation where every non-unit method throws.
static member Empty : TypeWithPropertiesMock =
static member Empty () : TypeWithPropertiesMock =
{
Calls = TypeWithPropertiesMockCalls.Calls.Empty ()
Dispose = (fun () -> ())

View File

@@ -36,7 +36,7 @@ type internal PublicTypeNoAttrMock =
}
/// An implementation where every non-unit method throws.
static member Empty : PublicTypeNoAttrMock =
static member Empty () : PublicTypeNoAttrMock =
{
Calls = PublicTypeNoAttrMockCalls.Calls.Empty ()
Mem1 = (fun _ -> raise (System.NotImplementedException "Unimplemented mock function: Mem1"))
@@ -88,7 +88,7 @@ type public PublicTypeInternalFalseNoAttrMock =
}
/// An implementation where every non-unit method throws.
static member Empty : PublicTypeInternalFalseNoAttrMock =
static member Empty () : PublicTypeInternalFalseNoAttrMock =
{
Calls = PublicTypeInternalFalseNoAttrMockCalls.Calls.Empty ()
Mem1 = (fun _ -> raise (System.NotImplementedException "Unimplemented mock function: Mem1"))
@@ -137,7 +137,7 @@ type internal InternalTypeNoAttrMock =
}
/// An implementation where every non-unit method throws.
static member Empty : InternalTypeNoAttrMock =
static member Empty () : InternalTypeNoAttrMock =
{
Calls = InternalTypeNoAttrMockCalls.Calls.Empty ()
Mem1 = (fun _ -> raise (System.NotImplementedException "Unimplemented mock function: Mem1"))
@@ -181,7 +181,7 @@ type private PrivateTypeNoAttrMock =
}
/// An implementation where every non-unit method throws.
static member Empty : PrivateTypeNoAttrMock =
static member Empty () : PrivateTypeNoAttrMock =
{
Calls = PrivateTypeNoAttrMockCalls.Calls.Empty ()
Mem1 = (fun _ -> raise (System.NotImplementedException "Unimplemented mock function: Mem1"))
@@ -225,7 +225,7 @@ type private PrivateTypeInternalFalseNoAttrMock =
}
/// An implementation where every non-unit method throws.
static member Empty : PrivateTypeInternalFalseNoAttrMock =
static member Empty () : PrivateTypeInternalFalseNoAttrMock =
{
Calls = PrivateTypeInternalFalseNoAttrMockCalls.Calls.Empty ()
Mem1 = (fun _ -> raise (System.NotImplementedException "Unimplemented mock function: Mem1"))
@@ -479,7 +479,7 @@ type internal TypeWithInterfaceNoAttrMock =
}
/// An implementation where every non-unit method throws.
static member Empty : TypeWithInterfaceNoAttrMock =
static member Empty () : TypeWithInterfaceNoAttrMock =
{
Calls = TypeWithInterfaceNoAttrMockCalls.Calls.Empty ()
Dispose = (fun () -> ())

View File

@@ -11,7 +11,7 @@ module TestCapturingMockGenerator =
[<Test>]
let ``Example of use: IPublicType`` () =
let mock : IPublicType =
{ PublicTypeMock.Empty with
{ PublicTypeMock.Empty () with
Mem1 = fun (s, count) -> List.replicate count s
}
:> _
@@ -38,7 +38,7 @@ module TestCapturingMockGenerator =
[<Test>]
let ``Example of use: properties`` () =
let mock : TypeWithProperties =
{ TypeWithPropertiesMock.Empty with
{ TypeWithPropertiesMock.Empty () with
Mem1 = fun i -> async { return Option.toArray i }
Prop1 = fun () -> 44
}

View File

@@ -11,7 +11,7 @@ module TestCapturingMockGeneratorNoAttr =
[<Test>]
let ``Example of use: IPublicType`` () =
let mock : IPublicTypeNoAttr =
{ PublicTypeNoAttrMock.Empty with
{ PublicTypeNoAttrMock.Empty () with
Mem1 = fun (s, count) -> List.replicate count s
}
:> _

View File

@@ -273,10 +273,7 @@ module internal CapturingInterfaceMockGenerator =
let staticMemberEmpty =
SynBinding.basic
[ Ident.create "Empty" ]
(if interfaceType.Generics.IsNone then
[]
else
[ SynPat.unit ])
[ SynPat.unit ]
(SynExpr.createRecord None emptyRecordFieldInstantiations)
|> SynBinding.withXmlDoc (PreXmlDoc.create "An implementation where every non-unit method throws.")
|> SynBinding.withReturnAnnotation constructorReturnType

View File

@@ -1,5 +1,5 @@
{
"version": "8.1",
"version": "9.0",
"publicReleaseRefSpec": [
"^refs/heads/main$"
],
@@ -11,4 +11,4 @@
":/README.md",
":/Directory.Build.props"
]
}
}