samedi 15 juin 2019

Run function/behaviour after all behaviours ended in Pony

I have a simple Publish-Subscriber that I want to write tests for. The methods called here are all behaviours, except get_number_consumed_messages that would be a function.

class iso _SinglePubSub is UnitTest fun name(): String => "single publish/consume"

fun apply(h: TestHelper) =>
    let p = Publisher("publisher message", h.env.out)
    let queue = Queue(1, h.env.out)
    let c = Consumer(h.env.out)

    p.publish_message(queue)
    p.publish_message(queue)
    c.consume_message(queue)
    c.consume_message(queue)

    //Run after all behaviours are done
    let n = c.get_number_consumed_messages()
    h.assert_eq[USize](2, n)

How would someone implement the get_number_consumed_messages function/behaviour or how would you have to modify the test function?

Aucun commentaire:

Enregistrer un commentaire