2 * Copyright (c) 2015 Samsung Electronics Co., Ltd.
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
8 * http://www.apache.org/licenses/LICENSE-2.0
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
18 #include <dali/public-api/dali-core.h>
19 #include <dali-test-suite-utils.h>
20 #include <mesh-builder.h>
28 int UtcDaliActorAddRendererP(void)
30 tet_infoline("Testing Actor::AddRenderer");
31 TestApplication application;
33 Actor actor = Actor::New();
35 DALI_TEST_EQUALS( actor.GetRendererCount(), 0u, TEST_LOCATION );
37 Geometry geometry = Geometry::QUAD();
38 Shader shader = CreateShader();
39 Renderer renderer = Renderer::New(geometry, shader);
41 actor.AddRenderer( renderer );
42 DALI_TEST_EQUALS( actor.GetRendererCount(), 1u, TEST_LOCATION );
43 DALI_TEST_EQUALS( actor.GetRendererAt(0), renderer, TEST_LOCATION );
48 int UtcDaliActorAddRendererN(void)
50 tet_infoline("Testing Actor::AddRenderer");
51 TestApplication application;
53 Actor actor = Actor::New();
59 actor.AddRenderer( renderer );
60 tet_printf("Assertion test failed - no Exception\n" );
63 catch(Dali::DaliException& e)
65 DALI_TEST_PRINT_ASSERT( e );
66 DALI_TEST_ASSERT(e, "Renderer handle is empty", TEST_LOCATION);
67 DALI_TEST_EQUALS( actor.GetRendererCount(), 0u, TEST_LOCATION );
71 tet_printf("Assertion test failed - wrong Exception\n" );
78 int UtcDaliActorAddRendererOnStage(void)
80 tet_infoline("Testing Actor::AddRenderer");
81 TestApplication application;
83 Actor actor = Actor::New();
84 Stage::GetCurrent().Add(actor);
86 application.SendNotification();
87 application.Render(0);
89 Geometry geometry = Geometry::QUAD();
90 Shader shader = CreateShader();
91 Renderer renderer = Renderer::New(geometry, shader);
93 application.SendNotification();
94 application.Render(0);
98 actor.AddRenderer( renderer );
103 tet_result(TET_FAIL);
109 int UtcDaliActorRemoveRendererP1(void)
111 tet_infoline("Testing Actor::RemoveRenderer");
112 TestApplication application;
114 Actor actor = Actor::New();
116 DALI_TEST_EQUALS( actor.GetRendererCount(), 0u, TEST_LOCATION );
118 Geometry geometry = Geometry::QUAD();
119 Shader shader = CreateShader();
120 Renderer renderer = Renderer::New(geometry, shader);
122 actor.AddRenderer( renderer );
123 DALI_TEST_EQUALS( actor.GetRendererCount(), 1u, TEST_LOCATION );
124 DALI_TEST_EQUALS( actor.GetRendererAt(0), renderer, TEST_LOCATION );
126 actor.RemoveRenderer(renderer);
127 DALI_TEST_EQUALS( actor.GetRendererCount(), 0u, TEST_LOCATION );
133 int UtcDaliActorRemoveRendererP2(void)
135 tet_infoline("Testing Actor::RemoveRenderer");
136 TestApplication application;
138 Actor actor = Actor::New();
140 DALI_TEST_EQUALS( actor.GetRendererCount(), 0u, TEST_LOCATION );
142 Geometry geometry = Geometry::QUAD();
143 Shader shader = CreateShader();
144 Renderer renderer = Renderer::New(geometry, shader);
146 actor.AddRenderer( renderer );
147 DALI_TEST_EQUALS( actor.GetRendererCount(), 1u, TEST_LOCATION );
148 DALI_TEST_EQUALS( actor.GetRendererAt(0), renderer, TEST_LOCATION );
150 actor.RemoveRenderer(0);
151 DALI_TEST_EQUALS( actor.GetRendererCount(), 0u, TEST_LOCATION );
158 int UtcDaliActorRemoveRendererN(void)
160 tet_infoline("Testing Actor::RemoveRenderer");
161 TestApplication application;
163 Actor actor = Actor::New();
165 DALI_TEST_EQUALS( actor.GetRendererCount(), 0u, TEST_LOCATION );
167 Geometry geometry = Geometry::QUAD();
168 Shader shader = CreateShader();
169 Renderer renderer = Renderer::New(geometry, shader);
171 actor.AddRenderer( renderer );
172 DALI_TEST_EQUALS( actor.GetRendererCount(), 1u, TEST_LOCATION );
173 DALI_TEST_EQUALS( actor.GetRendererAt(0), renderer, TEST_LOCATION );
175 actor.RemoveRenderer(10);
176 DALI_TEST_EQUALS( actor.GetRendererAt(0), renderer, TEST_LOCATION );
177 DALI_TEST_EQUALS( actor.GetRendererCount(), 1u, TEST_LOCATION );