Fixes dupe exception (#258)
- [X] Cleans up ActivatorUtil - [X] Fixes dupe exception - [X] Fixes a bug in BasePotion - [X] Fixes a few possible memory leaks Bumps release version
This commit is contained in:
parent
4d6e584b6c
commit
e9c1e4cbba
66 changed files with 597 additions and 496 deletions
95
Projects/Server.Tests/Utility/ActivatorExtensionsTests.cs
Normal file
95
Projects/Server.Tests/Utility/ActivatorExtensionsTests.cs
Normal file
|
|
@ -0,0 +1,95 @@
|
|||
using Server.Utilities;
|
||||
using Xunit;
|
||||
|
||||
namespace Server.Tests
|
||||
{
|
||||
public class ActivatorExtensionsTests
|
||||
{
|
||||
[Fact]
|
||||
public void TestZeroParamsActivator()
|
||||
{
|
||||
var result = typeof(TestZeroParamsClass).CreateInstance<TestZeroParamsClass>();
|
||||
Assert.IsType<TestZeroParamsClass>(result);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void TestZeroParamsNullActivator()
|
||||
{
|
||||
var result = typeof(TestZeroParamsClass).CreateInstance<TestZeroParamsClass>(null, null);
|
||||
Assert.IsType<TestZeroParamsClass>(result);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void TestTwoParamsActivator()
|
||||
{
|
||||
var result = typeof(TestTwoParamsClass).CreateInstance<TestTwoParamsClass>(10, "ModernUO");
|
||||
Assert.IsType<TestTwoParamsClass>(result);
|
||||
Assert.Equal(10, result.Amount);
|
||||
Assert.Equal("ModernUO", result.Name);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void TestAllParamsOptionalActivator()
|
||||
{
|
||||
var result = typeof(TestTwoOptionalParamsClass).CreateInstance<TestTwoOptionalParamsClass>();
|
||||
Assert.IsType<TestTwoOptionalParamsClass>(result);
|
||||
Assert.Equal(1, result.Amount);
|
||||
Assert.Equal("Test ModernUO", result.Name);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void TestAllParamsNullOptionalActivator()
|
||||
{
|
||||
var result = typeof(TestTwoOptionalParamsClass).CreateInstance<TestTwoOptionalParamsClass>(null);
|
||||
Assert.IsType<TestTwoOptionalParamsClass>(result);
|
||||
Assert.Equal(1, result.Amount);
|
||||
Assert.Equal("Test ModernUO", result.Name);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void TestLessParamsOptionalActivator()
|
||||
{
|
||||
var result = typeof(TestTwoOptionalParamsClass).CreateInstance<TestTwoOptionalParamsClass>(10);
|
||||
Assert.IsType<TestTwoOptionalParamsClass>(result);
|
||||
Assert.Equal(10, result.Amount);
|
||||
Assert.Equal("Test ModernUO", result.Name);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void TestTwoParamsOptionalActivator()
|
||||
{
|
||||
var result = typeof(TestTwoOptionalParamsClass).CreateInstance<TestTwoOptionalParamsClass>(10, "Prod ModernUO");
|
||||
Assert.IsType<TestTwoOptionalParamsClass>(result);
|
||||
Assert.Equal(10, result.Amount);
|
||||
Assert.Equal("Prod ModernUO", result.Name);
|
||||
}
|
||||
|
||||
private class TestZeroParamsClass
|
||||
{
|
||||
}
|
||||
|
||||
private class TestTwoParamsClass
|
||||
{
|
||||
public int Amount;
|
||||
public string Name;
|
||||
|
||||
public TestTwoParamsClass(int amount, string name)
|
||||
{
|
||||
Amount = amount;
|
||||
Name = name;
|
||||
}
|
||||
}
|
||||
|
||||
private class TestTwoOptionalParamsClass
|
||||
{
|
||||
public int Amount;
|
||||
public string Name;
|
||||
|
||||
public TestTwoOptionalParamsClass(int amount = 1, string name = "Test ModernUO")
|
||||
{
|
||||
Amount = amount;
|
||||
Name = name;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue