public void Test1() { var cardBox = new CardBox() { Width = 1000, }; var wordCard1 = new WordCard("abc") { Size = new SizeF(100, 100), }; var wordCard2 = new WordCard("def") { Size = new SizeF(100, 100), }; var label = new EigoTestLabelItem(); Assert.Throws<ArgumentException>(() => { cardBox.Items.Add(label); }); cardBox.Items.Add(wordCard1); cardBox.Items.Add(wordCard2); Assert.AreEqual(0, wordCard1.Location.X); Assert.AreEqual(0, wordCard1.Location.Y); Assert.AreEqual(5 + 100 + 5 + 10, wordCard2.Location.X); Assert.AreEqual(0, wordCard2.Location.Y); }
public void Test1() { var label = new EigoTestLabelItem(); Assert.True(label.IsClickable); }
public void WordCardContainerにWordCard以外のものを入れたら例外() { var ankimonRowContainer = new AnkimonRowContainer(); var wordCardContainer = ankimonRowContainer.WordCardContainer; var a = new WordCard("a"); wordCardContainer.Items.Add(a); Assert.Throws<InvalidCastException>(() => { var b = new EigoTestLabelItem("b"); wordCardContainer.Items.Add(b); }); }
public void RemoveTest() { var label = new EigoTestLabelItem(); var container = new DrawingObjectContainer(); container.Items.Add(label); Assert.AreEqual(1, container.Items.Count()); Assert.AreSame(container, label.Parent); container.Items.Remove(label); Assert.AreEqual(0, container.Items.Count()); Assert.Null(label.Parent); }
public void DrawingObjectの位置交換() { var window = new EPuzzleWindow(); var state = new WindowState(window); window.State = state; var container0 = new DrawingObjectContainer() { Position = DrawingObjectPosition.Relative, MarginLeft = 1f, MarginTop = 10f, Height = 100, }; state.Items.Add(container0); var container1 = new DrawingObjectContainer() { Position = DrawingObjectPosition.Relative, MarginLeft = 1f, MarginTop = 10f, Height = 100, }; state.Items.Add(container1); var a = new EigoTestLabelItem() { Position = DrawingObjectPosition.Absolute, Width = 10, Height = 100, Name = "a", }; container0.Items.Add(a); var b = new EigoTestLabelItem() { Position = DrawingObjectPosition.Absolute, Left = 0, Top = 0, Width = 20, Height = 100, Name = "b", }; container1.Items.Add(b); var c = new EigoTestLabelItem() { Position = DrawingObjectPosition.Absolute, Left = 21, Top = 0, Width = 10, Height = 100, Name = "c", }; container1.Items.Add(c); // container0 Assert.AreEqual(1, container0.BorderLeft); Assert.AreEqual(10, container0.BorderTop); Assert.AreEqual(100, container0.Height); CollectionAssert.AreEqual(new [] { a, }, container0.Items); // container1 Assert.AreEqual(1, container1.BorderLeft); Assert.AreEqual(120, container1.BorderTop); Assert.AreEqual(100, container1.Height); CollectionAssert.AreEqual(new [] { b, c, }, container1.Items); // a Assert.AreEqual("a", a.Name); Assert.AreEqual(1, a.OuterLeft); Assert.AreEqual(10, a.OuterTop); Assert.AreEqual(11, a.OuterRight); Assert.AreEqual(110, a.OuterBottom); // b Assert.AreEqual("b", b.Name); Assert.AreEqual(1, b.OuterLeft); Assert.AreEqual(120, b.OuterTop); Assert.AreEqual(21, b.OuterRight); Assert.AreEqual(220, b.OuterBottom); // c Assert.AreEqual("c", c.Name); Assert.AreEqual(22, c.OuterLeft); Assert.AreEqual(120, c.OuterTop); Assert.AreEqual(32, c.OuterRight); Assert.AreEqual(220, c.OuterBottom); WindowState.NowObject = new TestNowObject(); WindowState.NowObject.Now = DateTime.MinValue; var idouJikan = TimeSpan.FromSeconds(1d); state.場所の入れ換え(a, c, idouJikan); var aa = state.Items.Single(x => "a" == x.Name); var cc = state.Items.Single(x => "c" == x.Name); Assert.False(a.IsClickable); Assert.False(a.IsVisible); Assert.False(c.IsClickable); Assert.False(c.IsVisible); Assert.False(aa.IsClickable); Assert.True(aa.IsVisible); Assert.AreEqual(DrawingObjectPosition.Absolute, aa.Position); Assert.AreSame(state.DrawingObjectRoot, aa.Parent); Assert.AreEqual(a.OuterLeft, aa.OuterLeft); Assert.AreEqual(a.OuterTop, aa.OuterTop); Assert.AreEqual(a.OuterWidth, aa.OuterWidth); Assert.False(cc.IsClickable); Assert.True(cc.IsVisible); Assert.AreEqual(DrawingObjectPosition.Absolute, cc.Position); Assert.AreSame(state.DrawingObjectRoot, cc.Parent); Assert.AreEqual(c.OuterLeft, cc.OuterLeft); Assert.AreEqual(c.OuterTop, cc.OuterTop); Assert.AreEqual(c.OuterWidth, cc.OuterWidth); // 移動中 WindowState.NowObject.Now += TimeSpan.FromTicks((int)Math.Round(idouJikan.Ticks * 0.5f)); window.Tick(); Assert.AreEqual(c.OuterLeft + (a.OuterLeft - c.OuterLeft) * 0.5f, cc.OuterLeft, 0.1f); Assert.AreEqual(c.OuterTop + (a.OuterTop - c.OuterTop) * 0.5f, cc.OuterTop, 0.1f); Assert.AreEqual(c.Width + (a.Width - c.Width) * 0.5f, c.Width, 0.1f); Assert.AreEqual(a.OuterLeft + (c.OuterLeft - a.OuterLeft) * 0.5f, aa.OuterLeft, 0.1f); Assert.AreEqual(a.OuterTop + (c.OuterTop - a.OuterTop) * 0.5f, aa.OuterTop, 0.1f); Assert.AreEqual(a.Width + (c.Width - a.Width) * 0.5f, a.Width, 0.1f); // 場所の入れ換え完了 WindowState.NowObject.Now += idouJikan; window.Tick(); CollectionAssert.DoesNotContain(state.GetAllItems(), a); CollectionAssert.DoesNotContain(state.GetAllItems(), c); Assert.Null(a.Parent); Assert.Null(c.Parent); CollectionAssert.AreEqual(new [] { cc, }, container0.Items); CollectionAssert.AreEqual(new [] { b, aa }, container1.Items); Assert.True(aa.IsClickable); Assert.True(aa.IsVisible); Assert.True(cc.IsClickable); Assert.True(cc.IsVisible); // cc Assert.AreEqual("c", cc.Name); Assert.AreEqual(1, cc.OuterLeft); Assert.AreEqual(10, cc.OuterTop); Assert.AreEqual(11, cc.OuterRight); Assert.AreEqual(110, cc.OuterBottom); // aa Assert.AreEqual("a", aa.Name); Assert.AreEqual(22, aa.OuterLeft); Assert.AreEqual(120, aa.OuterTop); Assert.AreEqual(32, aa.OuterRight); Assert.AreEqual(220, aa.OuterBottom); }
public void GetAllItemsTest() { var testState = new Fish.eigotest.TestState(null); var drawingObjectContainer1 = new DrawingObjectContainer(); var drawingObjectContainer2 = new DrawingObjectContainer(); var eigoTestLabelItem = new EigoTestLabelItem(); drawingObjectContainer2.Items.Add(eigoTestLabelItem); drawingObjectContainer1.Items.Add(drawingObjectContainer2); testState.Items.Add(drawingObjectContainer1); Assert.AreEqual(3, testState.GetAllItems().Count()); }
public void MouseClickイベントの送出() { var window = new EPuzzleWindow(); var testState = new Fish.eigotest.TestState(window); var container = new DrawingObjectContainer() { MarginLeft = 10f, MarginTop = 100f, }; var label = new EigoTestLabelItem() { Size = new SizeF(10, 100), }; testState.Items.Add(container); container.Items.Add(label); window.State = testState; label.Click += (sender, e) => { Assert.Pass(); }; Assert.AreEqual(1014f, container.Width); Assert.AreEqual(DrawingObjectPosition.Static, container.Position); Assert.AreEqual(10f, label.OuterLeft); Assert.AreEqual(100f, label.OuterTop); Assert.AreEqual(10f, label.Width); Assert.AreEqual(100f, label.Height); window.MouseUp(15f, 150f, MouseButtons.Left); Assert.Fail(); }
public void CurrentItemTest() { var window = new EPuzzleWindow(); var testState1 = new Fish.eigotest.TestState(window); Assert.Null(testState1.CurrentItem); var button = new EigoTestButtonItem() { Left = 100, Top = 100, Width = 100, Height = 100, }; testState1.Items.Add(button); window.State = testState1; Assert.AreSame(button, testState1.CurrentItem); var label = new EigoTestLabelItem(); testState1.Items.Add(label); Assert.Throws<ArgumentException>(() => { testState1.CurrentItem = label; }); var button3 = new EigoTestButtonItem() { Left = 300, Top = 300, Width = 10, Height = 10, }; window.State.Items.Add(button3); Assert.AreSame(button, testState1.CurrentItem); window.MouseMove(button3.BorderLeft, button3.BorderTop); window.Tick(); Assert.AreSame(button3, testState1.CurrentItem); }
public void 初期値テスト() { var label = new EigoTestLabelItem(); Assert.True(label.IsVisible); Assert.True(label.IsClickable); Assert.False(label.IsSelected); Assert.Null(label.Tag); }
public void 色の継承() { var container0 = new DrawingObjectContainer(); var container1 = new DrawingObjectContainer(); var label = new EigoTestLabelItem(); container0.Items.Add(container1); container1.Items.Add(label); Assert.AreEqual(Color.Empty, label.Color); container0.Color = Color.Red; Assert.AreEqual(Color.Red, label.Color); label.Color = Color.Blue; Assert.AreEqual(Color.Blue, label.Color); }
public void ContainsIsClickedTest() { var container1 = new DrawingObjectContainer() { Location = new PointF(10, 100), MarginLeft = 100, PaddingLeft = 1, MarginTop = 1000, PaddingTop = 10, }; // 111, 1110 var container2 = new DrawingObjectContainer() { Location = new PointF(10, 100), MarginLeft = 100, PaddingLeft = 1, MarginTop = 1000, PaddingTop = 10, }; // 222, 2220 var label = new EigoTestLabelItem() { MarginLeft = 100, MarginTop = 1000, PaddingLeft = 1000, PaddingTop = 1000, Location = new PointF(10, 100), Size = new SizeF(50, 500), }; // 332, 3320 container1.Items.Add(container2); container2.Items.Add(label); Assert.False(label.Contains(15f, 150f)); Assert.True(label.Contains(332f, 3320f)); Assert.True(label.Contains(1332f, 4320f)); Assert.False(label.IsClicked(15f, 150f)); Assert.True(label.IsClicked(332f, 3320f)); Assert.True(label.IsClicked(1332f, 4320f)); label.IsClickable = false; label.IsVisible = false; Assert.False(label.IsClicked(332f, 3320f)); Assert.False(label.IsClicked(1332f, 4320f)); label.IsClickable = false; label.IsVisible = true; Assert.False(label.IsClicked(332f, 3320f)); Assert.False(label.IsClicked(1332f, 4320f)); label.IsClickable = true; label.IsVisible = false; Assert.False(label.IsClicked(332f, 3320f)); Assert.False(label.IsClicked(1332f, 4320f)); label.IsClickable = true; label.IsVisible = true; Assert.True(label.IsClicked(332f, 3320f)); Assert.True(label.IsClicked(1332f, 4320f)); }
public void ParentTest() { var container1 = new DrawingObjectContainer() { Position = DrawingObjectPosition.Relative, Location = new PointF(10, 100), MarginLeft = 100, PaddingLeft = 1, MarginTop = 1000, PaddingTop = 10, }; var container2 = new DrawingObjectContainer() { Position = DrawingObjectPosition.Absolute, Location = new PointF(10, 100), MarginLeft = 100, PaddingLeft = 1, MarginTop = 1000, PaddingTop = 10, }; var label = new EigoTestLabelItem() { Position = DrawingObjectPosition.Absolute, MarginLeft = 100, MarginTop = 1000, Location = new PointF(10, 100), }; container1.Items.Add(container2); container2.Items.Add(label); Assert.Null(container1.Parent); Assert.AreSame(container1, container2.Parent); Assert.AreSame(container2, label.Parent); Assert.AreEqual(110f, container1.BorderLeft); Assert.AreEqual(221f, container2.BorderLeft); Assert.AreEqual(332f, label.BorderLeft); Assert.AreEqual(1100f, container1.BorderTop); Assert.AreEqual(2210f, container2.BorderTop); Assert.AreEqual(3320f, label.BorderTop); }
public void OuterBorderInnerTest() { var container1 = new DrawingObjectContainer() { Position = DrawingObjectPosition.Relative, Location = new PointF(10, 100), MarginLeft = 100, MarginRight = 100, PaddingLeft = 1, PaddingRight = 1, MarginTop = 1000, MarginBottom = 1000, PaddingTop = 10, PaddingBottom = 10, Size = new SizeF(50, 500), }; var label = new EigoTestLabelItem() { Position = DrawingObjectPosition.Absolute, MarginLeft = 100, MarginTop = 1000, PaddingLeft = 100, PaddingTop = 1000, Location = new PointF(10, 100), Size = new SizeF(50, 500), }; container1.Items.Add(label); Assert.AreEqual(10, container1.Left); Assert.AreEqual(100, container1.Top); Assert.AreEqual(10, container1.OuterLeft); Assert.AreEqual(10 + 252, container1.OuterRight); Assert.AreEqual(100, container1.OuterTop); Assert.AreEqual(100 + 2520, container1.OuterBottom); Assert.AreEqual(110, container1.BorderLeft); Assert.AreEqual(110 + 52, container1.BorderRight); Assert.AreEqual(1100, container1.BorderTop); Assert.AreEqual(1100 + 520, container1.BorderBottom); Assert.AreEqual(111, container1.InnerLeft); Assert.AreEqual(111 + 50, container1.InnerRight); Assert.AreEqual(1110, container1.InnerTop); Assert.AreEqual(1110 + 500, container1.InnerBottom); Assert.AreEqual(50, container1.Width); Assert.AreEqual(500, container1.Height); Assert.AreEqual(52, container1.BorderWidth); Assert.AreEqual(520, container1.BorderHeight); Assert.AreEqual(252, container1.OuterWidth); Assert.AreEqual(2520, container1.OuterHeight); // ラベル Assert.AreEqual(10, label.Left); Assert.AreEqual(100, label.Top); // Location = new PointF(10, 100), Assert.AreEqual(111 + 10, label.OuterLeft); Assert.AreEqual(1110 + 100, label.OuterTop); // MarginLeft = 100, // MarginTop = 1000, Assert.AreEqual(111 + 10 + 100, label.BorderLeft); Assert.AreEqual(1110 + 100 + 1000, label.BorderTop); // PaddingLeft = 100, // PaddingTop = 1000, Assert.AreEqual(111 + 10 + 100 + 100, label.InnerLeft); Assert.AreEqual(1110 + 100 + 1000 + 1000, label.InnerTop); }
public void GetParentsTest() { var container1 = new DrawingObjectContainer(); var container2 = new DrawingObjectContainer(); var label = new EigoTestLabelItem(); container1.Items.Add(container2); container2.Items.Add(label); CollectionAssert.AreEqual(new EigoTestDrawingObject[] { container2, container1, }, label.GetParents().ToArray()); }
public void CopyTest() { var container1 = new DrawingObjectContainer() { Location = new PointF(10, 100), MarginLeft = 100, MarginRight = 100, PaddingLeft = 1, PaddingRight = 1, MarginTop = 1000, MarginBottom = 1000, PaddingTop = 10, PaddingBottom = 10, Size = new SizeF(50, 500), }; var label = new EigoTestLabelItem() { MarginLeft = 100, MarginTop = 1000, PaddingLeft = 100, PaddingTop = 1000, Location = new PointF(10, 100), Size = new SizeF(50, 500), }; container1.Items.Add(label); Assert.AreSame(container1, label.Parent); var label2 = label.Copy(); Assert.AreEqual(label.MarginLeft, label2.MarginLeft); Assert.AreEqual(label.MarginTop, label2.MarginTop); Assert.AreEqual(label.PaddingLeft, label2.PaddingLeft); Assert.AreEqual(label.PaddingTop, label2.PaddingTop); Assert.AreEqual(label.Location, label2.Location); Assert.AreEqual(label.Size, label2.Size); Assert.AreNotEqual(label.Id, label2.Id); Assert.Null(label2.Parent); }