summaryrefslogtreecommitdiff
path: root/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/datatypes/VehicleTypeTest.java
blob: 9bb432e51fb2fb67d2703bfa3c8e24b1ef3048e6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
package com.smartdevicelink.test.rpc.datatypes;

import com.smartdevicelink.proxy.rpc.VehicleType;
import com.smartdevicelink.test.JsonUtils;
import com.smartdevicelink.test.TestValues;

import junit.framework.TestCase;

import org.json.JSONException;
import org.json.JSONObject;
import org.junit.Assert;

import java.util.HashMap;
import java.util.Hashtable;
import java.util.Iterator;

public class VehicleTypeTest extends TestCase {

    private VehicleType msg;

    @Override
    public void setUp() {
        msg = new VehicleType();

        msg.setModel(TestValues.GENERAL_STRING);
        msg.setMake(TestValues.GENERAL_STRING);
        msg.setTrim(TestValues.GENERAL_STRING);
        msg.setModelYear(TestValues.GENERAL_STRING);
    }

    /**
     * Tests the expected values of the RPC message.
     */
    public void testRpcValues() {
        // Test Values
        String year = msg.getModelYear();
        String trim = msg.getTrim();
        String make = msg.getMake();
        String model = msg.getModel();

        // Valid Tests
        assertEquals(TestValues.MATCH, TestValues.GENERAL_STRING, year);
        assertEquals(TestValues.MATCH, TestValues.GENERAL_STRING, model);
        assertEquals(TestValues.MATCH, TestValues.GENERAL_STRING, make);
        assertEquals(TestValues.MATCH, TestValues.GENERAL_STRING, trim);

        // Invalid/Null Tests
        VehicleType msg = new VehicleType();
        assertNotNull(TestValues.NOT_NULL, msg);

        assertNull(TestValues.NULL, msg.getModel());
        assertNull(TestValues.NULL, msg.getMake());
        assertNull(TestValues.NULL, msg.getModelYear());
        assertNull(TestValues.NULL, msg.getTrim());
    }

    public void testJson() {
        JSONObject reference = new JSONObject();

        try {
            reference.put(VehicleType.KEY_MODEL, TestValues.GENERAL_STRING);
            reference.put(VehicleType.KEY_MAKE, TestValues.GENERAL_STRING);
            reference.put(VehicleType.KEY_MODEL_YEAR, TestValues.GENERAL_STRING);
            reference.put(VehicleType.KEY_TRIM, TestValues.GENERAL_STRING);

            JSONObject underTest = msg.serializeJSON();
            assertEquals(TestValues.MATCH, reference.length(), underTest.length());

            Iterator<?> iterator = reference.keys();
            while (iterator.hasNext()) {
                String key = (String) iterator.next();
                assertEquals(TestValues.MATCH, JsonUtils.readObjectFromJsonObject(reference, key), JsonUtils.readObjectFromJsonObject(underTest, key));
            }
        } catch (JSONException e) {
            fail(TestValues.JSON_FAIL);
        }
    }

    public void testHashMapConstructor() {
        Hashtable<String, Object> store = msg.getStore();
        HashMap<String, Object> hashMap = new HashMap(store);
        VehicleType type = new VehicleType(hashMap);

        Assert.assertEquals(type.getMake(), msg.getMake());
        Assert.assertEquals(type.getModel(), msg.getModel());
        Assert.assertEquals(type.getModelYear(), msg.getModelYear());
        Assert.assertEquals(type.getTrim(), msg.getTrim());
    }
}