diff --git a/Tests/Controller/Elements/CloneTest.cs b/Tests/Controller/Elements/CloneTest.cs new file mode 100755 index 0000000..a6602e3 --- /dev/null +++ b/Tests/Controller/Elements/CloneTest.cs @@ -0,0 +1,51 @@ +/* CloneTest.cs + * part of zaaReloaded2 + * + * Copyright 2015 Daniel Kraus + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using NUnit.Framework; +using zaaReloaded2.Controller.Elements; + +namespace Tests.Controller.Elements +{ + [TestFixture(typeof(SelectFirstDay))] + [TestFixture(typeof(SelectLastDay))] + [TestFixture(typeof(SelectEachDay))] + class CloneTest where T : ControlElementBase, new() + { + [Test] + public void CloneControlElement() + { + T original = new T(); + original.Children = new List() + { + new Items("hello"), + new Items("world") + }; + T clone = original.Clone() as T; + for (int i = 0; i < original.Children.Count; i++) + { + Assert.AreEqual(original.Children[i].Content, clone.Children[i].Content); + } + clone.Children[1].Content = "something else"; + Assert.AreNotEqual(clone.Children[1].Content, original.Children[1].Content, + "Clone's child #1 should have different content than original's child #1"); + } + } +} diff --git a/Tests/Tests.csproj b/Tests/Tests.csproj index 08833d6..e555af5 100755 --- a/Tests/Tests.csproj +++ b/Tests/Tests.csproj @@ -82,6 +82,7 @@ +