Вы говорите, что это слишком просто, чтобы потерпеть неудачу:
for (i = 0; i < observers.length; ++i) {
// Notify observer observers[i]
}
Заманчиво думать об этом, но учтите эту распространенную ошибку:
for (i = 0; i <= observers.length; ++i) {
// Notify observer observers[i]
}
Или вот этот:
for (i = 0; i < observers.length; ++j) {
// Notify observer observers[i]
}
Или, возможно, наблюдатели не добавляются правильно. Или ... или ... или ...
Если у вас уже есть тесты, кажется, что их не нужно удалять, и одной из аксиом программного обеспечения является то, что функции имеют тенденцию к росту со временем, поэтому простой 1011 * теперь может быть не так прост - именно то, что ваши тесты должны помочь вам.