@Test
	public void testCourse() {
		// test each student
		for (IPlace[] row : course.getStudents()) {
			for (IPlace is : row) {
				if (is instanceof Student) {
					Student s = (Student) is;
					for (int i = 0; i < s.getActualState().size(); i++) { // check correct actual state and change vector
						if (s.getActualState().getValueAt(i) < 0 || s.getActualState().getValueAt(i) > 100)
							fail("actual state not in range after initialization " + s.getActualState().getValueAt(i));
						if (s.getChangeVector().getValueAt(i) < 0.5 || s.getChangeVector().getValueAt(i) > 1.5)
							fail("change vector not in range after initialization " + s.getChangeVector().getValueAt(i));
						assertEquals("existing history states", s.getHistoryStates().size(), 0);
					}
				}
			}
		}
		// lecture
		assertNotNull("lecture", course.getLecture());
		assertNotNull("lecture blocks", course.getLecture().getTimeBlocks());
		assertNotNull("lecture actual block", course.getLecture().getTimeBlocks().getTimeBlockAtTime(0));
	}