001package de.cuioss.test.jsf.mocks;
002
003import static org.junit.jupiter.api.Assertions.assertTrue;
004
005import javax.faces.component.ContextCallback;
006import javax.faces.component.UIComponent;
007import javax.faces.context.FacesContext;
008
009/**
010 * Mock Variant of {@link ContextCallback}.
011 *
012 * @author Oliver Wolff
013 *
014 */
015public class CuiMockContextCallback implements ContextCallback {
016
017    private int called = 0;
018
019    @Override
020    public void invokeContextCallback(FacesContext context, UIComponent target) {
021        called++;
022    }
023
024    /**
025     * Checks whether callback has been called at least one time
026     */
027    public void assertCalledAtLeastOnce() {
028        assertTrue(called > 0, "Has not been called at all");
029    }
030
031    /**
032     * Checks whether callback has been called at least one time
033     */
034    public void assertNotCalledAtAll() {
035        assertTrue(called == 0, "Has been called " + called + " times");
036    }
037
038}