CrabUI
Loading...
Searching...
No Matches
ParentTest.cs
1using System;
2using System.Collections.Generic;
3using System.Linq;
4using System.Reflection;
5using System.Diagnostics;
6using System.Runtime.CompilerServices;
7using System.IO;
8
9using Barotrauma;
10using Microsoft.Xna.Framework;
11using Microsoft.Xna.Framework.Input;
12using Microsoft.Xna.Framework.Graphics;
13using HarmonyLib;
14using CrabUI;
15
16namespace CrabUITest
17{
18 public class ParentTest : UnitTest
19 {
20
21 public void SetParentTest()
22 {
23 CUIComponent A = new CUIComponent();
24 CUIComponent B = new CUIComponent();
25 CUIComponent C = new CUIComponent() { AKA = "C" };
26
27 B.Parent = A;
28 C.Parent = A;
29
30 Expect(B.Parent, "B.Parent == A").ToBeEqual(A);
31 Expect(C.Parent, "C.Parent == A").ToBeEqual(A);
32 Expect(A.Children.Count, "A.Children.Count == 0").ToBeEqual(0);
33 Expect(A.Get("C"), "A.Get'C') == C").ToBeEqual(C);
34 }
35
36 public void PrependTest()
37 {
38 CUIComponent A = new CUIComponent();
39 CUIComponent B = new CUIComponent();
40 CUIComponent C = new CUIComponent() { AKA = "C" };
41
42 A.Prepend(B);
43 A.Prepend(C);
44
45 Expect(C.Parent, "C.Parent == A").ToBeEqual(A);
46 Expect(A.Children.First(), "A.Children.First() == C").ToBeEqual(C);
47 Expect(A.Get("C"), "A.Get'C') == C").ToBeEqual(C);
48 }
49
50 public void InsertTest()
51 {
52 CUIComponent A = new CUIComponent() { AKA = "A" };
53 CUIComponent B = new CUIComponent() { AKA = "B" };
54 CUIComponent C = new CUIComponent() { AKA = "C" };
55 CUIComponent D = new CUIComponent() { AKA = "D" };
56
57 A.Append(B);
58 A.Insert(C, 100);
59 A.Insert(D, 1);
60
61 Expect(A.Children.ElementAtOrDefault(0), "A.Children[0] == B").ToBeEqual(B);
62 Expect(A.Children.ElementAtOrDefault(1), "A.Children[1] == D").ToBeEqual(D);
63 Expect(A.Children.ElementAtOrDefault(2), "A.Children[2] == C").ToBeEqual(C);
64 Expect(A.Get("D"), "A.Get'D') == D").ToBeEqual(D);
65 }
66
67 public void AppendTest()
68 {
69 CUIComponent A = new CUIComponent();
70 CUIComponent B = new CUIComponent();
71 CUIComponent C = new CUIComponent() { AKA = "C" };
72
73 A.Append(B);
74 A.Append(C);
75
76 Expect(C.Parent, "C.Parent == A").ToBeEqual(A);
77 Expect(A.Children.Last(), "A.Children.Last() == C").ToBeEqual(C);
78 Expect(A.Get("C"), "A.Get'C') == C").ToBeEqual(C);
79 }
80
81 public void SingleParentTest()
82 {
83 CUIComponent A = new CUIComponent();
84 CUIComponent B = new CUIComponent();
85 CUIComponent C = new CUIComponent();
86
87 A.Append(C);
88 B.Append(C);
89
90 Expect(C.Parent, "C.Parent == B").ToBeEqual(B);
91 Expect(A.Children.Count, "A.Children.Count == 0").ToBeEqual(0);
92 }
93
94
95 }
96}
Base class for all components.
virtual CUIComponent Prepend(CUIComponent child, string name=null, [CallerMemberName] string memberName="")
Adds children to the begining of the list.
virtual CUIComponent Get(string name)
Returns memorized component by name.
virtual CUIComponent Append(CUIComponent child, string name=null, [CallerMemberName] string memberName="")
Adds children to the end of the list.