Should we apply z-test or t-test for testing the difference between two sample means? Below is a sample question from Wayne Daniel's Biostatistics 9th ed. This is a question under the subchapter - "Sampling from normally distributed populations where population variances are known". 
I have two questions regarding this example:
(1) Can we assume the population variances even they are not given, if yes, how and why?
(2) Why z test is used in this question when both sample size are smaller than 30. Shouldn't we use t test, should we? 

 A: *

*You are right to think that we shouldn't assume population variances when nothing is mentioned. In this example though, it seems like the authors gave additional information about the problem when they write the assumptions. The organization of the problem is not good. In the Assumptions. section the authors include the information that the two samples were collected independently from two normally distributed populations with variances 1 and 1.5 respectively. Note that the true variances are being provided to you, and not the sample variance. So clearly the population variance is unequal. This information should have been given in the original question. 

*Regarding $z$-test being used, there are two important things to note, that the original populations are declared to be normally distributed (in the assumptions), and the population variances are known. $t$-tests are used when the population variance is unknown and is estimated by the sample variance. Here, the means of the two groups are distributed
$$\bar{X} \sim N\left(\mu_1,\dfrac{1}{12} \right) \text{ and }\bar{Y} \sim N\left(\mu_2,\dfrac{1.5}{15} \right)  $$
and thus the difference between the two sample means is distributed
$$\bar{X} - \bar{Y} \sim N \left( \mu_1 - \mu_2, \dfrac{1}{12} + \dfrac{1.5}{15} \right). $$
Due to the assumption of normality of the two populations, this is an exact distribution, and thus the $z$-test should be used.
