| getObserversOfType(Class) |  | 0% |  | 0% | 3 | 3 | 6 | 6 | 1 | 1 |
| notifyObservers(MaterialEvent) |   | 43% |   | 75% | 1 | 3 | 4 | 10 | 0 | 1 |
| clearObservers() |  | 0% |  | 0% | 2 | 2 | 8 | 8 | 1 | 1 |
| removeObserver(MaterialObserver) |  | 0% |  | 0% | 3 | 3 | 6 | 6 | 1 | 1 |
| toString() |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| getObservers() |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| addObserver(MaterialObserver) |   | 76% |   | 50% | 2 | 3 | 1 | 6 | 0 | 1 |
| hasObserver(MaterialObserver) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| getObserverCount() |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| hasNoObservers() |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| publishEvent(MaterialEvent) |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| publishPriceChanged(Material, double, double) |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| MaterialEventPublisher() |  | 100% | | n/a | 0 | 1 | 0 | 3 | 0 | 1 |
| publishMaterialAdded(Material) |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| static {...} |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |