2 * (c) 2015 Cable Television Laboratories, Inc. All rights reserved.
5 package org.pcmm.objects;
7 import org.junit.Assert;
9 import org.pcmm.objects.SyncOptions.ReportType;
10 import org.pcmm.objects.SyncOptions.SyncType;
11 import org.umu.cops.stack.COPSMsgParser;
14 * Tests the data holder class SyncOptions to ensure both construction and byte parsing result in correct object
17 public class SyncOptionsTest {
19 @Test(expected = IllegalArgumentException.class)
20 public void nullReportType() {
21 new SyncOptions(null, SyncType.FULL_SYNCHRONIZATION);
24 @Test(expected = IllegalArgumentException.class)
25 public void nullSyncType() {
26 new SyncOptions(ReportType.STANDARD_REPORT_DATA, null);
30 public void construction() {
31 final SyncOptions syncOpts = new SyncOptions(ReportType.STANDARD_REPORT_DATA, SyncType.FULL_SYNCHRONIZATION);
32 final byte[] dataBytes = syncOpts.getBytes();
33 Assert.assertEquals(4, dataBytes.length);
34 Assert.assertEquals(ReportType.STANDARD_REPORT_DATA,
35 ReportType.valueOf(COPSMsgParser.bytesToShort(dataBytes[0], dataBytes[1])));
36 Assert.assertEquals(SyncType.FULL_SYNCHRONIZATION,
37 SyncType.valueOf(COPSMsgParser.bytesToShort(dataBytes[2], dataBytes[3])));
41 public void byteParsing() {
42 final SyncOptions syncOpts = new SyncOptions(ReportType.COMPLETE_GATE_DATA, SyncType.INCREMENTAL_SYNCHRONIZATION);
43 final SyncOptions parsed = SyncOptions.parse(syncOpts.getBytes());
44 Assert.assertEquals(syncOpts, parsed);