1 // This file is part of VSTGUI. It is subject to the license terms
2 // in the LICENSE file found in the top-level directory of this
3 // distribution and at http://github.com/steinbergmedia/vstgui/LICENSE
4 
5 #include "../../unittests.h"
6 #include "../../../../uidescription/uiviewfactory.h"
7 #include "../../../../uidescription/uiattributes.h"
8 #include "../../../../uidescription/detail/uiviewcreatorattributes.h"
9 #include "../../../../lib/controls/cknob.h"
10 #include "../../../../lib/cstring.h"
11 #include "../../../../lib/cbitmap.h"
12 #include "../../../../lib/cgradient.h"
13 #include "helpers.h"
14 
15 namespace VSTGUI {
16 using namespace UIViewCreator;
17 
18 TESTCASE(CKnobCreatorTest,
19 
20 	TEST(angleStart,
21 		DummyUIDescription uidesc;
__anon27526f0b0102(CKnob* v) 22 		testAttribute<CKnob>(kCKnob, kAttrAngleStart, 20., &uidesc, [&] (CKnob* v) {
23 			return static_cast<int32_t> (v->getStartAngle () / Constants::pi * 180.) == 20;
24 		});
25 	);
26 
27 	TEST(angleRange,
28 		DummyUIDescription uidesc;
__anon27526f0b0202(CKnob* v) 29 		testAttribute<CKnob>(kCKnob, kAttrAngleRange, 100., &uidesc, [&] (CKnob* v) {
30 			return static_cast<int32_t> (v->getRangeAngle () / Constants::pi * 180.) == 100;
31 		});
32 	);
33 
34 	TEST(valueInset,
35 		DummyUIDescription uidesc;
__anon27526f0b0302(CKnob* v) 36 		testAttribute<CKnob>(kCKnob, kAttrValueInset, 10., &uidesc, [&] (CKnob* v) {
37 			return v->getInsetValue () == 10.;
38 		});
39 	);
40 
41 	TEST(coronaInset,
42 		DummyUIDescription uidesc;
__anon27526f0b0402(CKnob* v) 43 		testAttribute<CKnob>(kCKnob, kAttrCoronaInset, 10., &uidesc, [&] (CKnob* v) {
44 			return v->getCoronaInset () == 10.;
45 		});
46 	);
47 
48 	TEST(zoomFactor,
49 		DummyUIDescription uidesc;
__anon27526f0b0502(CKnob* v) 50 		testAttribute<CKnob>(kCKnob, kAttrZoomFactor, 10., &uidesc, [&] (CKnob* v) {
51 			return v->getZoomFactor () == 10.;
52 		});
53 	);
54 
55 	TEST(handleLineWidth,
56 		DummyUIDescription uidesc;
__anon27526f0b0602(CKnob* v) 57 		testAttribute<CKnob>(kCKnob, kAttrHandleLineWidth, 10., &uidesc, [&] (CKnob* v) {
58 			return v->getHandleLineWidth () == 10.;
59 		});
60 	);
61 
62 	TEST(coronaColor,
63 		DummyUIDescription uidesc;
__anon27526f0b0702(CKnob* v) 64 		testAttribute<CKnob>(kCKnob, kAttrCoronaColor, kColorName, &uidesc, [&] (CKnob* v) {
65 			return v->getCoronaColor () == uidesc.color;
66 		});
67 	);
68 
69 	TEST(handleShadowColor,
70 		DummyUIDescription uidesc;
__anon27526f0b0802(CKnob* v) 71 		testAttribute<CKnob>(kCKnob, kAttrHandleShadowColor, kColorName, &uidesc, [&] (CKnob* v) {
72 			return v->getColorShadowHandle () == uidesc.color;
73 		});
74 	);
75 
76 	TEST(handleColor,
77 		DummyUIDescription uidesc;
__anon27526f0b0902(CKnob* v) 78 		testAttribute<CKnob>(kCKnob, kAttrHandleColor, kColorName, &uidesc, [&] (CKnob* v) {
79 			return v->getColorHandle () == uidesc.color;
80 		});
81 	);
82 
83 	TEST(handleBitmap,
84 		DummyUIDescription uidesc;
__anon27526f0b0a02(CKnob* v) 85 		testAttribute<CKnob>(kCKnob, kAttrHandleBitmap, kBitmapName, &uidesc, [&] (CKnob* v) {
86 			return v->getHandleBitmap () == uidesc.bitmap;
87 		});
88 	);
89 
90 	TEST(circleDrawing,
91 		DummyUIDescription uidesc;
__anon27526f0b0b02(CKnob* v) 92 		testAttribute<CKnob>(kCKnob, kAttrCircleDrawing, true, &uidesc, [&] (CKnob* v) {
93 			return v->getDrawStyle () & CKnob::kHandleCircleDrawing;
94 		});
__anon27526f0b0c02(CKnob* v) 95 		testAttribute<CKnob>(kCKnob, kAttrCircleDrawing, false, &uidesc, [&] (CKnob* v) {
96 			return !(v->getDrawStyle () & CKnob::kHandleCircleDrawing);
97 		});
98 	);
99 
100 	TEST(coronaDrawing,
101 		DummyUIDescription uidesc;
__anon27526f0b0d02(CKnob* v) 102 		testAttribute<CKnob>(kCKnob, kAttrCoronaDrawing, true, &uidesc, [&] (CKnob* v) {
103 			return v->getDrawStyle() & CKnob::kCoronaDrawing;
104 		});
__anon27526f0b0e02(CKnob* v) 105 		testAttribute<CKnob>(kCKnob, kAttrCoronaDrawing, false, &uidesc, [&] (CKnob* v) {
106 			return !(v->getDrawStyle() & CKnob::kCoronaDrawing);
107 		});
108 	);
109 
110 	TEST(coronaFromCenter,
111 		DummyUIDescription uidesc;
__anon27526f0b0f02(CKnob* v) 112 		testAttribute<CKnob>(kCKnob, kAttrCoronaFromCenter, true, &uidesc, [&] (CKnob* v) {
113 			return v->getDrawStyle() & CKnob::kCoronaFromCenter;
114 		});
__anon27526f0b1002(CKnob* v) 115 		testAttribute<CKnob>(kCKnob, kAttrCoronaFromCenter, false, &uidesc, [&] (CKnob* v) {
116 			return !(v->getDrawStyle() & CKnob::kCoronaFromCenter);
117 		});
118 	);
119 
120 	TEST(coronaInverted,
121 		DummyUIDescription uidesc;
__anon27526f0b1102(CKnob* v) 122 		testAttribute<CKnob>(kCKnob, kAttrCoronaInverted, true, &uidesc, [&] (CKnob* v) {
123 			return v->getDrawStyle() & CKnob::kCoronaInverted;
124 		});
__anon27526f0b1202(CKnob* v) 125 		testAttribute<CKnob>(kCKnob, kAttrCoronaInverted, false, &uidesc, [&] (CKnob* v) {
126 			return !(v->getDrawStyle() & CKnob::kCoronaInverted);
127 		});
128 	);
129 
130 	TEST(coronaDashDot,
131 		DummyUIDescription uidesc;
__anon27526f0b1302(CKnob* v) 132 		testAttribute<CKnob>(kCKnob, kAttrCoronaDashDot, true, &uidesc, [&] (CKnob* v) {
133 			return v->getDrawStyle() & CKnob::kCoronaLineDashDot;
134 		});
__anon27526f0b1402(CKnob* v) 135 		testAttribute<CKnob>(kCKnob, kAttrCoronaDashDot, false, &uidesc, [&] (CKnob* v) {
136 			return !(v->getDrawStyle() & CKnob::kCoronaLineDashDot);
137 		});
138 	);
139 
140 	TEST(coronaOutline,
141 		DummyUIDescription uidesc;
__anon27526f0b1502(CKnob* v) 142 		testAttribute<CKnob>(kCKnob, kAttrCoronaOutline, true, &uidesc, [&] (CKnob* v) {
143 			return v->getDrawStyle() & CKnob::kCoronaOutline;
144 		});
__anon27526f0b1602(CKnob* v) 145 		testAttribute<CKnob>(kCKnob, kAttrCoronaOutline, false, &uidesc, [&] (CKnob* v) {
146 			return !(v->getDrawStyle() & CKnob::kCoronaOutline);
147 		});
148 	);
149 );
150 
151 } // VSTGUI
152