package de.knurt.fam.test.web; import de.knurt.fam.template.util.TemplateHtml; public class MolybdenumAssert { /** one and only instance of MolybdenumAssert */ private volatile static MolybdenumAssert me; /** construct MolybdenumAssert */ private MolybdenumAssert() { } /** * return the one and only instance of MolybdenumAssert * * @return the one and only instance of MolybdenumAssert */ public static MolybdenumAssert getInstance() { if (me == null) { // ↖ no instance so far synchronized (MolybdenumAssert.class) { if (me == null) { // ↖ still no instance so far // ↓ the one and only me me = new MolybdenumAssert(); } } } return me; } /** * short for {@link #getInstance()} * * @return the one and only instance of MolybdenumAssert */ public static MolybdenumAssert me() { return getInstance(); } public String page(String resourceName) { String target = String.format("css=body#body_%s", resourceName); return String.format(Molybdenum.command2format, "assertElementPresent", target, "", String.format("is %s page", resourceName)); } public String page(String resourceName, String queryParams) { return String.format(Molybdenum.command2format, "assertLocation", TemplateHtml.me().getHref(resourceName) + queryParams, "", "assert location with query params " + resourceName); } public String notpage(String resourceName) { String target = String.format("css=body#body_%s", resourceName); return String.format(Molybdenum.command2format, "assertElementNotPresent", target, "", String.format("is not %s page", resourceName)); } }