Refactor entire library in line with new PkmnLib
All checks were successful
continuous-integration/drone/push Build is passing

This commit is contained in:
2023-06-25 16:30:12 +02:00
parent 2448f3bfb5
commit a8a6b775b3
93 changed files with 1294 additions and 2190 deletions

View File

@@ -9,22 +9,22 @@ namespace PkmnLibRSharpTests.StaticData
[Test]
public void AbilityGetName([Values("foo", "bar", "", "zet", "xy")] string name)
{
using var ability = new Ability(name, "", Array.Empty<EffectParameter>());
var ability = Ability.Create(name, "", Array.Empty<EffectParameter>());
Assert.AreEqual(name, ability.Name);
}
[Test]
public void AbilityGetEffect([Values("foo", "bar", "", "zet", "xy")] string effect)
{
using var ability = new Ability("", effect, Array.Empty<EffectParameter>());
var ability = Ability.Create("", effect, Array.Empty<EffectParameter>());
Assert.AreEqual(effect, ability.Effect);
}
[Test]
public void AbilityGetParameters()
{
using var ability = new Ability("", "",
new EffectParameter[] { new(100), new(false), new("foobar"), new(true) });
var ability = Ability.Create("", "",
new EffectParameter[] { 100, false, "foobar", true });
Assert.AreEqual(4, ability.Parameters.Count);
var p1 = ability.Parameters[0];
Assert.AreEqual(100, p1.Data);

View File

@@ -8,7 +8,7 @@ namespace PkmnLibRSharpTests.StaticData
[Test]
public void BoolParameter([Values(true, false)] bool value)
{
using var parameter = new EffectParameter(value);
var parameter = EffectParameter.FromBool(value);
Assert.AreEqual(EffectParameter.ParameterType.Bool, parameter.Type);
Assert.AreEqual(value, parameter.Data);
}
@@ -16,7 +16,7 @@ namespace PkmnLibRSharpTests.StaticData
[Test]
public void IntParameter([Random(long.MinValue, long.MaxValue, 10)] long value)
{
using var parameter = new EffectParameter(value);
var parameter = EffectParameter.FromLong(value);
Assert.AreEqual(EffectParameter.ParameterType.Int, parameter.Type);
Assert.AreEqual(value, parameter.Data);
}
@@ -24,7 +24,7 @@ namespace PkmnLibRSharpTests.StaticData
[Test]
public void FloatParameter([Random(float.MinValue, float.MaxValue, 10)] float value)
{
using var parameter = new EffectParameter(value);
var parameter = EffectParameter.FromFloat(value);
Assert.AreEqual(EffectParameter.ParameterType.Float, parameter.Type);
Assert.AreEqual(value, parameter.Data);
}
@@ -32,7 +32,7 @@ namespace PkmnLibRSharpTests.StaticData
[Test]
public void StringParameter([Values("foo", "bar", "zet", "x", "")] string value)
{
using var parameter = new EffectParameter(value);
var parameter = EffectParameter.FromString(value);
Assert.AreEqual(EffectParameter.ParameterType.String, parameter.Type);
Assert.AreEqual(value, parameter.Data);
}

View File

@@ -9,9 +9,9 @@ namespace PkmnLibRSharpTests.StaticData
[Test]
public void BasicTests()
{
using var stats = new StaticStatisticSet<short>(5, 10, 30, 20, 2, 0);
using var moves = new LearnableMoves();
using var form = new Form("foobar", 0.2f, 5.8f, 300, new TypeIdentifier[] { new(1), new(2) }, stats,
var stats = StaticStatisticSet<ushort>.Create(5, 10, 30, 20, 2, 0);
var moves = LearnableMoves.Create();
var form = Form.Create("foobar", 0.2f, 5.8f, 300, new TypeIdentifier[] { new(1), new(2) }, stats,
new[] { "foo", "bar" }, new[] { "set" }, moves, Array.Empty<string>());
Assert.AreEqual("foobar", form.Name);
Assert.AreEqual(0.2f, form.Height, 0.00001f);

View File

@@ -1,4 +1,5 @@
using NUnit.Framework;
using PkmnLibSharp.FFI;
using PkmnLibSharp.StaticData;
namespace PkmnLibRSharpTests.StaticData
@@ -8,13 +9,13 @@ namespace PkmnLibRSharpTests.StaticData
[Test]
public void CreateAndDropLookupGrowthRate()
{
using var growthRate = new LookupGrowthRate(new uint[] { 0, 1, 5, 10, 20, 100, 200, 500 });
var growthRate = LookupGrowthRate.Create(new uint[] { 0, 1, 5, 10, 20, 100, 200, 500 });
}
[Test]
public void LookupGrowthRateCalculateLevel()
{
using var growthRate = new LookupGrowthRate(new uint[] { 0, 1, 5, 10, 20, 100, 200, 500 });
var growthRate = LookupGrowthRate.Create(new uint[] { 0, 1, 5, 10, 20, 100, 200, 500 });
Assert.AreEqual(1, growthRate.CalculateLevel(0));
Assert.AreEqual(2, growthRate.CalculateLevel(1));
Assert.AreEqual(2, growthRate.CalculateLevel(2));
@@ -24,11 +25,15 @@ namespace PkmnLibRSharpTests.StaticData
[Test]
public void LookupGrowthRateCalculateExperience()
{
using var growthRate = new LookupGrowthRate(new uint[] { 0, 1, 5, 10, 20, 100, 200, 500 });
var growthRate = LookupGrowthRate.Create(new uint[] { 0, 1, 5, 10, 20, 100, 200, 500 });
Assert.AreEqual(0, growthRate.CalculateExperience(1));
Assert.AreEqual(1, growthRate.CalculateExperience(2));
Assert.AreEqual(5, growthRate.CalculateExperience(3));
Assert.AreEqual(10, growthRate.CalculateExperience(4));
Assert.Throws<PkmnLibException>(() =>
{
growthRate.CalculateExperience(0);
}, "Level must be greater than 0, but was 0");
}
}

View File

@@ -9,7 +9,7 @@ namespace PkmnLibRSharpTests.StaticData
[Test]
public void BasicTests()
{
using var item = new Item("foobar", ItemCategory.Mail, BattleItemCategory.StatusHealing, 500,
var item = Item.Create("foobar", ItemCategory.Mail, BattleItemCategory.StatusHealing, 500,
Array.Empty<string>());
Assert.AreEqual("foobar", item.Name);
Assert.AreEqual(ItemCategory.Mail, item.Category);
@@ -20,7 +20,7 @@ namespace PkmnLibRSharpTests.StaticData
[Test]
public void FlagTests()
{
using var item = new Item("foobar", ItemCategory.Mail, BattleItemCategory.StatusHealing, 500,
var item = Item.Create("foobar", ItemCategory.Mail, BattleItemCategory.StatusHealing, 500,
new []{"foo", "zet"});
Assert.That(item.HasFlag("foo"));
Assert.That(item.HasFlag("zet"));

View File

@@ -10,16 +10,16 @@ namespace PkmnLibRSharpTests.StaticData.Libraries
[Test]
public void Create()
{
using var lib = new AbilityLibrary(0);
var lib = AbilityLibrary.Create(0);
Assert.AreEqual(0, lib.Count);
}
[Test]
public void CreateAndAdd()
{
using var lib = new AbilityLibrary(1);
var lib = AbilityLibrary.Create(0);
Assert.AreEqual(0, lib.Count);
using var ability = new Ability("testAbility", "effect", Array.Empty<EffectParameter>());
var ability = Ability.Create("testAbility", "effect", Array.Empty<EffectParameter>());
lib.Add("foobar", ability);
Assert.AreEqual(1, lib.Count);
Assert.AreEqual("testAbility", lib["foobar"].Name);
@@ -28,11 +28,11 @@ namespace PkmnLibRSharpTests.StaticData.Libraries
[Test]
public void CreateAddIterate()
{
using var lib = new AbilityLibrary(10);
var lib = AbilityLibrary.Create(0);
Assert.AreEqual(0, lib.Count);
for (ushort i = 0; i < 10; i++)
{
using var item = new Ability(i.ToString(), "effect", Array.Empty<EffectParameter>());
var item = Ability.Create(i.ToString(), "effect", Array.Empty<EffectParameter>());
lib.Add(i + "_key", item);
}

View File

@@ -17,7 +17,7 @@ namespace PkmnLibRSharpTests.StaticData.Libraries
[TestCase(100, 600_000)]
public void ErraticExperience(byte level, int experience)
{
using var growthRate = CommonGrowthRates.Erratic(100);
var growthRate = CommonGrowthRates.Erratic(100);
Assert.AreEqual(experience, growthRate.CalculateExperience(level));
}
@@ -31,7 +31,7 @@ namespace PkmnLibRSharpTests.StaticData.Libraries
[TestCase(100, 800_000)]
public void FastExperience(byte level, int experience)
{
using var growthRate = CommonGrowthRates.Fast(100);
var growthRate = CommonGrowthRates.Fast(100);
Assert.AreEqual(experience, growthRate.CalculateExperience(level));
}
@@ -45,7 +45,7 @@ namespace PkmnLibRSharpTests.StaticData.Libraries
[TestCase(100, 1_000_000)]
public void MediumFastExperience(byte level, int experience)
{
using var growthRate = CommonGrowthRates.MediumFast(100);
var growthRate = CommonGrowthRates.MediumFast(100);
Assert.AreEqual(experience, growthRate.CalculateExperience(level));
}
@@ -59,7 +59,7 @@ namespace PkmnLibRSharpTests.StaticData.Libraries
[TestCase(100, 1_059_860)]
public void MediumSlowExperience(byte level, int experience)
{
using var growthRate = CommonGrowthRates.MediumSlow(100);
var growthRate = CommonGrowthRates.MediumSlow(100);
Assert.AreEqual(experience, growthRate.CalculateExperience(level));
}
@@ -73,7 +73,7 @@ namespace PkmnLibRSharpTests.StaticData.Libraries
[TestCase(100, 1_250_000)]
public void SlowExperience(byte level, int experience)
{
using var growthRate = CommonGrowthRates.Slow(100);
var growthRate = CommonGrowthRates.Slow(100);
Assert.AreEqual(experience, growthRate.CalculateExperience(level));
}
@@ -87,7 +87,7 @@ namespace PkmnLibRSharpTests.StaticData.Libraries
[TestCase(100, 1_640_000)]
public void FluctuatingExperience(byte level, int experience)
{
using var growthRate = CommonGrowthRates.Fluctuating(100);
var growthRate = CommonGrowthRates.Fluctuating(100);
Assert.AreEqual(experience, growthRate.CalculateExperience(level));
}
}

View File

@@ -9,22 +9,22 @@ namespace PkmnLibRSharpTests.StaticData.Libraries
[Test]
public void CreateGrowthRateLibrary()
{
using var library = new GrowthRateLibrary(0);
var library = GrowthRateLibrary.Create(0);
}
[Test]
public void AddGrowthRateToLibrary()
{
using var library = new GrowthRateLibrary(0);
using var growthRate = new LookupGrowthRate(new uint[] { 0, 1, 5, 10, 20, 100, 200, 500 });
var library = GrowthRateLibrary.Create(0);
var growthRate = LookupGrowthRate.Create(new uint[] { 0, 1, 5, 10, 20, 100, 200, 500 });
library.AddGrowthRate("foobar", growthRate);
}
[Test]
public void CalculateLevel()
{
using var library = new GrowthRateLibrary(0);
using var growthRate = new LookupGrowthRate(new uint[] { 0, 1, 5, 10, 20, 100, 200, 500 });
var library = GrowthRateLibrary.Create(0);
var growthRate = LookupGrowthRate.Create(new uint[] { 0, 1, 5, 10, 20, 100, 200, 500 });
library.AddGrowthRate("foobar", growthRate);
var level = library.CalculateLevel("foobar", 20);
Assert.AreEqual(5, level);
@@ -33,8 +33,8 @@ namespace PkmnLibRSharpTests.StaticData.Libraries
[Test]
public void CalculateExperience()
{
using var library = new GrowthRateLibrary(0);
using var growthRate = new LookupGrowthRate(new uint[] { 0, 1, 5, 10, 20, 100, 200, 500 });
var library = GrowthRateLibrary.Create(0);
var growthRate = LookupGrowthRate.Create(new uint[] { 0, 1, 5, 10, 20, 100, 200, 500 });
library.AddGrowthRate("foobar", growthRate);
var experience = library.CalculateExperience("foobar", 5);
Assert.AreEqual(20, experience);

View File

@@ -10,16 +10,16 @@ namespace PkmnLibRSharpTests.StaticData.Libraries
[Test]
public void Create()
{
using var lib = new ItemLibrary(0);
var lib = ItemLibrary.Create(0);
Assert.AreEqual(0, lib.Count);
}
[Test]
public void CreateAndAdd()
{
using var lib = new ItemLibrary(1);
var lib = ItemLibrary.Create(1);
Assert.AreEqual(0, lib.Count);
using var item = new Item("testItem", ItemCategory.Mail, BattleItemCategory.None, 100, Array.Empty<string>());
var item = Item.Create("testItem", ItemCategory.Mail, BattleItemCategory.None, 100, Array.Empty<string>());
lib.Add("foobar", item);
Assert.AreEqual(1, lib.Count);
Assert.AreEqual("testItem", lib["foobar"].Name);
@@ -28,11 +28,11 @@ namespace PkmnLibRSharpTests.StaticData.Libraries
[Test]
public void CreateAddIterate()
{
using var lib = new ItemLibrary(10);
var lib = ItemLibrary.Create(10);
Assert.AreEqual(0, lib.Count);
for (ushort i = 0; i < 10; i++)
{
using var item = new Item(i.ToString(), ItemCategory.Mail, BattleItemCategory.None, 100,
var item = Item.Create(i.ToString(), ItemCategory.Mail, BattleItemCategory.None, 100,
Array.Empty<string>());
lib.Add(i + "_key", item);
}

View File

@@ -8,14 +8,21 @@ namespace PkmnLibRSharpTests.StaticData.Libraries
[Test]
public void CreateLibrarySettings()
{
using var settings = new LibrarySettings(100, 4096);
var _ = LibrarySettings.Create(100, 4096);
}
[Test]
public void GetMaxLevel()
{
using var settings = new LibrarySettings(100, 4096);
var settings = LibrarySettings.Create(100, 4096);
Assert.AreEqual(100, settings.MaxLevel);
}
[Test]
public void GetShinyRate()
{
var settings = LibrarySettings.Create(100, 4096);
Assert.AreEqual(4096, settings.ShinyRate);
}
}
}

View File

@@ -10,16 +10,16 @@ namespace PkmnLibRSharpTests.StaticData.Libraries
[Test]
public void Create()
{
using var lib = new MoveLibrary(0);
var lib = MoveLibrary.Create(0);
Assert.AreEqual(0, lib.Count);
}
[Test]
public void CreateAndAdd()
{
using var lib = new MoveLibrary(1);
var lib = MoveLibrary.Create(1);
Assert.AreEqual(0, lib.Count);
using var move = new MoveData("testMove", new TypeIdentifier(0), MoveCategory.Physical, 100, 100, 1,
var move = MoveData.Create("testMove", new TypeIdentifier(0), MoveCategory.Physical, 100, 100, 1,
MoveTarget.All, 0, null, Array.Empty<string>());
lib.Add("foobar", move);
Assert.AreEqual(1, lib.Count);
@@ -29,11 +29,11 @@ namespace PkmnLibRSharpTests.StaticData.Libraries
[Test]
public void CreateAddIterate()
{
using var lib = new MoveLibrary(10);
var lib = MoveLibrary.Create(10);
Assert.AreEqual(0, lib.Count);
for (ushort i = 0; i < 10; i++)
{
using var move = new MoveData(i.ToString(), new TypeIdentifier(0), MoveCategory.Physical, 100, 100, 1,
var move = MoveData.Create(i.ToString(), new TypeIdentifier(0), MoveCategory.Physical, 100, 100, 1,
MoveTarget.All, 0, null, Array.Empty<string>());
lib.Add(i + "_key", move);
}

View File

@@ -9,15 +9,15 @@ namespace PkmnLibRSharpTests.StaticData.Libraries
[Test]
public void CreateNatureLibrary()
{
using var library = new NatureLibrary(0);
var _ = NatureLibrary.Create(0);
}
[Test]
public void LoadNatures()
{
using var library = new NatureLibrary(0);
using var nature1 = Nature.NeutralNature();
using var nature2 = new Nature(Statistic.Attack, Statistic.Defense);
var library = NatureLibrary.Create(0);
var nature1 = Nature.NeutralNature();
var nature2 = Nature.Create(Statistic.Attack, Statistic.Defense);
library.LoadNature("foo", nature1);
library.LoadNature("bar", nature2);
}
@@ -25,56 +25,41 @@ namespace PkmnLibRSharpTests.StaticData.Libraries
[Test]
public void LoadAndGetNature()
{
using var library = new NatureLibrary(0);
using var nature1 = new Nature(Statistic.Attack, Statistic.Defense);
var library = NatureLibrary.Create(0);
var nature1 = Nature.Create(Statistic.Attack, Statistic.Defense);
library.LoadNature("foo", nature1);
using (var n = library.TryGetNature("foo"))
{
Assert.AreEqual(Statistic.Attack, n.Value!.IncreasedStat);
}
Assert.That(library.TryGetNature("foo", out var n));
Assert.AreEqual(Statistic.Attack, n!.IncreasedStat);
}
[Test]
public void LoadAndGetNatureTwice()
{
using var library = new NatureLibrary(0);
using var nature1 = new Nature(Statistic.Attack, Statistic.Defense);
var library = NatureLibrary.Create(0);
var nature1 = Nature.Create(Statistic.Attack, Statistic.Defense);
library.LoadNature("foo", nature1);
using (var n = library.TryGetNature("foo"))
{
Assert.That(n.HasValue);
Assert.AreEqual(Statistic.Attack, n.Value!.IncreasedStat);
}
using (var n = library.TryGetNature("foo"))
{
Assert.That(n.HasValue);
Assert.AreEqual(Statistic.Attack, n.Value!.IncreasedStat);
}
Assert.That(library.TryGetNature("foo", out var n));
Assert.AreEqual(Statistic.Attack, n!.IncreasedStat);
Assert.That(library.TryGetNature("foo", out var n2));
Assert.AreEqual(Statistic.Attack, n2!.IncreasedStat);
}
[Test]
public void GetUnknownNature()
{
using var library = new NatureLibrary(0);
using var nature1 = new Nature(Statistic.Attack, Statistic.Defense);
using var n = library.TryGetNature("foo");
Assert.False(n.HasValue);
var library = NatureLibrary.Create(0);
Assert.IsFalse(library.TryGetNature("foo", out _));
}
[Test]
public void GetNatureName()
{
using var library = new NatureLibrary(0);
using var nature1 = new Nature(Statistic.Attack, Statistic.Defense);
var library = NatureLibrary.Create(0);
var nature1 = Nature.Create(Statistic.Attack, Statistic.Defense);
library.LoadNature("foo", nature1);
using (var n = library.TryGetNature("foo"))
{
Assert.AreEqual("foo", library.GetNatureName(n));
}
Assert.That(library.TryGetNature("foo", out var n));
Assert.AreEqual("foo", library.GetNatureName(n!));
}
}

View File

@@ -10,20 +10,20 @@ namespace PkmnLibRSharpTests.StaticData.Libraries
[Test]
public void Create()
{
using var lib = new SpeciesLibrary(0);
var lib = SpeciesLibrary.Create(0);
Assert.AreEqual(0, lib.Count);
}
[Test]
public void CreateAndAdd()
{
using var lib = new SpeciesLibrary(1);
var lib = SpeciesLibrary.Create(1);
Assert.AreEqual(0, lib.Count);
using var stats = new StaticStatisticSet<short>(5, 10, 30, 20, 2, 0);
using var moves = new LearnableMoves();
using var form = new Form("foobar", 0.2f, 5.8f, 300, new TypeIdentifier[] { new(1), new(2) }, stats,
var stats = StaticStatisticSet<ushort>.Create(5, 10, 30, 20, 2, 0);
var moves = LearnableMoves.Create();
var form = Form.Create("foobar", 0.2f, 5.8f, 300, new TypeIdentifier[] { new(1), new(2) }, stats,
new[] { "foo", "bar" }, new[] { "set" }, moves, Array.Empty<string>());
using var species = new Species(10, "testSpecies", 0.2f, "growth", 120, form, Array.Empty<string>());
var species = Species.Create(10, "testSpecies", 0.2f, "growth", 120, form, Array.Empty<string>());
lib.Add("foobar", species);
Assert.AreEqual(1, lib.Count);
Assert.AreEqual("testSpecies", lib["foobar"].Name);
@@ -32,15 +32,15 @@ namespace PkmnLibRSharpTests.StaticData.Libraries
[Test]
public void CreateAddIterate()
{
using var lib = new SpeciesLibrary(1);
var lib = SpeciesLibrary.Create(1);
Assert.AreEqual(0, lib.Count);
for (ushort i = 0; i < 10; i++)
{
using var stats = new StaticStatisticSet<short>(5, 10, 30, 20, 2, 0);
using var moves = new LearnableMoves();
using var form = new Form("foobar", 0.2f, 5.8f, 300, new TypeIdentifier[] { new(1), new(2) }, stats,
var stats = StaticStatisticSet<ushort>.Create(5, 10, 30, 20, 2, 0);
var moves = LearnableMoves.Create();
var form = Form.Create("foobar", 0.2f, 5.8f, 300, new TypeIdentifier[] { new(1), new(2) }, stats,
new[] { "foo", "bar" }, new[] { "set" }, moves, Array.Empty<string>());
using var species = new Species(i, i.ToString(), 0.2f, "growth", 120, form, Array.Empty<string>());
var species = Species.Create(i, i.ToString(), 0.2f, "growth", 120, form, Array.Empty<string>());
lib.Add(i + "_key", species);
}
Assert.AreEqual(10, lib.Count);

View File

@@ -5,79 +5,79 @@ namespace PkmnLibRSharpTests.StaticData.Libraries
{
public class StaticDataTests
{
private PkmnLibSharp.StaticData.Libraries.StaticData Build()
private static PkmnLibSharp.StaticData.Libraries.StaticData Build()
{
using var settings = new LibrarySettings(100, 4096);
using var species = new SpeciesLibrary(0);
using var moves = new MoveLibrary(0);
using var items = new ItemLibrary(0);
using var growthRates = new GrowthRateLibrary(0);
using var types = new TypeLibrary(0);
using var natures = new NatureLibrary(0);
using var abilities = new AbilityLibrary(0);
return new PkmnLibSharp.StaticData.Libraries.StaticData(settings, species, moves, items,
var settings = LibrarySettings.Create(100, 4096);
var species = SpeciesLibrary.Create(0);
var moves = MoveLibrary.Create(0);
var items = ItemLibrary.Create(0);
var growthRates = GrowthRateLibrary.Create(0);
var types = TypeLibrary.Create(0);
var natures = NatureLibrary.Create(0);
var abilities = AbilityLibrary.Create(0);
return PkmnLibSharp.StaticData.Libraries.StaticData.Create(settings, species, moves, items,
growthRates, types, natures, abilities);
}
[Test]
public void CreateNewStaticData()
{
using var _ = Build();
var _ = Build();
}
[Test]
public void GetSettings()
{
using var library = Build();
var library = Build();
var _ = library.LibrarySettings;
}
[Test]
public void GetSpecies()
{
using var library = Build();
var library = Build();
var _ = library.SpeciesLibrary;
}
[Test]
public void GetMoves()
{
using var library = Build();
var library = Build();
var _ = library.MoveLibrary;
}
[Test]
public void GetItems()
{
using var library = Build();
var library = Build();
var _ = library.ItemLibrary;
}
[Test]
public void GetGrowthRates()
{
using var library = Build();
var library = Build();
var _ = library.GrowthRateLibrary;
}
[Test]
public void GetTypeLibrary()
{
using var library = Build();
var library = Build();
var _ = library.TypeLibrary;
}
[Test]
public void GetNatureLibrary()
{
using var library = Build();
var library = Build();
var _ = library.NatureLibrary;
}
[Test]
public void GetAbilityLibrary()
{
using var library = Build();
var library = Build();
var _ = library.AbilityLibrary;
}
}

View File

@@ -10,20 +10,20 @@ namespace PkmnLibRSharpTests.StaticData.Libraries
[Test]
public void CreateTypeLibrary()
{
using var typeLibrary = new TypeLibrary(0);
var typeLibrary = TypeLibrary.Create(0);
}
[Test]
public void RegisterType()
{
using var typeLibrary = new TypeLibrary(0);
var typeLibrary = TypeLibrary.Create(0);
typeLibrary.RegisterType("foobar");
}
[Test]
public void RegisterTypeRetrieve()
{
using var typeLibrary = new TypeLibrary(0);
var typeLibrary = TypeLibrary.Create(0);
var typeIdentifier1 = typeLibrary.RegisterType("foo");
Assert.AreEqual(typeIdentifier1, new TypeIdentifier(1));
var typeIdentifier2 = typeLibrary.RegisterType("bar");
@@ -35,7 +35,7 @@ namespace PkmnLibRSharpTests.StaticData.Libraries
[Test]
public void GetUnknownTypeErrors()
{
using var typeLibrary = new TypeLibrary(0);
var typeLibrary = TypeLibrary.Create(0);
typeLibrary.RegisterType("foo");
Assert.Throws<KeyNotFoundException>(() =>
{
@@ -46,7 +46,7 @@ namespace PkmnLibRSharpTests.StaticData.Libraries
[Test]
public void GetTypeName()
{
using var typeLibrary = new TypeLibrary(0);
var typeLibrary = TypeLibrary.Create(0);
var typeIdentifier1 = typeLibrary.RegisterType("foo");
Assert.AreEqual("foo", typeLibrary.GetTypeName(typeIdentifier1));
}
@@ -54,7 +54,7 @@ namespace PkmnLibRSharpTests.StaticData.Libraries
[Test]
public void GetUnknownTypeNameErrors()
{
using var typeLibrary = new TypeLibrary(0);
var typeLibrary = TypeLibrary.Create(0);
typeLibrary.RegisterType("foo");
Assert.Throws<KeyNotFoundException>(() =>
{
@@ -65,7 +65,7 @@ namespace PkmnLibRSharpTests.StaticData.Libraries
[Test]
public void SetEffectiveness()
{
using var typeLibrary = new TypeLibrary(0);
var typeLibrary = TypeLibrary.Create(0);
var typeIdentifier1 = typeLibrary.RegisterType("foo");
var typeIdentifier2 = typeLibrary.RegisterType("bar");
typeLibrary.SetEffectiveness(typeIdentifier1, typeIdentifier2, 0.5f);
@@ -74,7 +74,7 @@ namespace PkmnLibRSharpTests.StaticData.Libraries
[Test]
public void GetEffectiveness()
{
using var typeLibrary = new TypeLibrary(0);
var typeLibrary = TypeLibrary.Create(0);
var typeIdentifier1 = typeLibrary.RegisterType("foo");
var typeIdentifier2 = typeLibrary.RegisterType("bar");
typeLibrary.SetEffectiveness(typeIdentifier1, typeIdentifier2, 0.5f);
@@ -84,7 +84,7 @@ namespace PkmnLibRSharpTests.StaticData.Libraries
[Test]
public void GetMultipleEffectiveness()
{
using var typeLibrary = new TypeLibrary(0);
var typeLibrary = TypeLibrary.Create(0);
var typeIdentifier1 = typeLibrary.RegisterType("foo");
var typeIdentifier2 = typeLibrary.RegisterType("bar");
typeLibrary.SetEffectiveness(typeIdentifier1, typeIdentifier2, 0.5f);

View File

@@ -9,7 +9,7 @@ namespace PkmnLibRSharpTests.StaticData
[Test]
public void BasicTests()
{
using var move = new MoveData("foobar", new TypeIdentifier(), MoveCategory.Physical, 68, 23, 56,
var move = MoveData.Create("foobar", new TypeIdentifier(), MoveCategory.Physical, 68, 23, 56,
MoveTarget.Any, -3, null, Array.Empty<string>());
Assert.AreEqual("foobar", move.Name);
Assert.AreEqual(MoveCategory.Physical, move.Category);
@@ -24,8 +24,8 @@ namespace PkmnLibRSharpTests.StaticData
[Test]
public void TestMoveWithSecondaryEffect()
{
using var effect = new SecondaryEffect(0.25f, "foobar", Array.Empty<EffectParameter>());
using var move = new MoveData("foobar", new TypeIdentifier(), MoveCategory.Physical, 68, 23, 56,
var effect = SecondaryEffect.Create(0.25f, "foobar", Array.Empty<EffectParameter>());
var move = MoveData.Create("foobar", new TypeIdentifier(), MoveCategory.Physical, 68, 23, 56,
MoveTarget.Any, -3, effect, Array.Empty<string>());
Assert.That(move.SecondaryEffect != null);
Assert.AreEqual("foobar", move.SecondaryEffect!.Name);

View File

@@ -11,7 +11,7 @@ namespace PkmnLibRSharpTests.StaticData
[Values] Statistic decreasedStat
)
{
using var nature = new Nature(increasedStat, decreasedStat);
var nature = Nature.Create(increasedStat, decreasedStat);
Assert.AreEqual(increasedStat, nature.IncreasedStat);
Assert.AreEqual(decreasedStat, nature.DecreasedStat);
if (increasedStat == decreasedStat)

View File

@@ -12,7 +12,7 @@ namespace PkmnLibRSharpTests.StaticData
[Values("foo", "bar", "", "ssdsdsdsdsd")] string effectName
)
{
using var effect = new SecondaryEffect(chance, effectName, Array.Empty<EffectParameter>());
var effect = SecondaryEffect.Create(chance, effectName, Array.Empty<EffectParameter>());
Assert.AreEqual(effectName, effect.Name);
Assert.AreEqual(chance, effect.Chance);
}

View File

@@ -9,11 +9,11 @@ namespace PkmnLibRSharpTests.StaticData
[Test]
public void BasicTests()
{
using var stats = new StaticStatisticSet<short>(5, 10, 30, 20, 2, 0);
using var moves = new LearnableMoves();
using var form = new Form("foobar", 0.2f, 5.8f, 300, new TypeIdentifier[] { new(1), new(2) }, stats,
var stats = StaticStatisticSet<ushort>.Create(5, 10, 30, 20, 2, 0);
var moves = LearnableMoves.Create();
var form = Form.Create("foobar", 0.2f, 5.8f, 300, new TypeIdentifier[] { new(1), new(2) }, stats,
new[] { "foo", "bar" }, new[] { "set" }, moves, Array.Empty<string>());
using var species = new Species(10, "testSpecies", 0.2f, "growth", 120, form, Array.Empty<string>());
var species = Species.Create(10, "testSpecies", 0.2f, "growth", 120, form, Array.Empty<string>());
Assert.AreEqual(10, species.Id);
Assert.AreEqual("testSpecies", species.Name);
Assert.AreEqual(0.2f, species.GenderRate, 0.00001f);

View File

@@ -5,76 +5,11 @@ namespace PkmnLibRSharpTests.StaticData
{
public class StaticStaticStatisticSetTests
{
[Test]
public void ByteStaticStatisticSet([Random(1)] byte hp, [Random(1)] byte attack, [Random(1)] byte defense,
[Random(1)] byte specialAttack, [Random(1)] byte specialDefense, [Random(1)] byte speed)
{
using var set = new StaticStatisticSet<byte>(hp, attack, defense, specialAttack, specialDefense, speed);
Assert.AreEqual(set.HP, hp);
Assert.AreEqual(set.Attack, attack);
Assert.AreEqual(set.Defense, defense);
Assert.AreEqual(set.SpecialAttack, specialAttack);
Assert.AreEqual(set.SpecialDefense, specialDefense);
Assert.AreEqual(set.Speed, speed);
}
[Test]
public void UShortStaticStatisticSet([Random(1)] ushort hp, [Random(1)] ushort attack, [Random(1)] ushort defense,
[Random(1)] ushort specialAttack, [Random(1)] ushort specialDefense, [Random(1)] ushort speed)
{
using var set = new StaticStatisticSet<ushort>(hp, attack, defense, specialAttack, specialDefense, speed);
Assert.AreEqual(set.HP, hp);
Assert.AreEqual(set.Attack, attack);
Assert.AreEqual(set.Defense, defense);
Assert.AreEqual(set.SpecialAttack, specialAttack);
Assert.AreEqual(set.SpecialDefense, specialDefense);
Assert.AreEqual(set.Speed, speed);
}
[Test]
public void UintStaticStatisticSet([Random(1)] uint hp, [Random(1)] uint attack, [Random(1)] uint defense,
[Random(1)] uint specialAttack, [Random(1)] uint specialDefense, [Random(1)] uint speed)
{
using var set = new StaticStatisticSet<uint>(hp, attack, defense, specialAttack, specialDefense, speed);
Assert.AreEqual(set.HP, hp);
Assert.AreEqual(set.Attack, attack);
Assert.AreEqual(set.Defense, defense);
Assert.AreEqual(set.SpecialAttack, specialAttack);
Assert.AreEqual(set.SpecialDefense, specialDefense);
Assert.AreEqual(set.Speed, speed);
}
[Test]
public void SbyteStaticStatisticSet([Random(1)] sbyte hp, [Random(1)] sbyte attack, [Random(1)] sbyte defense,
[Random(1)] sbyte specialAttack, [Random(1)] sbyte specialDefense, [Random(1)] sbyte speed)
{
using var set = new StaticStatisticSet<sbyte>(hp, attack, defense, specialAttack, specialDefense, speed);
Assert.AreEqual(set.HP, hp);
Assert.AreEqual(set.Attack, attack);
Assert.AreEqual(set.Defense, defense);
Assert.AreEqual(set.SpecialAttack, specialAttack);
Assert.AreEqual(set.SpecialDefense, specialDefense);
Assert.AreEqual(set.Speed, speed);
}
[Test]
public void ShortStaticStatisticSet([Random(1)] short hp, [Random(1)] short attack, [Random(1)] short defense,
[Random(1)] short specialAttack, [Random(1)] short specialDefense, [Random(1)] short speed)
{
using var set = new StaticStatisticSet<short>(hp, attack, defense, specialAttack, specialDefense, speed);
Assert.AreEqual(set.HP, hp);
Assert.AreEqual(set.Attack, attack);
Assert.AreEqual(set.Defense, defense);
Assert.AreEqual(set.SpecialAttack, specialAttack);
Assert.AreEqual(set.SpecialDefense, specialDefense);
Assert.AreEqual(set.Speed, speed);
}
[Test]
public void IntStaticStatisticSet([Random(1)] int hp, [Random(1)] int attack, [Random(1)] int defense,
[Random(1)] int specialAttack, [Random(1)] int specialDefense, [Random(1)] int speed)
{
using var set = new StaticStatisticSet<int>(hp, attack, defense, specialAttack, specialDefense, speed);
var set = StaticStatisticSet<ushort>.Create(hp, attack, defense, specialAttack, specialDefense, speed);
Assert.AreEqual(set.HP, hp);
Assert.AreEqual(set.Attack, attack);
Assert.AreEqual(set.Defense, defense);

View File

@@ -9,7 +9,7 @@ namespace PkmnLibRSharpTests.StaticData
public void ByteStatisticSet([Random(1)] byte hp, [Random(1)] byte attack, [Random(1)] byte defense,
[Random(1)] byte specialAttack, [Random(1)] byte specialDefense, [Random(1)] byte speed)
{
using var set = new StatisticSet<byte>(hp, attack, defense, specialAttack, specialDefense, speed);
var set = StatisticSet<byte>.Create(hp, attack, defense, specialAttack, specialDefense, speed);
Assert.AreEqual(set.HP, hp);
Assert.AreEqual(set.Attack, attack);
Assert.AreEqual(set.Defense, defense);
@@ -22,7 +22,7 @@ namespace PkmnLibRSharpTests.StaticData
public void ByteStatisticSetModifying([Random(1)] byte hp, [Random(1)] byte attack, [Random(1)] byte defense,
[Random(1)] byte specialAttack, [Random(1)] byte specialDefense, [Random(1)] byte speed)
{
using var set = new StatisticSet<byte>(0,0,0,0,0,0);
var set = StatisticSet<byte>.Create(0,0,0,0,0,0);
set.HP = hp;
Assert.AreEqual(set.HP, hp);
set.Attack = attack;
@@ -36,25 +36,12 @@ namespace PkmnLibRSharpTests.StaticData
set.Speed = speed;
Assert.AreEqual(set.Speed, speed);
}
[Test]
public void UShortStatisticSet([Random(1)] ushort hp, [Random(1)] ushort attack, [Random(1)] ushort defense,
[Random(1)] ushort specialAttack, [Random(1)] ushort specialDefense, [Random(1)] ushort speed)
{
using var set = new StatisticSet<ushort>(hp, attack, defense, specialAttack, specialDefense, speed);
Assert.AreEqual(set.HP, hp);
Assert.AreEqual(set.Attack, attack);
Assert.AreEqual(set.Defense, defense);
Assert.AreEqual(set.SpecialAttack, specialAttack);
Assert.AreEqual(set.SpecialDefense, specialDefense);
Assert.AreEqual(set.Speed, speed);
}
[Test]
public void UintStatisticSet([Random(1)] uint hp, [Random(1)] uint attack, [Random(1)] uint defense,
[Random(1)] uint specialAttack, [Random(1)] uint specialDefense, [Random(1)] uint speed)
{
using var set = new StatisticSet<uint>(hp, attack, defense, specialAttack, specialDefense, speed);
var set = StatisticSet<uint>.Create(hp, attack, defense, specialAttack, specialDefense, speed);
Assert.AreEqual(set.HP, hp);
Assert.AreEqual(set.Attack, attack);
Assert.AreEqual(set.Defense, defense);
@@ -67,33 +54,7 @@ namespace PkmnLibRSharpTests.StaticData
public void SbyteStatisticSet([Random(1)] sbyte hp, [Random(1)] sbyte attack, [Random(1)] sbyte defense,
[Random(1)] sbyte specialAttack, [Random(1)] sbyte specialDefense, [Random(1)] sbyte speed)
{
using var set = new StatisticSet<sbyte>(hp, attack, defense, specialAttack, specialDefense, speed);
Assert.AreEqual(set.HP, hp);
Assert.AreEqual(set.Attack, attack);
Assert.AreEqual(set.Defense, defense);
Assert.AreEqual(set.SpecialAttack, specialAttack);
Assert.AreEqual(set.SpecialDefense, specialDefense);
Assert.AreEqual(set.Speed, speed);
}
[Test]
public void ShortStatisticSet([Random(1)] short hp, [Random(1)] short attack, [Random(1)] short defense,
[Random(1)] short specialAttack, [Random(1)] short specialDefense, [Random(1)] short speed)
{
using var set = new StatisticSet<short>(hp, attack, defense, specialAttack, specialDefense, speed);
Assert.AreEqual(set.HP, hp);
Assert.AreEqual(set.Attack, attack);
Assert.AreEqual(set.Defense, defense);
Assert.AreEqual(set.SpecialAttack, specialAttack);
Assert.AreEqual(set.SpecialDefense, specialDefense);
Assert.AreEqual(set.Speed, speed);
}
[Test]
public void IntStatisticSet([Random(1)] int hp, [Random(1)] int attack, [Random(1)] int defense,
[Random(1)] int specialAttack, [Random(1)] int specialDefense, [Random(1)] int speed)
{
using var set = new StatisticSet<int>(hp, attack, defense, specialAttack, specialDefense, speed);
var set = StatisticSet<sbyte>.Create(hp, attack, defense, specialAttack, specialDefense, speed);
Assert.AreEqual(set.HP, hp);
Assert.AreEqual(set.Attack, attack);
Assert.AreEqual(set.Defense, defense);