  We address the problem of testing whether a dynamic graph is temporally
connected, i.e. a temporal path ({\em journey}) exists between all pairs of
vertices. We consider a discrete version of the problem, where the topology is
given as an evolving graph $\G=\{G_1,G_2,...,G_{k}\}$ in which only the set of
(directed) edges varies. Two cases are studied, depending on whether a single
edge or an unlimited number of edges can be crossed in a same $G_i$ (strict
journeys {\it vs} non-strict journeys). For strict journeys, two existing
algorithms designed for other problems can be adapted. However, we show that a
dedicated approach achieves a better time complexity than one of these two
algorithms in all cases, and than the other one for those graphs whose density
is low at any time (though arbitrary over time). The time complexity of our
algorithm is $O(k\mu n)$, where $k=|\G|$ is the number of time steps and
$\mu=max(|E_i|)$ is the maximum {\em instant} density, to be contrasted with
$m=|\cup E_i|$, the {\em cumulated} density. Indeed, it is not uncommon for a
mobility scenario to satisfy, for instance, both $\mu=o(n)$ and
$m=\Theta(n^2)$. We characterize the key values of $k, \mu$ and $m$ for which
our algorithm should be used. For non-strict journeys, for which no algorithm
is known, we show that a similar strategy can be used to answer the question,
still in $O(k\mu n)$ time.
