package com.gebauz.watergame.desktop.tests;
import static org.junit.Assert.*;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import com.badlogic.gdx.assets.AssetManager;
import com.badlogic.gdx.graphics.Texture;
import com.gebauz.bauzoid2.file.FileUtil;
import com.gebauz.bauzoid2.game.Engine;
import com.gebauz.bauzoid2.graphics.sprite.Sprite;
import com.gebauz.bauzoid2.graphics.sprite.SpriteSheet;
import org.mockito.Mock;
import org.mockito.Mockito;
import org.mockito.runners.MockitoJUnitRunner;
@RunWith
(MockitoJUnitRunner.
class)
public class SpriteTest
{
public static final float EPSILON = 0.000001f
;
@Mock
AssetManager mockAssets
;
@Mock
Texture mockTexture
;
public Sprite createTestSprite
(String filename
)
{
Engine.
assets = mockAssets
;
Mockito.
when(mockAssets.
get(filename
)).
thenReturn(mockTexture
);
Sprite sprite =
new Sprite
(filename
);
sprite.
initAsync();
sprite.
init();
return sprite
;
}
@Test
public void testSpriteCreationWithTexture
()
{
Sprite sprite = createTestSprite
("test.png");
assertNotNull
("sprite texture is null!", sprite.
getTexture());
assertSame
("sprite texture is not the same!", mockTexture, sprite.
getTexture());
}
@Test
public void testSpriteLeftTransformPivotX
()
{
Sprite sprite = createTestSprite
("test2.png");
sprite.
transform.
x =
150;
sprite.
transform.
pivotX =
10;
//assertEquals("sprite.left() value not correct!", 150-10, sprite.transform.left(), EPSILON);
}
@Test
public void testSpriteTopTransformPivotY
()
{
Sprite sprite = createTestSprite
("test3.png");
sprite.
transform.
y =
230;
sprite.
transform.
pivotY =
25;
//assertEquals("sprite.top() value not correct!", 230-25, sprite.transform.top(), EPSILON);
}
@Test
public void testSpriteRightTransformPivotX
()
{
Sprite sprite = createTestSprite
("test2.png");
sprite.
transform.
x =
150;
sprite.
transform.
w =
123;
sprite.
transform.
pivotX =
10;
//assertEquals("sprite.left() value not correct!", 150-10+123, sprite.transform.right(), EPSILON);
}
@Test
public void testSpriteBottomTransformPivotY
()
{
Sprite sprite = createTestSprite
("test3.png");
sprite.
transform.
y =
230;
sprite.
transform.
h =
98;
sprite.
transform.
pivotY =
25;
//assertEquals("sprite.top() value not correct!", 230-25+98, sprite.transform.bottom(), EPSILON);
}
}