### Question:
FluentWebElementAssert extends AbstractFluentAssert<FluentWebElementAssert, FluentWebElement> implements ElementStateAssert, ElementAttributeAssert { @Override public FluentWebElementAssert hasTagName(String tagName) { String actualTag = actual.tagName(); if (!actualTag.equals(tagName)) { failWithMessage("The element does not have tag: " + tagName + ". Actual tag found : " + actualTag); } return this; } FluentWebElementAssert(FluentWebElement actual); @Override FluentWebElementAssert isEnabled(); @Override FluentWebElementAssert isNotEnabled(); @Override FluentWebElementAssert isDisplayed(); @Override FluentWebElementAssert isNotDisplayed(); @Override FluentWebElementAssert isSelected(); @Override FluentWebElementAssert isNotSelected(); @Override FluentWebElementAssert isClickable(); @Override FluentWebElementAssert isNotClickable(); @Override FluentWebElementAssert isPresent(); @Override FluentWebElementAssert isNotPresent(); @Override FluentWebElementAssert hasText(String textToFind); @Override FluentWebElementAssert hasTextContaining(String text); @Override FluentWebElementAssert hasTextMatching(String regexToBeMatched); @Override FluentWebElementAssert hasNotText(String textToFind); @Override FluentWebElementAssert hasNotTextContaining(String textToFind); @Override FluentWebElementAssert hasId(String idToFind); @Override FluentWebElementAssert hasClass(String classToFind); @Override FluentWebElementAssert hasNotClass(String htmlClass); @Override FluentWebElementAssert hasClasses(String... classesToFind); @Override FluentWebElementAssert hasNotClasses(String... classesToFind); @Override FluentWebElementAssert hasValue(String value); @Override FluentWebElementAssert hasName(String name); @Override FluentWebElementAssert hasTagName(String tagName); @Override FluentWebElementAssert hasDimension(Dimension dimension); @Override FluentWebElementAssert hasAttributeValue(String attribute, String value); @Override AbstractStringAssert hasAttribute(String attribute); @Override FluentWebElementAssert hasNotAttribute(String attribute);  }### Answer:
@Test public void testHasTagNameOk() { when(element.tagName()).thenReturn("some tag"); elementAssert.hasTagName("some tag"); }
@Test public void testHasTagNameKo() { when(element.tagName()).thenReturn("other tag"); assertThatAssertionErrorIsThrownBy(() -> elementAssert.hasTagName("some tag")) .hasMessage("The element does not have tag: some tag. Actual tag found : other tag"); }