summaryrefslogtreecommitdiff
path: root/Xamarin.Forms.Core.UnitTests/TemplatedPageUnitTests.cs
blob: 306abf0d8cf5b72cfefde98b3c832a8afed1bda5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
using System.Collections.Generic;
using NUnit.Framework;

namespace Xamarin.Forms.Core.UnitTests
{
    [TestFixture]
	public class TemplatedPageUnitTests : BaseTestFixture 
	{
        [Test]
        public void TemplatedPage_should_have_the_InternalChildren_correctly_when_ControlTemplate_changed()
        {
            var sut = new TemplatedPage();
            IList<Element> internalChildren = ((IControlTemplated)sut).InternalChildren;
            internalChildren.Add(new VisualElement());
            internalChildren.Add(new VisualElement());
            internalChildren.Add(new VisualElement());

            sut.ControlTemplate = new ControlTemplate(typeof(ExpectedView));

            Assert.AreEqual(1, internalChildren.Count);
            Assert.IsInstanceOf<ExpectedView>(internalChildren[0]);
        }

        private class ExpectedView : View
        {
            public ExpectedView()
            {
            }
        }
	}
}