コード例 #1
0
ファイル: ControlTest.cs プロジェクト: ynkbt/moon
        public void ArrangeAppliesTemplate()
        {
            ConcreteControl c = (ConcreteControl)XamlReader.Load(@"
<x:ConcreteControl	xmlns=""http://schemas.microsoft.com/client/2007""
					xmlns:x=""clr-namespace:MoonTest.System.Windows.Controls;assembly=moon-unit"">
	<x:ConcreteControl.Template>
		<ControlTemplate>
			<Grid />
		</ControlTemplate>
	</x:ConcreteControl.Template>
</x:ConcreteControl>");

            c.CallBaseArrangeOverride = false;
            c.CallBaseMeasureOverride = false;

            Assert.IsFalse(c.TemplateAppled, "#1");
            c.Methods.Clear();
            c.Arrange(new Rect(0, 0, 1000, 1000));
            Assert.IsTrue(c.TemplateAppled, "#2");

            Assert.AreEqual(3, c.Methods.Count, "#3");
            Assert.AreEqual(0, c.Methods.IndexOf("Template"), "No template");
            Assert.AreEqual(1, c.Methods.IndexOf("Measure"), "No measure");
            Assert.AreEqual(2, c.Methods.IndexOf("Arrange"), "No arrange");
        }