prowide/prowide-core

View on GitHub
src/test/java/com/prowidesoftware/swift/model/field/Field69BTest.java

Summary

Maintainability
A
3 hrs
Test Coverage

Method testParse69B has 85 lines of code (exceeds 25 allowed). Consider refactoring.
Open

    @Test
    public void testParse69B() {
        Field69B f;

        f = new Field69B((String) null);
Severity: Major
Found in src/test/java/com/prowidesoftware/swift/model/field/Field69BTest.java - About 3 hrs to fix

    Define a constant instead of duplicating this literal "20111224" 4 times.
    Open

            assertEquals("20111224", f.getComponent2());

    Duplicated string literals make the process of refactoring error-prone, since you must be sure to update all occurrences.

    On the other hand, constants can be referenced from many places, but only need to be updated in a single place.

    Noncompliant Code Example

    With the default threshold of 3:

    public void run() {
      prepare("action1");                              // Noncompliant - "action1" is duplicated 3 times
      execute("action1");
      release("action1");
    }
    
    @SuppressWarning("all")                            // Compliant - annotations are excluded
    private void method1() { /* ... */ }
    @SuppressWarning("all")
    private void method2() { /* ... */ }
    
    public String method3(String a) {
      System.out.println("'" + a + "'");               // Compliant - literal "'" has less than 5 characters and is excluded
      return "";                                       // Compliant - literal "" has less than 5 characters and is excluded
    }
    

    Compliant Solution

    private static final String ACTION_1 = "action1";  // Compliant
    
    public void run() {
      prepare(ACTION_1);                               // Compliant
      execute(ACTION_1);
      release(ACTION_1);
    }
    

    Exceptions

    To prevent generating some false-positives, literals having less than 5 characters are excluded.

    Define a constant instead of duplicating this literal "131415" 3 times.
    Open

            assertEquals("131415", f.getComponent3());

    Duplicated string literals make the process of refactoring error-prone, since you must be sure to update all occurrences.

    On the other hand, constants can be referenced from many places, but only need to be updated in a single place.

    Noncompliant Code Example

    With the default threshold of 3:

    public void run() {
      prepare("action1");                              // Noncompliant - "action1" is duplicated 3 times
      execute("action1");
      release("action1");
    }
    
    @SuppressWarning("all")                            // Compliant - annotations are excluded
    private void method1() { /* ... */ }
    @SuppressWarning("all")
    private void method2() { /* ... */ }
    
    public String method3(String a) {
      System.out.println("'" + a + "'");               // Compliant - literal "'" has less than 5 characters and is excluded
      return "";                                       // Compliant - literal "" has less than 5 characters and is excluded
    }
    

    Compliant Solution

    private static final String ACTION_1 = "action1";  // Compliant
    
    public void run() {
      prepare(ACTION_1);                               // Compliant
      execute(ACTION_1);
      release(ACTION_1);
    }
    

    Exceptions

    To prevent generating some false-positives, literals having less than 5 characters are excluded.

    There are no issues that match your filters.

    Category
    Status