62 lines
1.9 KiB
C#
62 lines
1.9 KiB
C#
using Snake.Model;
|
|
using Snake.Persistance;
|
|
|
|
namespace Snake.Tests.Persistance;
|
|
|
|
public class LevelLoaderTests
|
|
{
|
|
[Fact]
|
|
public void LoadLevelTest()
|
|
{
|
|
// Preparre
|
|
string SaveFile =
|
|
"""
|
|
[
|
|
{
|
|
"level_name": "Test level",
|
|
"size": 10,
|
|
"snake_start_length": 5,
|
|
"obstacles": [
|
|
[1,1],
|
|
[4,2],
|
|
[6,9]
|
|
],
|
|
"new_egg_round": 2,
|
|
"egg_limit": 5
|
|
},
|
|
{
|
|
"level_name": "Cool snake map",
|
|
"size": 12,
|
|
"snake_start_length": 3,
|
|
"obstacles": [
|
|
[2,3],
|
|
[1,2]
|
|
],
|
|
"new_egg_round": 3,
|
|
"egg_limit": 6
|
|
}
|
|
]
|
|
""";
|
|
string tempfile = Path.GetTempFileName();
|
|
File.WriteAllText(tempfile, SaveFile);
|
|
|
|
var loader = new SnakeLevelLoader(tempfile);
|
|
Assert.Equal(2, loader.StoredLevels.Count);
|
|
|
|
var current_level = loader.StoredLevels[0];
|
|
Assert.Equal("Test level", current_level.LevelName);
|
|
Assert.Equal(10, current_level.Size);
|
|
Assert.Equal(5, current_level.SnakeStartLength);
|
|
Assert.Equal(current_level.Obstacles, [[1,1], [4,2], [6,9]]);
|
|
Assert.Equal(2, current_level.NewEggRound);
|
|
Assert.Equal(5, current_level.EggLimit);
|
|
|
|
current_level = loader.StoredLevels[1];
|
|
Assert.Equal("Cool snake map", current_level.LevelName);
|
|
Assert.Equal(12, current_level.Size);
|
|
Assert.Equal(3, current_level.SnakeStartLength);
|
|
Assert.Equal(current_level.Obstacles, [[2,3], [1,2]]);
|
|
Assert.Equal(3, current_level.NewEggRound);
|
|
Assert.Equal(6, current_level.EggLimit);
|
|
}
|
|
} |