blob: 35d0917e81483e522be0a727f7c2b8770a474bf9 [file] [log] [blame]
Toshio Koidea8e8c542014-07-31 12:10:12 -07001package net.onrc.onos.api.batchoperation;
2
3import static org.junit.Assert.assertEquals;
Toshio Koidea8e8c542014-07-31 12:10:12 -07004import static org.junit.Assert.assertTrue;
5
Toshio Koidea8e8c542014-07-31 12:10:12 -07006import java.util.List;
7
Toshio Koide4ea84192014-07-31 12:10:12 -07008import net.onrc.onos.api.batchoperation.TestBatchOperation.IntegerTarget;
9import net.onrc.onos.api.batchoperation.TestBatchOperation.Operator;
10import net.onrc.onos.api.batchoperation.TestBatchOperation.StringTarget;
11
Toshio Koidea8e8c542014-07-31 12:10:12 -070012import org.junit.Test;
13
14/**
15 * Unit tests for BatchOperation class.
16 */
17public class BatchOperationTest {
Toshio Koidea8e8c542014-07-31 12:10:12 -070018 /**
19 * Tests constructor of the BatchOperation. It checks the size of the
20 * operations equals to 0.
21 */
22 @Test
23 public void testConstructor() {
24 // Initialization
Toshio Koide4ea84192014-07-31 12:10:12 -070025 TestBatchOperation ops = new TestBatchOperation();
Toshio Koidea8e8c542014-07-31 12:10:12 -070026
27 // Checks if there is no operation in the object
Toshio Koide4ea84192014-07-31 12:10:12 -070028 assertEquals(0, ops.size());
29 assertEquals(0, ops.getOperations().size());
Toshio Koidea8e8c542014-07-31 12:10:12 -070030 }
31
32 /**
Toshio Koide4ea84192014-07-31 12:10:12 -070033 * Tests adding the operations to the BatchOperation.
Toshio Koidea8e8c542014-07-31 12:10:12 -070034 */
35 @Test
Toshio Koide4ea84192014-07-31 12:10:12 -070036 public void testAddOp() {
Toshio Koidea8e8c542014-07-31 12:10:12 -070037 // Initialization
Toshio Koide4ea84192014-07-31 12:10:12 -070038 TestBatchOperation ops = new TestBatchOperation();
39 assertEquals(0, ops.size());
Toshio Koidea8e8c542014-07-31 12:10:12 -070040
Toshio Koide4ea84192014-07-31 12:10:12 -070041 // Adds one string-operation
42 ops.addStringOperation("target1");
43 assertEquals(1, ops.size());
Toshio Koidea8e8c542014-07-31 12:10:12 -070044
Toshio Koide4ea84192014-07-31 12:10:12 -070045 // Adds one integer-operation
46 ops.addIntegerOperation(123);
47 assertEquals(2, ops.size());
Toshio Koidea8e8c542014-07-31 12:10:12 -070048
Toshio Koide4ea84192014-07-31 12:10:12 -070049 // Checks entries with the list
50 List<BatchOperationEntry<Operator, ?>> list = ops.getOperations();
Toshio Koidea8e8c542014-07-31 12:10:12 -070051 assertEquals(2, list.size());
Toshio Koide4ea84192014-07-31 12:10:12 -070052
53 BatchOperationEntry<Operator, ?> entry = list.get(0);
54 assertEquals(Operator.STRING, entry.getOperator());
55 IBatchOperationTarget target = entry.getTarget();
56 assertTrue(target instanceof StringTarget);
57 assertEquals("target1", ((StringTarget) target).getString());
Toshio Koidea8e8c542014-07-31 12:10:12 -070058
59 entry = list.get(1);
Toshio Koide4ea84192014-07-31 12:10:12 -070060 assertEquals(Operator.INTEGER, entry.getOperator());
61 target = entry.getTarget();
62 assertTrue(target instanceof IntegerTarget);
63 assertEquals(Integer.valueOf(123), ((IntegerTarget) target).getInteger());
Toshio Koidea8e8c542014-07-31 12:10:12 -070064 }
65}