blob: 99fa0b39664cb919c05388a132aff5475d253ebd [file] [log] [blame]
Toshio Koideebdbb622014-02-12 20:28:38 -08001package net.onrc.onos.intent;
2
Toshio Koidefe1d5d92014-02-26 20:09:48 -08003import static org.junit.Assert.assertEquals;
4import net.onrc.onos.ofcontroller.util.serializers.KryoFactory;
Toshio Koide0e4d8d22014-02-14 10:56:10 -08005
Toshio Koideebdbb622014-02-12 20:28:38 -08006import org.junit.After;
7import org.junit.Before;
8import org.junit.Test;
9
Toshio Koide0e4d8d22014-02-14 10:56:10 -080010import com.esotericsoftware.kryo.Kryo;
11import com.esotericsoftware.kryo.io.Input;
12import com.esotericsoftware.kryo.io.Output;
13
Toshio Koide066506e2014-02-20 19:52:09 -080014/**
15 * @author Toshio Koide (t-koide@onlab.us)
16 */
Toshio Koideebdbb622014-02-12 20:28:38 -080017public class ConstrainedShortestPathIntentTest {
Toshio Koideebdbb622014-02-12 20:28:38 -080018 @Before
19 public void setUp() throws Exception {
Toshio Koideebdbb622014-02-12 20:28:38 -080020 }
21
22 @After
23 public void tearDown() throws Exception {
24 }
25
26 @Test
Toshio Koidefe1d5d92014-02-26 20:09:48 -080027 public void testCreate() {
Toshio Koideebdbb622014-02-12 20:28:38 -080028 ConstrainedShortestPathIntent intent1 =
Toshio Koide0e4d8d22014-02-14 10:56:10 -080029 new ConstrainedShortestPathIntent("1", 2L, 3L, 4L, 5L, 6L, 7L, 1000.0);
Toshio Koideebdbb622014-02-12 20:28:38 -080030
Toshio Koidefe1d5d92014-02-26 20:09:48 -080031 assertEquals("1", intent1.getId());
32 assertEquals(2L, intent1.getSrcSwitchDpid());
33 assertEquals(3L, intent1.getSrcPortNumber());
34 assertEquals(4L, intent1.getSrcMac());
35 assertEquals(5L, intent1.getDstSwitchDpid());
36 assertEquals(6L, intent1.getDstPortNumber());
37 assertEquals(7L, intent1.getDstMac());
38 assertEquals(1000.0, intent1.getBandwidth(), 0.0);
39 }
40
41 @Test
42 public void testKryo() {
43 KryoFactory factory = new KryoFactory();
44 Kryo kryo = factory.newKryo();
45 Output output = new Output(1000);
46
47 ConstrainedShortestPathIntent intent1 =
48 new ConstrainedShortestPathIntent("1", 2L, 3L, 4L, 5L, 6L, 7L, 1000.0);
Toshio Koide0e4d8d22014-02-14 10:56:10 -080049 kryo.writeObject(output, intent1);
Toshio Koidefe1d5d92014-02-26 20:09:48 -080050
Toshio Koide0e4d8d22014-02-14 10:56:10 -080051 output.close();
Toshio Koidefe1d5d92014-02-26 20:09:48 -080052 byte bytes[] = output.toBytes();
Toshio Koideebdbb622014-02-12 20:28:38 -080053
Toshio Koidefe1d5d92014-02-26 20:09:48 -080054 Input input = new Input(bytes);
55 ConstrainedShortestPathIntent intent2 = kryo.readObject(input, ConstrainedShortestPathIntent.class);
Toshio Koide0e4d8d22014-02-14 10:56:10 -080056 input.close();
Toshio Koideebdbb622014-02-12 20:28:38 -080057 assertEquals("1", intent2.getId());
Toshio Koide0e4d8d22014-02-14 10:56:10 -080058 assertEquals(2L, intent2.getSrcSwitchDpid());
59 assertEquals(3L, intent2.getSrcPortNumber());
60 assertEquals(4L, intent2.getSrcMac());
61 assertEquals(5L, intent2.getDstSwitchDpid());
62 assertEquals(6L, intent2.getDstPortNumber());
63 assertEquals(7L, intent2.getDstMac());
64 assertEquals(1000.0, intent2.getBandwidth(), 0.0);
Toshio Koideebdbb622014-02-12 20:28:38 -080065 }
66}