Sha256: 2f758f3fba240b71b25c01cef481058260a2773b2b425c963f051527a93aeb32

Contents?: true

Size: 1.21 KB

Versions: 165

Compression:

Stored size: 1.21 KB

Contents

module LensPersonTest

open System
open NUnit.Framework
open Aether
open Aether.Operators
open LensPerson

let testPerson =
    { name = 
        { name = "Jane Joanna"
          surName = "Doe" }
      born = 
        { at = 
            { street = "Longway"
              houseNumber = 1024
              place = "Springfield"
              country = "United States" }
          on = DateTime(1984, 4, 12) }
      address = 
        { street = "Shortlane"
          houseNumber = 2
          place = "Fallmeadow"
          country = "Canada" } }

[<Test>]
let ``Set born at street`` () =
    Assert.That(Optic.get bornAtStreet testPerson, Is.EqualTo("Longway"))

[<Test>]
[<Ignore("Remove to run test")>]
let ``Set current street`` () =
    Assert.That(Optic.set currentStreet "Middleroad" testPerson |> Optic.get currentStreet, Is.EqualTo("Middleroad"))

[<Test>]
[<Ignore("Remove to run test")>]
let ``Upper case born at street`` () =
    Assert.That(Optic.map bornAtStreet (fun x -> x.ToUpper()) testPerson |> Optic.get bornAtStreet, Is.EqualTo("LONGWAY"))

[<Test>]
[<Ignore("Remove to run test")>]
let ``Set birth month`` () =
    Assert.That(Optic.set birthMonth 9 testPerson |> Optic.get bornOn, Is.EqualTo(DateTime(1984, 9, 12)))

Version data entries

165 entries across 165 versions & 1 rubygems

Version Path
trackler-2.2.1.22 tracks/fsharp/exercises/lens-person/LensPersonTest.fs
trackler-2.2.1.21 tracks/fsharp/exercises/lens-person/LensPersonTest.fs
trackler-2.2.1.20 tracks/fsharp/exercises/lens-person/LensPersonTest.fs
trackler-2.2.1.19 tracks/fsharp/exercises/lens-person/LensPersonTest.fs
trackler-2.2.1.18 tracks/fsharp/exercises/lens-person/LensPersonTest.fs
trackler-2.2.1.17 tracks/fsharp/exercises/lens-person/LensPersonTest.fs
trackler-2.2.1.16 tracks/fsharp/exercises/lens-person/LensPersonTest.fs
trackler-2.2.1.15 tracks/fsharp/exercises/lens-person/LensPersonTest.fs
trackler-2.2.1.14 tracks/fsharp/exercises/lens-person/LensPersonTest.fs
trackler-2.2.1.13 tracks/fsharp/exercises/lens-person/LensPersonTest.fs
trackler-2.2.1.12 tracks/fsharp/exercises/lens-person/LensPersonTest.fs
trackler-2.2.1.11 tracks/fsharp/exercises/lens-person/LensPersonTest.fs
trackler-2.2.1.10 tracks/fsharp/exercises/lens-person/LensPersonTest.fs
trackler-2.2.1.9 tracks/fsharp/exercises/lens-person/LensPersonTest.fs
trackler-2.2.1.8 tracks/fsharp/exercises/lens-person/LensPersonTest.fs
trackler-2.2.1.7 tracks/fsharp/exercises/lens-person/LensPersonTest.fs
trackler-2.2.1.6 tracks/fsharp/exercises/lens-person/LensPersonTest.fs
trackler-2.2.1.5 tracks/fsharp/exercises/lens-person/LensPersonTest.fs
trackler-2.2.1.4 tracks/fsharp/exercises/lens-person/LensPersonTest.fs
trackler-2.2.1.3 tracks/fsharp/exercises/lens-person/LensPersonTest.fs