Transport simulations are very valuable for extracting physics information from heavy-ion collision experiments. With the emergence of many different transport codes in recent years, it becomes important to estimate their robustness in extracting physics information from experiments. We report on the results of a transport code comparison project. 18 commonly used transport codes were included in this comparison: 9 Boltzmann-Uehling-Uhlenbeck-type codes and 9 Quantum-Molecular-Dynamics-type codes. These codes have been required to simulate Au+Au collisions using the same physics input for mean fields and for in-medium nucleon-nucleon cross sections, as well as the same initialization set-up, the impact parameter, and other calculational parameters at 100 and 400 AMeV incident energy. Among the codes we compare one-body observables such as rapidity and transverse flow distributions. We also monitor non-observables such as the initialization of the internal states of colliding nuclei and their stability, the collision rates and the Pauli blocking. We find that not completely identical initializations constitute partly for different evolutions. Different strategies to determine the collision probabilities, and to enforce the Pauli blocking, also produce considerably different results. There is a substantial spread in the predictions for the observables, which is much smaller at the higher incident energy. We quantify the uncertainties in the collective flow resulting from the simulation alone as about $30%$ at 100 AMeV and $13%$ at 400 AMeV, respectively. We propose further steps within the code comparison project to test the different aspects of transport simulations in a box calculation of infinite nuclear matter. This should, in particular, improve the robustness of transport model predictions at lower incident energies where abundant amounts of data are available.