diff --git a/src/Umbraco.Core/Models/EntityBase/IDeepCloneable.cs b/src/Umbraco.Core/Models/IDeepCloneable.cs similarity index 65% rename from src/Umbraco.Core/Models/EntityBase/IDeepCloneable.cs rename to src/Umbraco.Core/Models/IDeepCloneable.cs index 62d8ba7f77..3932446e2f 100644 --- a/src/Umbraco.Core/Models/EntityBase/IDeepCloneable.cs +++ b/src/Umbraco.Core/Models/IDeepCloneable.cs @@ -1,4 +1,4 @@ -namespace Umbraco.Core.Models.EntityBase +namespace Umbraco.Core.Models { public interface IDeepCloneable { diff --git a/src/Umbraco.Core/Umbraco.Core.csproj b/src/Umbraco.Core/Umbraco.Core.csproj index 0f71c0b783..0b3234438c 100644 --- a/src/Umbraco.Core/Umbraco.Core.csproj +++ b/src/Umbraco.Core/Umbraco.Core.csproj @@ -194,7 +194,7 @@ - + diff --git a/src/Umbraco.Tests/Models/UmbracoEntityTests.cs b/src/Umbraco.Tests/Models/UmbracoEntityTests.cs index 13a590ad3a..789dee709c 100644 --- a/src/Umbraco.Tests/Models/UmbracoEntityTests.cs +++ b/src/Umbraco.Tests/Models/UmbracoEntityTests.cs @@ -1,92 +1,9 @@ using System; using NUnit.Framework; using Umbraco.Core.Models; -using Umbraco.Core.Models.Membership; namespace Umbraco.Tests.Models { - [TestFixture] - public class UserTypeTests - { - [Test] - public void Can_Deep_Clone() - { - var item = new UserType() - { - Id = 3, - Key = Guid.NewGuid(), - UpdateDate = DateTime.Now, - CreateDate = DateTime.Now, - Name = "Test", - Alias = "test", - Permissions = new[] {"a", "b", "c"} - }; - - var clone = (User)item.DeepClone(); - - Assert.AreNotSame(clone, item); - Assert.AreEqual(clone, item); - - //Verify normal properties with reflection - var allProps = clone.GetType().GetProperties(); - foreach (var propertyInfo in allProps) - { - Assert.AreEqual(propertyInfo.GetValue(clone, null), propertyInfo.GetValue(item, null)); - } - } - } - - [TestFixture] - public class UserTests - { - [Test] - public void Can_Deep_Clone() - { - var item = new User(new UserType(){Id = 3}) - { - Id = 3, - Key = Guid.NewGuid(), - UpdateDate = DateTime.Now, - CreateDate = DateTime.Now, - Name = "Test", - Comments = "comments", - DefaultPermissions = new[]{"a","b","c"}, - DefaultToLiveEditing = false, - Email = "test@test.com", - Language = "en", - FailedPasswordAttempts = 3, - IsApproved = true, - IsLockedOut = true, - LastLockoutDate = DateTime.Now, - LastLoginDate = DateTime.Now, - LastPasswordChangeDate = DateTime.Now, - Password = "test pass", - PasswordAnswer = "answer", - PasswordQuestion = "question", - //ProviderUserKey = "user key", - SessionTimeout = 5, - StartContentId = 3, - StartMediaId = 8, - Username = "username" - }; - - var clone = (User)item.DeepClone(); - - Assert.AreNotSame(clone, item); - Assert.AreEqual(clone, item); - - Assert.AreNotSame(clone.UserType, item.UserType); - Assert.AreEqual(clone.UserType, item.UserType); - - //Verify normal properties with reflection - var allProps = clone.GetType().GetProperties(); - foreach (var propertyInfo in allProps) - { - Assert.AreEqual(propertyInfo.GetValue(clone, null), propertyInfo.GetValue(item, null)); - } - } - } - [TestFixture] public class UmbracoEntityTests { diff --git a/src/Umbraco.Tests/Models/UserTests.cs b/src/Umbraco.Tests/Models/UserTests.cs new file mode 100644 index 0000000000..369d6d0777 --- /dev/null +++ b/src/Umbraco.Tests/Models/UserTests.cs @@ -0,0 +1,57 @@ +using System; +using NUnit.Framework; +using Umbraco.Core.Models.Membership; + +namespace Umbraco.Tests.Models +{ + [TestFixture] + public class UserTests + { + [Test] + public void Can_Deep_Clone() + { + var item = new User(new UserType(){Id = 3}) + { + Id = 3, + Key = Guid.NewGuid(), + UpdateDate = DateTime.Now, + CreateDate = DateTime.Now, + Name = "Test", + Comments = "comments", + DefaultPermissions = new[]{"a","b","c"}, + DefaultToLiveEditing = false, + Email = "test@test.com", + Language = "en", + FailedPasswordAttempts = 3, + IsApproved = true, + IsLockedOut = true, + LastLockoutDate = DateTime.Now, + LastLoginDate = DateTime.Now, + LastPasswordChangeDate = DateTime.Now, + Password = "test pass", + PasswordAnswer = "answer", + PasswordQuestion = "question", + //ProviderUserKey = "user key", + SessionTimeout = 5, + StartContentId = 3, + StartMediaId = 8, + Username = "username" + }; + + var clone = (User)item.DeepClone(); + + Assert.AreNotSame(clone, item); + Assert.AreEqual(clone, item); + + Assert.AreNotSame(clone.UserType, item.UserType); + Assert.AreEqual(clone.UserType, item.UserType); + + //Verify normal properties with reflection + var allProps = clone.GetType().GetProperties(); + foreach (var propertyInfo in allProps) + { + Assert.AreEqual(propertyInfo.GetValue(clone, null), propertyInfo.GetValue(item, null)); + } + } + } +} \ No newline at end of file diff --git a/src/Umbraco.Tests/Models/UserTypeTests.cs b/src/Umbraco.Tests/Models/UserTypeTests.cs new file mode 100644 index 0000000000..20d4b0d63f --- /dev/null +++ b/src/Umbraco.Tests/Models/UserTypeTests.cs @@ -0,0 +1,37 @@ +using System; +using NUnit.Framework; +using Umbraco.Core.Models.Membership; + +namespace Umbraco.Tests.Models +{ + [TestFixture] + public class UserTypeTests + { + [Test] + public void Can_Deep_Clone() + { + var item = new UserType() + { + Id = 3, + Key = Guid.NewGuid(), + UpdateDate = DateTime.Now, + CreateDate = DateTime.Now, + Name = "Test", + Alias = "test", + Permissions = new[] {"a", "b", "c"} + }; + + var clone = (UserType)item.DeepClone(); + + Assert.AreNotSame(clone, item); + Assert.AreEqual(clone, item); + + //Verify normal properties with reflection + var allProps = clone.GetType().GetProperties(); + foreach (var propertyInfo in allProps) + { + Assert.AreEqual(propertyInfo.GetValue(clone, null), propertyInfo.GetValue(item, null)); + } + } + } +} \ No newline at end of file diff --git a/src/Umbraco.Tests/Umbraco.Tests.csproj b/src/Umbraco.Tests/Umbraco.Tests.csproj index 38e41ffe68..da9d6a60cd 100644 --- a/src/Umbraco.Tests/Umbraco.Tests.csproj +++ b/src/Umbraco.Tests/Umbraco.Tests.csproj @@ -173,6 +173,8 @@ + +