    @Test
    public void testBlame() throws Exception {

        FaultInfo faultInfo = FaultInfoBuilder
                .blame(Blame.CLIENT)
                .faultCause("InvalidInput")
                .applicationErrorCode(null)
                .message("Invalid input")
                .retrySameLocation(Retry.no())
                .retryOtherLocations(Retry.no())
                .incidentId(null);

        assertEquals(faultInfo.getBlame(), Blame.CLIENT);
        assertEquals(faultInfo.getFaultCause(), "InvalidInput");
        assertEquals(faultInfo.getApplicationErrorCode().orNull(), null);
        assertEquals(faultInfo.getMessage(), "Invalid input");
        assertEquals(faultInfo.getRetrySameLocation().orNull(), Retry.no());
        assertEquals(faultInfo.getRetryOtherLocations().orNull(), Retry.no());
        assertEquals(faultInfo.getIncidentId().orNull(), null);
    }