diff --git a/TShockAPI/DB/RegionManager.cs b/TShockAPI/DB/RegionManager.cs
index a20b05f9..989e64cb 100644
--- a/TShockAPI/DB/RegionManager.cs
+++ b/TShockAPI/DB/RegionManager.cs
@@ -292,15 +292,15 @@ namespace TShockAPI.DB
"INSERT INTO Regions VALUES (@tx, @ty, @height, @width, @name, @worldid, @userids, @protected);";
com.AddParameter("@tx", tx);
com.AddParameter("@ty", ty);
- com.AddParameter("@width", width + tx);
- com.AddParameter("@height", height + ty);
+ com.AddParameter("@width", width);
+ com.AddParameter("@height", height);
com.AddParameter("@name", regionname.ToLower());
com.AddParameter("@worldid", worldid);
com.AddParameter("@userids", "");
com.AddParameter("@protected", 1);
if (com.ExecuteNonQuery() > 0)
{
- ReloadAllRegions();
+ Regions.Add(new Region(new Rectangle(tx, ty, width, height), regionname, 0, worldid));
return true;
}
diff --git a/UnitTests/ItemManagerTest.cs b/UnitTests/ItemManagerTest.cs
index 7b149e9b..992e5c35 100644
--- a/UnitTests/ItemManagerTest.cs
+++ b/UnitTests/ItemManagerTest.cs
@@ -60,12 +60,12 @@ namespace UnitTests
//
ItemManager manager = new ItemManager(DB);
Assert.IsNotNull(manager);
- Assert.AreEqual( false, manager.ItemIsBanned("Dirt Block"), "Item isn't banned" );
+ Assert.IsFalse( manager.ItemIsBanned("Dirt Block"), "Item isn't banned" );
manager.AddNewBan("Dirt Block");
- Assert.AreEqual(true, manager.ItemIsBanned("Dirt Block"), "New item is added");
- Assert.AreEqual(false, manager.ItemIsBanned("Green Brick"), "Item isn't banned");
+ Assert.IsTrue( manager.ItemIsBanned("Dirt Block"), "New item is added");
+ Assert.IsFalse( manager.ItemIsBanned("Green Brick"), "Item isn't banned");
manager.AddNewBan("Green Brick");
- Assert.AreEqual(true, manager.ItemIsBanned("Green Brick"), "New item is added");
+ Assert.IsTrue( manager.ItemIsBanned("Green Brick"), "New item is added");
Assert.AreEqual(2, manager.ItemBans.Count, "Adding both items");
manager.AddNewBan("Green Brick" );
Assert.AreEqual(2, manager.ItemBans.Count, "Adding duplicate items");
diff --git a/UnitTests/RegionManagerTest.cs b/UnitTests/RegionManagerTest.cs
new file mode 100644
index 00000000..c67d0e41
--- /dev/null
+++ b/UnitTests/RegionManagerTest.cs
@@ -0,0 +1,85 @@
+using System;
+using System.Text;
+using System.Collections.Generic;
+using System.Linq;
+using Microsoft.VisualStudio.TestTools.UnitTesting;
+using System.Data;
+using TShockAPI;
+using Community.CsharpSqlite.SQLiteClient;
+using TShockAPI.DB;
+using Microsoft.Xna.Framework;
+
+namespace UnitTests
+{
+ ///
+ /// Summary description for RegionManagerTest
+ ///
+ [TestClass]
+ public class RegionManagerTest
+ {
+ public static IDbConnection DB;
+ public static RegionManager manager;
+ [TestInitialize]
+ public void Initialize()
+ {
+ TShock.Config = new ConfigFile();
+ TShock.Config.StorageType = "sqlite";
+
+ DB = new SqliteConnection(string.Format("uri=file://{0},Version=3", "tshock.test.sqlite"));
+ DB.Open();
+
+ manager = new RegionManager(DB);
+ }
+
+
+ [TestMethod]
+ public void AddRegion()
+ {
+ Region r = new Region( new Rectangle(100,100,100,100), "test", 0, "test world");
+ Assert.IsTrue(manager.AddRegion(r.RegionArea.X, r.RegionArea.Y, r.RegionArea.Width, r.RegionArea.Height, r.RegionName, r.RegionWorldID));
+ Assert.AreEqual(1, manager.Regions.Count);
+
+ Region r2 = new Region(new Rectangle(201, 201, 100, 100), "test2", 0, "test world");
+ manager.AddRegion(r2.RegionArea.X, r2.RegionArea.Y, r2.RegionArea.Width, r2.RegionArea.Height, r2.RegionName, r2.RegionWorldID);
+ Assert.AreEqual(2, manager.Regions.Count);
+ }
+
+ [TestMethod]
+ public void DeleteRegion()
+ {
+ Assert.IsTrue(manager.DeleteRegion("test"));
+ Assert.IsTrue(manager.DeleteRegion("test2"));
+ Assert.AreEqual(0, manager.Regions.Count);
+ }
+
+ [TestMethod]
+ public void InRegion()
+ {
+ //
+ // TODO: Add test logic here
+ //
+ }
+
+ [TestMethod]
+ public void TestMethod2()
+ {
+ //
+ // TODO: Add test logic here
+ //
+ }
+
+ [TestMethod]
+ public void TestMethod3()
+ {
+ //
+ // TODO: Add test logic here
+ //
+ }
+
+ [TestCleanup]
+ public void Cleanup()
+ {
+ DB.Close();
+ }
+ }
+}
diff --git a/UnitTests/RegionManagerTest.orderedtest b/UnitTests/RegionManagerTest.orderedtest
new file mode 100644
index 00000000..201f1b3f
--- /dev/null
+++ b/UnitTests/RegionManagerTest.orderedtest
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/UnitTests/UnitTests.csproj b/UnitTests/UnitTests.csproj
index ec6af728..8294b6b2 100644
--- a/UnitTests/UnitTests.csproj
+++ b/UnitTests/UnitTests.csproj
@@ -40,6 +40,10 @@
..\TShockAPI\SqlBins\Community.CsharpSqlite.SQLiteClient.dll
+
+ False
+ ..\..\..\..\..\Windows\Microsoft.NET\assembly\GAC_32\Microsoft.Xna.Framework\v4.0_4.0.0.0__842cf8be1de50553\Microsoft.Xna.Framework.dll
+
..\TShockAPI\SqlBins\MySql.Data.dll
@@ -56,6 +60,10 @@
False
..\TShockAPI\TerrariaServerBins\TerrariaServerAPI.dll
+
+ False
+ ..\TShockAPI\TerrariaServerBins\XNAHelpers.dll
+
@@ -66,6 +74,7 @@
+
@@ -80,6 +89,9 @@
Always
+
+ Always
+