using PkmnLib.Dataloader;

namespace PkmnLib.Tests.Dataloader;

public class TypeDataloaderTests
{
    [Test]
    public async Task TestPrimaryTypesFile()
    {
        await using var file = File.Open("Data/Types.csv", FileMode.Open, FileAccess.Read, FileShare.Read);
        var library = TypeDataLoader.LoadTypeLibrary(file);
        await Assert.That(library).IsNotNull();

        var fire = library.TryGetTypeIdentifier("Fire", out var fireId);
        await Assert.That(fire).IsTrue();
        var grass = library.TryGetTypeIdentifier("Grass", out var grassId);
        await Assert.That(grass).IsTrue();

        var fireEffectiveness = library.GetSingleEffectiveness(fireId, grassId);
        await Assert.That(fireEffectiveness).IsEqualTo(2.0f);
    }
}