Package org.gbcpainter.test

Source Code of org.gbcpainter.test.TextureLoaderTest

package org.gbcpainter.test;

import org.gbcpainter.env.GraphicsEnv;
import org.gbcpainter.loaders.textures.TextureLoader;
import org.gbcpainter.loaders.textures.TextureNotFoundException;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;

import javax.swing.*;

import java.awt.*;
import java.io.IOException;
import java.util.NoSuchElementException;

import static org.junit.Assert.*;

/**
* @author Lorenzo Pellegrini
*/
public class TextureLoaderTest {

  private JFrame frame;

  @Before
  public void initializeEnv() throws Exception {
    frame = InitializeEnv.initialize( 400, 400, "testimg" );
  }

  @After
  public void deinitalize() {
    if ( frame != null ) {
      frame.dispose();
      frame = null;
    }
    try {
      GraphicsEnv.getInstance().getTextureLoader().clear();
    } catch( Exception ignored) {}
  }

  @Test
  public void testLoadNonAcceleratedTexture() throws Exception {
    final TextureLoader loader = GraphicsEnv.getInstance().getTextureLoader();

    loader.loadTexture( "Header", false );

    try {
      loader.mustReload( "Header", true );
      fail();
    } catch ( NoSuchElementException e ){}

    loader.mustReload( "Header", false );

    loader.clear();

    try {
      loader.mustReload( "Header", false );
      fail();
    } catch ( NoSuchElementException e ){}

    assertEquals( loader.getTexture( "Header", false ), null );

    Image oldTexture = loader.loadTexture( "Header", false );

    loader.reloadTextures();

    Image newTexture = loader.getTexture( "Header", false );

    assertNotSame( newTexture, oldTexture );

    loader.getBaseDimension( "Header" );

    loader.clear();

    try {
      loader.getBaseDimension( "Header" );
      fail();
    } catch ( NoSuchElementException e ){}
  }

  @Test
  public void testLoadAcceleratedTexture() throws Exception {
    final TextureLoader loader = GraphicsEnv.getInstance().getTextureLoader();

    loader.loadTexture( "Header", true);

    loader.mustReload( "Header", false );
    loader.mustReload( "Header", true );

    loader.clear();

    try {
      loader.mustReload( "Header", true );
      fail();
    } catch ( NoSuchElementException e ){}

    assertEquals( loader.getTexture( "Header", false ), null );
    assertEquals( loader.getTexture( "Header", true ), null );

    Image oldTexture = loader.loadTexture( "Header", true );

    loader.reloadTextures();

    Image newTexture = loader.getTexture( "Header", true );

    assertNotSame( newTexture, oldTexture );

    loader.getBaseDimension( "Header" );

    loader.clear();

    try {
      loader.getBaseDimension( "Header" );
      fail();
    } catch ( NoSuchElementException e ){}

  }

  @Test
  public void testLoadInvalidTexture() throws Exception {
    final TextureLoader loader = GraphicsEnv.getInstance().getTextureLoader();

    try {
      loader.loadTexture( "1234509876", false );
      fail();
    } catch ( TextureNotFoundException e ){}

    try {
      loader.loadTexture( "FakePngExtension", false );
      fail();
    } catch ( IOException e ){}
  }
}
TOP

Related Classes of org.gbcpainter.test.TextureLoaderTest

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.