From 732121bdf5cb5a508daef21479b279571caf1a4e Mon Sep 17 00:00:00 2001 From: Zack Piispanen Date: Sat, 23 Jul 2011 18:07:15 -0400 Subject: [PATCH] region basic tests added --- TShockAPI/DB/RegionManager.cs | 6 +- UnitTests/ItemManagerTest.cs | 8 +-- UnitTests/RegionManagerTest.cs | 85 +++++++++++++++++++++++++ UnitTests/RegionManagerTest.orderedtest | 10 +++ UnitTests/UnitTests.csproj | 12 ++++ 5 files changed, 114 insertions(+), 7 deletions(-) create mode 100644 UnitTests/RegionManagerTest.cs create mode 100644 UnitTests/RegionManagerTest.orderedtest 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 +