Ich bin ein Neuling und arbeite noch nicht so lange mit Unity. Ich will für diese Methode einen NUnit Test schreiben, weiß aber leider nicht wie das funktioniert. Unten kopiere ich euch die Methode und meinen Ersten Versuch. Ich bin für jede Hilfe dankbar.
public static Sprite CardsObjects(string gottenCard, Texture2D MOVE3, Texture2D MOVE2, Texture2D MOVE1, Texture2D MOVEBACK,
Texture2D UTURN, Texture2D RIGHTTURN, Texture2D LEFTTURN, Texture2D AGAIN, Texture2D LEMBAS, Texture2D Transparent)
{
switch (gottenCard)
{
case "MOVE_3":
return Sprite.Create(MOVE3, new Rect(0,0, MOVE3.width, MOVE3.height), new Vector2(0, 0), 100.0f, 0);
case "MOVE_2":
return Sprite.Create(MOVE2, new Rect(0,0, MOVE2.width, MOVE2.height), new Vector2(0, 0), 100.0f, 0);
case "MOVE_1":
return Sprite.Create(MOVE1, new Rect(0,0, MOVE1.width, MOVE1.height), new Vector2(0, 0), 100.0f, 0);
case "MOVE_BACK":
return Sprite.Create(MOVEBACK, new Rect(0,0, MOVEBACK.width, MOVEBACK.height), new Vector2(0, 0), 100.0f, 0);
case "U_TURN":
return Sprite.Create(UTURN, new Rect(0,0, UTURN.width, UTURN.height), new Vector2(0, 0), 100.0f, 0);
case "RIGHT_TURN":
return Sprite.Create(RIGHTTURN, new Rect(0,0, RIGHTTURN.width, RIGHTTURN.height), new Vector2(0, 0), 100.0f, 0);
case "LEFT_TURN":
return Sprite.Create(LEFTTURN, new Rect(0,0, LEFTTURN.width, LEFTTURN.height), new Vector2(0, 0), 100.0f, 0);
case "AGAIN":
return Sprite.Create(AGAIN, new Rect(0,0, AGAIN.width, AGAIN.height), new Vector2(0, 0), 100.0f, 0);
case "LEMBAS":
return Sprite.Create(LEMBAS, new Rect(0,0, LEMBAS.width, LEMBAS.height), new Vector2(0, 0), 100.0f, 0);
default:
return Sprite.Create(Transparent, new Rect(0,0, Transparent.width, Transparent.height), new Vector2(0, 0), 100.0f, 0);
}
}
private static readonly object[] CardTestData =
{
new object[] { "MOVE_3", LoadNewSprite(@"Assets\TextMesh Pro\Sprites\MOVE3.png")},
new object[] { "MOVE_2", LoadNewSprite(@"Assets\TextMesh Pro\Sprites\MOVE2.png")},
new object[] { "MOVE_1", LoadNewSprite(@"Assets\TextMesh Pro\Sprites\MOVE1.png")},
new object[] { "MOVE_BACK", LoadNewSprite(@"Assets\TextMesh Pro\Sprites\MOVEBACK.png")},
new object[] { "U_TURN", LoadNewSprite(@"Assets\TextMesh Pro\Sprites\UTURN.png")},
new object[] { "RIGHT_TURN", LoadNewSprite(@"Assets\TextMesh Pro\Sprites\RIGHTTURN.png") },
new object[] { "LEFT_TURN", LoadNewSprite(@"Assets\TextMesh Pro\Sprites\LEFTTURN.png")},
new object[] { "AGAIN", LoadNewSprite(@"Assets\TextMesh Pro\Sprites\AGAIN.png")},
new object[] { "LEMBAS", LoadNewSprite(@"Assets\TextMesh Pro\Sprites\LEMBAS.png")},
new object[] { "INVALID_CARD", LoadNewSprite(@"Assets\transparent.png") },
};
[TestCaseSource(nameof(CardTestData))]
public void CardsObjects_ReturnsExpectedSprite(string cardName, Texture2D cardTexture)
{
Cards instance = new Cards();
// Act
Sprite result = instance.CardsObjects(cardName, MOVE_3);
Assert.IsNotNull(result);
}