def METHOD_NAME(self, first_block_number, last_block_number, sender):
    # check the number of logs returned for different ranges
    for from_block in range(first_block_number, last_block_number + 1):
        for to_block in range(from_block, last_block_number + 1):
            filter = Filter(from_block=hex(from_block), to_block=hex(to_block))
            logs = self.rpc.get_logs(filter)
            assert_equal(len(logs), to_block - from_block + 1)
    # check the event parameters in each block
    for block_number in range(first_block_number, last_block_number + 1):
        logs = self.rpc.get_logs(Filter(from_block=hex(block_number), to_block=hex(block_number)))
        assert_equal(len(logs), 1)
        assert_equal(logs[0]["topics"][0], FOO_TOPIC)
        assert_equal(logs[0]["topics"][1], address_to_topic(sender))
        assert_equal(logs[0]["topics"][2], number_to_topic(block_number - first_block_number + 1))