1071abd1a5c0b405cd7989a625f34a1e5516db8b7Stephen Hines/*
2071abd1a5c0b405cd7989a625f34a1e5516db8b7Stephen Hines * Copyright (C) 2012 The Android Open Source Project
3071abd1a5c0b405cd7989a625f34a1e5516db8b7Stephen Hines *
4071abd1a5c0b405cd7989a625f34a1e5516db8b7Stephen Hines * Licensed under the Apache License, Version 2.0 (the "License");
5071abd1a5c0b405cd7989a625f34a1e5516db8b7Stephen Hines * you may not use this file except in compliance with the License.
6071abd1a5c0b405cd7989a625f34a1e5516db8b7Stephen Hines * You may obtain a copy of the License at
7071abd1a5c0b405cd7989a625f34a1e5516db8b7Stephen Hines *
8071abd1a5c0b405cd7989a625f34a1e5516db8b7Stephen Hines *      http://www.apache.org/licenses/LICENSE-2.0
9071abd1a5c0b405cd7989a625f34a1e5516db8b7Stephen Hines *
10071abd1a5c0b405cd7989a625f34a1e5516db8b7Stephen Hines * Unless required by applicable law or agreed to in writing, software
11071abd1a5c0b405cd7989a625f34a1e5516db8b7Stephen Hines * distributed under the License is distributed on an "AS IS" BASIS,
12071abd1a5c0b405cd7989a625f34a1e5516db8b7Stephen Hines * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13071abd1a5c0b405cd7989a625f34a1e5516db8b7Stephen Hines * See the License for the specific language governing permissions and
14071abd1a5c0b405cd7989a625f34a1e5516db8b7Stephen Hines * limitations under the License.
15071abd1a5c0b405cd7989a625f34a1e5516db8b7Stephen Hines */
16071abd1a5c0b405cd7989a625f34a1e5516db8b7Stephen Hines
17071abd1a5c0b405cd7989a625f34a1e5516db8b7Stephen Hinespackage com.android.rs.test;
18071abd1a5c0b405cd7989a625f34a1e5516db8b7Stephen Hines
19071abd1a5c0b405cd7989a625f34a1e5516db8b7Stephen Hinesimport android.content.Context;
20071abd1a5c0b405cd7989a625f34a1e5516db8b7Stephen Hinesimport android.content.res.Resources;
21071abd1a5c0b405cd7989a625f34a1e5516db8b7Stephen Hinesimport android.renderscript.*;
22071abd1a5c0b405cd7989a625f34a1e5516db8b7Stephen Hines
23071abd1a5c0b405cd7989a625f34a1e5516db8b7Stephen Hinespublic class UT_constant extends UnitTest {
24071abd1a5c0b405cd7989a625f34a1e5516db8b7Stephen Hines    private Resources mRes;
25071abd1a5c0b405cd7989a625f34a1e5516db8b7Stephen Hines
26071abd1a5c0b405cd7989a625f34a1e5516db8b7Stephen Hines    protected UT_constant(RSTestCore rstc, Resources res, Context ctx) {
27071abd1a5c0b405cd7989a625f34a1e5516db8b7Stephen Hines        super(rstc, "Const", ctx);
28071abd1a5c0b405cd7989a625f34a1e5516db8b7Stephen Hines        mRes = res;
29071abd1a5c0b405cd7989a625f34a1e5516db8b7Stephen Hines    }
30071abd1a5c0b405cd7989a625f34a1e5516db8b7Stephen Hines
31071abd1a5c0b405cd7989a625f34a1e5516db8b7Stephen Hines    private void Assert(boolean b) {
32071abd1a5c0b405cd7989a625f34a1e5516db8b7Stephen Hines        if (!b) {
33071abd1a5c0b405cd7989a625f34a1e5516db8b7Stephen Hines            failTest();
34071abd1a5c0b405cd7989a625f34a1e5516db8b7Stephen Hines        }
35071abd1a5c0b405cd7989a625f34a1e5516db8b7Stephen Hines    }
36071abd1a5c0b405cd7989a625f34a1e5516db8b7Stephen Hines
37071abd1a5c0b405cd7989a625f34a1e5516db8b7Stephen Hines    public void run() {
38071abd1a5c0b405cd7989a625f34a1e5516db8b7Stephen Hines        Assert(ScriptC_constant.const_floatTest == 1.99f);
39071abd1a5c0b405cd7989a625f34a1e5516db8b7Stephen Hines        Assert(ScriptC_constant.const_doubleTest == 2.05);
40071abd1a5c0b405cd7989a625f34a1e5516db8b7Stephen Hines        Assert(ScriptC_constant.const_charTest == -8);
41071abd1a5c0b405cd7989a625f34a1e5516db8b7Stephen Hines        Assert(ScriptC_constant.const_shortTest == -16);
42071abd1a5c0b405cd7989a625f34a1e5516db8b7Stephen Hines        Assert(ScriptC_constant.const_intTest == -32);
43071abd1a5c0b405cd7989a625f34a1e5516db8b7Stephen Hines        Assert(ScriptC_constant.const_longTest == 17179869184l);
44071abd1a5c0b405cd7989a625f34a1e5516db8b7Stephen Hines        Assert(ScriptC_constant.const_longlongTest == 68719476736l);
45071abd1a5c0b405cd7989a625f34a1e5516db8b7Stephen Hines
46071abd1a5c0b405cd7989a625f34a1e5516db8b7Stephen Hines        Assert(ScriptC_constant.const_ucharTest == 8);
47071abd1a5c0b405cd7989a625f34a1e5516db8b7Stephen Hines        Assert(ScriptC_constant.const_ushortTest == 16);
48071abd1a5c0b405cd7989a625f34a1e5516db8b7Stephen Hines        Assert(ScriptC_constant.const_uintTest == 32);
49071abd1a5c0b405cd7989a625f34a1e5516db8b7Stephen Hines        Assert(ScriptC_constant.const_ulongTest == 4611686018427387904L);
50071abd1a5c0b405cd7989a625f34a1e5516db8b7Stephen Hines        Assert(ScriptC_constant.const_int64_tTest == -17179869184l);
51071abd1a5c0b405cd7989a625f34a1e5516db8b7Stephen Hines        Assert(ScriptC_constant.const_uint64_tTest == 117179869184l);
52071abd1a5c0b405cd7989a625f34a1e5516db8b7Stephen Hines
53071abd1a5c0b405cd7989a625f34a1e5516db8b7Stephen Hines        Assert(ScriptC_constant.const_boolTest == true);
54071abd1a5c0b405cd7989a625f34a1e5516db8b7Stephen Hines
55071abd1a5c0b405cd7989a625f34a1e5516db8b7Stephen Hines        passTest();
56071abd1a5c0b405cd7989a625f34a1e5516db8b7Stephen Hines    }
57071abd1a5c0b405cd7989a625f34a1e5516db8b7Stephen Hines}
58