3 people like it.
Like the snippet!
A quick NodaTime.Instant generator for FsCheck
A quick NodaTime.Instant generator for FsCheck
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
|
open NodaTime
open FsCheck
type NodaGen =
static member Instant () =
Arb.generate<System.DateTime>
|> Gen.map (fun dt -> dt.ToUniversalTime())
|> Gen.map (fun dt -> Instant.FromDateTimeUtc dt)
|> Arb.fromGen
// If using NUnit...
// [<SetUp>]
let setup () =
do Arb.register<NodaGen>() |> ignore
|
namespace NodaTime
namespace FsCheck
type NodaGen =
static member Instant : unit -> 'a
Full name: Script.NodaGen
Multiple items
static member NodaGen.Instant : unit -> 'a
Full name: Script.NodaGen.Instant
--------------------
type Instant =
struct
new : ticks:int64 -> Instant
member CompareTo : other:Instant -> int
member Equals : obj:obj -> bool + 1 overload
member GetHashCode : unit -> int
member InUtc : unit -> ZonedDateTime
member InZone : zone:DateTimeZone -> ZonedDateTime + 1 overload
member Minus : other:Instant -> Duration + 1 overload
member Plus : duration:Duration -> Instant
member PlusTicks : ticksToAdd:int64 -> Instant
member Ticks : int64
...
end
Full name: NodaTime.Instant
--------------------
Instant()
Instant(ticks: int64) : unit
namespace System
Multiple items
type DateTime =
struct
new : ticks:int64 -> DateTime + 10 overloads
member Add : value:TimeSpan -> DateTime
member AddDays : value:float -> DateTime
member AddHours : value:float -> DateTime
member AddMilliseconds : value:float -> DateTime
member AddMinutes : value:float -> DateTime
member AddMonths : months:int -> DateTime
member AddSeconds : value:float -> DateTime
member AddTicks : value:int64 -> DateTime
member AddYears : value:int -> DateTime
...
end
Full name: System.DateTime
--------------------
System.DateTime()
(+0 other overloads)
System.DateTime(ticks: int64) : unit
(+0 other overloads)
System.DateTime(ticks: int64, kind: System.DateTimeKind) : unit
(+0 other overloads)
System.DateTime(year: int, month: int, day: int) : unit
(+0 other overloads)
System.DateTime(year: int, month: int, day: int, calendar: System.Globalization.Calendar) : unit
(+0 other overloads)
System.DateTime(year: int, month: int, day: int, hour: int, minute: int, second: int) : unit
(+0 other overloads)
System.DateTime(year: int, month: int, day: int, hour: int, minute: int, second: int, kind: System.DateTimeKind) : unit
(+0 other overloads)
System.DateTime(year: int, month: int, day: int, hour: int, minute: int, second: int, calendar: System.Globalization.Calendar) : unit
(+0 other overloads)
System.DateTime(year: int, month: int, day: int, hour: int, minute: int, second: int, millisecond: int) : unit
(+0 other overloads)
System.DateTime(year: int, month: int, day: int, hour: int, minute: int, second: int, millisecond: int, kind: System.DateTimeKind) : unit
(+0 other overloads)
Multiple items
type Instant =
struct
new : ticks:int64 -> Instant
member CompareTo : other:Instant -> int
member Equals : obj:obj -> bool + 1 overload
member GetHashCode : unit -> int
member InUtc : unit -> ZonedDateTime
member InZone : zone:DateTimeZone -> ZonedDateTime + 1 overload
member Minus : other:Instant -> Duration + 1 overload
member Plus : duration:Duration -> Instant
member PlusTicks : ticksToAdd:int64 -> Instant
member Ticks : int64
...
end
Full name: NodaTime.Instant
--------------------
Instant()
Instant(ticks: int64) : unit
Instant.FromDateTimeUtc(dateTime: System.DateTime) : Instant
val setup : unit -> unit
Full name: Script.setup
val ignore : value:'T -> unit
Full name: Microsoft.FSharp.Core.Operators.ignore
More information