summaryrefslogtreecommitdiff
path: root/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/enums/PrimaryAudioSourceTests.java
blob: b3432985d88dcb1b85c0c9aa69054e3e305f69ea (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
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
package com.smartdevicelink.test.rpc.enums;

import com.smartdevicelink.proxy.rpc.enums.PrimaryAudioSource;

import junit.framework.TestCase;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;


/**
 * This is a unit test class for the SmartDeviceLink library project class :
 * {@link com.smartdevicelink.rpc.enums.PrimaryAudioSource}
 */
public class PrimaryAudioSourceTests extends TestCase {

	/**
	 * Verifies that the enum values are not null upon valid assignment.
	 */
	public void testValidEnums() {
		String example = "NO_SOURCE_SELECTED";
		PrimaryAudioSource enumNoSourceSelected = PrimaryAudioSource.valueForString(example);
		example = "USB";
		PrimaryAudioSource enumUsb = PrimaryAudioSource.valueForString(example);
		example = "USB2";
		PrimaryAudioSource enumUsb2 = PrimaryAudioSource.valueForString(example);
		example = "BLUETOOTH_STEREO_BTST";
		PrimaryAudioSource enumBluetoothStereoBtst = PrimaryAudioSource.valueForString(example);
		example = "LINE_IN";
		PrimaryAudioSource enumLineIn = PrimaryAudioSource.valueForString(example);
		example = "IPOD";
		PrimaryAudioSource enumIpod = PrimaryAudioSource.valueForString(example);
		example = "MOBILE_APP";
		PrimaryAudioSource enumMobileApp = PrimaryAudioSource.valueForString(example);
		example = "CD";
		PrimaryAudioSource enumCd = PrimaryAudioSource.valueForString(example);
		example = "AM";
		PrimaryAudioSource enumAm = PrimaryAudioSource.valueForString(example);
		example = "FM";
		PrimaryAudioSource enumFm = PrimaryAudioSource.valueForString(example);
		example = "XM";
		PrimaryAudioSource enumXm = PrimaryAudioSource.valueForString(example);
		example = "DAB";
		PrimaryAudioSource enumDab = PrimaryAudioSource.valueForString(example);

		assertNotNull("NO_SOURCE_SELECTED returned null", enumNoSourceSelected);
		assertNotNull("USB returned null", enumUsb);
		assertNotNull("USB2 returned null", enumUsb2);
		assertNotNull("BLUETOOTH_STEREO_BTST returned null", enumBluetoothStereoBtst);
		assertNotNull("LINE_IN returned null", enumLineIn);
		assertNotNull("IPOD returned null", enumIpod);
		assertNotNull("MOBILE_APP returned null", enumMobileApp);
		assertNotNull("CD returned null", enumCd);
		assertNotNull("AM returned null", enumAm);
		assertNotNull("FM returned null", enumFm);
		assertNotNull("XM returned null", enumXm);
		assertNotNull("DAB returned null", enumDab);
	}

	/**
	 * Verifies that an invalid assignment is null.
	 */
	public void testInvalidEnum() {
		String example = "no_SouRCe_SelEcteD";
		try {
			PrimaryAudioSource temp = PrimaryAudioSource.valueForString(example);
			assertNull("Result of valueForString should be null.", temp);
		} catch (IllegalArgumentException exception) {
			fail("Invalid enum throws IllegalArgumentException.");
		}
	}

	/**
	 * Verifies that a null assignment is invalid.
	 */
	public void testNullEnum() {
		String example = null;
		try {
			PrimaryAudioSource temp = PrimaryAudioSource.valueForString(example);
			assertNull("Result of valueForString should be null.", temp);
		} catch (NullPointerException exception) {
			fail("Null string throws NullPointerException.");
		}
	}


	/**
	 * Verifies the possible enum values of PrimaryAudioSource.
	 */
	public void testListEnum() {
		List<PrimaryAudioSource> enumValueList = Arrays.asList(PrimaryAudioSource.values());

		List<PrimaryAudioSource> enumTestList = new ArrayList<PrimaryAudioSource>();
		enumTestList.add(PrimaryAudioSource.NO_SOURCE_SELECTED);
		enumTestList.add(PrimaryAudioSource.USB);
		enumTestList.add(PrimaryAudioSource.USB2);
		enumTestList.add(PrimaryAudioSource.BLUETOOTH_STEREO_BTST);
		enumTestList.add(PrimaryAudioSource.LINE_IN);
		enumTestList.add(PrimaryAudioSource.IPOD);
		enumTestList.add(PrimaryAudioSource.MOBILE_APP);
		enumTestList.add(PrimaryAudioSource.CD);
		enumTestList.add(PrimaryAudioSource.AM);
		enumTestList.add(PrimaryAudioSource.FM);
		enumTestList.add(PrimaryAudioSource.XM);
		enumTestList.add(PrimaryAudioSource.DAB);

		assertTrue("Enum value list does not match enum class list",
				enumValueList.containsAll(enumTestList) && enumTestList.containsAll(enumValueList));
	}
}