Skip to content

Commit

Permalink
Add check that will fail if this timing is off
Browse files Browse the repository at this point in the history
  • Loading branch information
marner2 committed Nov 5, 2022
1 parent d0d1eb1 commit fbbf69f
Showing 1 changed file with 24 additions and 0 deletions.
24 changes: 24 additions & 0 deletions src/Elmish.WPF.Tests/DynamicViewModelTests.fs
Original file line number Diff line number Diff line change
Expand Up @@ -222,6 +222,30 @@ module OneWay =
test <@ vm.Get name = returnEven m (m + 1) @>
}

[<Fact>]
let ``when model updated, event is not called before view model property is updated`` () =
Property.check <| property {
let! name = GenX.auto<string>
let! m1 = GenX.auto<int>
let! m2 = GenX.auto<int> |> GenX.notEqualTo m1

let get = string<int>

let binding = oneWay get name
let vm = TestVm(m1, binding)
let mutable eventFired = false

(vm :> INotifyPropertyChanged).PropertyChanged.Add (fun e ->
test <@ e.PropertyName = name @>
test <@ vm.Get name = get m2 @>
eventFired <- true
)

vm.UpdateModel m2

test <@ eventFired @>
}



module OneWayLazy =
Expand Down

0 comments on commit fbbf69f

Please sign in to comment.