/* CloneTest.cs * part of zaaReloaded2 * * Copyright 2015-2017 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"); } } }