Skip to content

Content of file GameMemoryCapacityTest.java

package de.fhdw.gaming.ipspiel23.memory;

import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertFalse;
import static org.junit.jupiter.api.Assertions.assertThrows;
import static org.junit.jupiter.api.Assertions.assertTrue;

import org.junit.jupiter.api.Test;

/**
 * Tests for the {@link GameMemoryCapacity} class.
 */
public class GameMemoryCapacityTest {

    /**
     * Tests the {@link GameMemoryCapacity#unlimited()} method.
     */
    @Test
    void testUnlimited() {
        final IGameMemoryCapacity capacity = GameMemoryCapacity.unlimited();

        assertTrue(capacity.isUnlimited());
        assertFalse(capacity.isDefault());
        assertEquals(-1, capacity.getCapacity());
    }

    /**
     * Tests the {@link GameMemoryCapacity#of(int)} method.
     */
    @Test
    void testOf() {
        final int customCapacity = 10;
        final IGameMemoryCapacity capacity = GameMemoryCapacity.of(customCapacity);

        assertFalse(capacity.isUnlimited());
        assertFalse(capacity.isDefault());
        assertEquals(customCapacity, capacity.getCapacity());
    }

    /**
     * Tests the {@link GameMemoryCapacity#useDefault()} method.
     */
    @Test
    void testUseDefault() {
        final IGameMemoryCapacity capacity = GameMemoryCapacity.useDefault();

        assertFalse(capacity.isUnlimited());
        assertTrue(capacity.isDefault());
        assertEquals(5, capacity.getCapacity());
    }

    /**
     * Tests that an {@link IllegalArgumentException} is thrown when passing an invalid capacity to the
     * {@link GameMemoryCapacity#of(int)} method.
     */
    @Test
    void testInvalidCapacity() {
        final Integer invalidCapacity = -1;

        IllegalArgumentException exception = assertThrows(IllegalArgumentException.class, () -> {
            GameMemoryCapacity.of(invalidCapacity);
        });
Local variable 'exception' could be declared final.
A local variable assigned only once can be declared final.
    
        

public class Bar {
    public void foo () {
    String txtA = "a";          // if txtA will not be assigned again it is better to do this:
    final String txtB = "b";
    }
}

        
    
See PMD documentation.
assertEquals("Capacity must be greater than or equal to 0", exception.getMessage()); } }