|
From: <jac...@us...> - 2009-11-17 00:01:25
|
Revision: 162
http://openlcb.svn.sourceforge.net/openlcb/?rev=162&view=rev
Author: jacobsen
Date: 2009-11-17 00:01:18 +0000 (Tue, 17 Nov 2009)
Log Message:
-----------
rename
Modified Paths:
--------------
trunk/prototypes/java/src/org/openlcb/can/NIDaAlgorithm.java
trunk/prototypes/java/test/org/openlcb/can/CanTest.java
trunk/prototypes/java/test/org/openlcb/can/NIDaAlgorithmTest.java
Added Paths:
-----------
trunk/prototypes/java/src/org/openlcb/can/OpenLcbCanFrame.java
trunk/prototypes/java/test/org/openlcb/can/OpenLcbCanFrameTest.java
Removed Paths:
-------------
trunk/prototypes/java/src/org/openlcb/can/NmraNetCanFrame.java
trunk/prototypes/java/test/org/openlcb/can/NmraNetCanFrameTest.java
Modified: trunk/prototypes/java/src/org/openlcb/can/NIDaAlgorithm.java
===================================================================
--- trunk/prototypes/java/src/org/openlcb/can/NIDaAlgorithm.java 2009-11-16 23:56:19 UTC (rev 161)
+++ trunk/prototypes/java/src/org/openlcb/can/NIDaAlgorithm.java 2009-11-17 00:01:18 UTC (rev 162)
@@ -18,12 +18,12 @@
nida = new NIDa(n);
}
- public NmraNetCanFrame nextFrame() {
- NmraNetCanFrame f;
+ public OpenLcbCanFrame nextFrame() {
+ OpenLcbCanFrame f;
if (index<6)
- f = NmraNetCanFrame.makeCimFrame(nida.getNIDa(), 0, 0);
+ f = OpenLcbCanFrame.makeCimFrame(nida.getNIDa(), 0, 0);
else if (index == 6) {
- f = NmraNetCanFrame.makeRimFrame(nida.getNIDa(), nid);
+ f = OpenLcbCanFrame.makeRimFrame(nida.getNIDa(), nid);
complete = true;
} else {
// send nothing
@@ -35,7 +35,7 @@
public long getNIDa() { return nida.getNIDa(); }
- public void processFrame(NmraNetCanFrame f) {
+ public void processFrame(OpenLcbCanFrame f) {
if (f == null) return; // as a convenience, ignore
// System.out.println("process "+Integer.toHexString(f.getNodeIDa())
Deleted: trunk/prototypes/java/src/org/openlcb/can/NmraNetCanFrame.java
===================================================================
--- trunk/prototypes/java/src/org/openlcb/can/NmraNetCanFrame.java 2009-11-16 23:56:19 UTC (rev 161)
+++ trunk/prototypes/java/src/org/openlcb/can/NmraNetCanFrame.java 2009-11-17 00:01:18 UTC (rev 162)
@@ -1,111 +0,0 @@
-package org.openlcb.can;
-
-import org.openlcb.*;
-
-/**
- * Carry and work with a CAN frame in NMRAnet format.
- *
- * Immutable once created.
- *
- * @author Bob Jacobsen Copyright 2009
- * @version $Revision$
- */
-
-
-public class NmraNetCanFrame implements org.openlcb.can.CanFrame {
-
- public static NmraNetCanFrame makeCimFrame(int alias, int num, int val) {
- return new NmraNetCanFrame( (0<<26) | (alias&0xffffff));
- }
-
- public static NmraNetCanFrame makeRimFrame(int alias, NodeID n) {
- return new NmraNetCanFrame( (1<<26) | (alias&0xffffff),
- n.getContents());
- }
-
- static int makeHeader(int alias) {
- return
- (alias&0xFFFFFF);
- }
-
- // data is stored in completed form as
- // a header and data content; accessors go
- // back and forth to individual fields.
- long header;
- byte[] bytes;
-
- public NmraNetCanFrame(long header) {
- this.header = header;
- }
-
- public NmraNetCanFrame(long header, byte[] bytes) {
- this(header);
- if (bytes.length > 8) {
- throw new IllegalArgumentException("payload too long: "+bytes);
- }
- this.bytes = bytes;
- }
-
- public enum MessageType {
- PCIR,
- example;
- }
-
- public boolean isDidPresent() {
- return (header&0x0000001) != 0;
- }
-
- // Frame itself is immutable
- static public long setDidPresent(long header, boolean present) {
- return header | 0x0000001;
- }
-
- public enum TypeField {
- CHECKIDMESSAGE,
- RESERVEDIDMESSAGE,
- CANMESSAGE,
- NMRANETCOMMONMESSAGE;
- }
-
- public TypeField getTypeField() {
- return TypeField.values()[(int)((getHeader() & 0x0C000000) >> 26)];
- }
-
- // Frame itself is immutable
- static public long setTypeField(long header, TypeField v) {
- return (header&~0x0C000000)|(v.ordinal() << 26);
- }
-
- public long getHeader() { return header; }
-
- public int getNodeIDa() { return (int)getHeader()&0xFFFFFF; }
-
- public boolean isCIM() { return (getTypeField() == TypeField.CHECKIDMESSAGE); }
- public boolean isRIM() { return (getTypeField() == TypeField.RESERVEDIDMESSAGE); }
-
- public boolean equals(Object other) {
- // try to cast, else not equal
- try {
- NmraNetCanFrame c = (NmraNetCanFrame) other;
- if (this.header != c.header) return false;
- if (this.bytes == null && c.bytes == null) return true;
- if (this.bytes == null && c.bytes != null) return false;
- if (this.bytes != null && c.bytes == null) return false;
- if (this.bytes.length != c.bytes.length) return false;
- for (int i = 0; i < this.bytes.length; i++) {
- if (this.bytes[i] != c.bytes[i]) return false;
- }
- return true;
- } catch (Exception e) {
- return false;
- }
- }
-
- public String toString() {
- return "Type: "+getTypeField()
- + " NIDa: "+getNodeIDa()
- + " isCIM: "+isCIM()
- + " isRIM: "+isRIM();
-
- }
-}
Copied: trunk/prototypes/java/src/org/openlcb/can/OpenLcbCanFrame.java (from rev 159, trunk/prototypes/java/src/org/openlcb/can/NmraNetCanFrame.java)
===================================================================
--- trunk/prototypes/java/src/org/openlcb/can/OpenLcbCanFrame.java (rev 0)
+++ trunk/prototypes/java/src/org/openlcb/can/OpenLcbCanFrame.java 2009-11-17 00:01:18 UTC (rev 162)
@@ -0,0 +1,111 @@
+package org.openlcb.can;
+
+import org.openlcb.*;
+
+/**
+ * Carry and work with a CAN frame in OpenLCB format.
+ *
+ * Immutable once created.
+ *
+ * @author Bob Jacobsen Copyright 2009
+ * @version $Revision$
+ */
+
+
+public class OpenLcbCanFrame implements org.openlcb.can.CanFrame {
+
+ public static OpenLcbCanFrame makeCimFrame(int alias, int num, int val) {
+ return new OpenLcbCanFrame( (0<<26) | (alias&0xffffff));
+ }
+
+ public static OpenLcbCanFrame makeRimFrame(int alias, NodeID n) {
+ return new OpenLcbCanFrame( (1<<26) | (alias&0xffffff),
+ n.getContents());
+ }
+
+ static int makeHeader(int alias) {
+ return
+ (alias&0xFFFFFF);
+ }
+
+ // data is stored in completed form as
+ // a header and data content; accessors go
+ // back and forth to individual fields.
+ long header;
+ byte[] bytes;
+
+ public OpenLcbCanFrame(long header) {
+ this.header = header;
+ }
+
+ public OpenLcbCanFrame(long header, byte[] bytes) {
+ this(header);
+ if (bytes.length > 8) {
+ throw new IllegalArgumentException("payload too long: "+bytes);
+ }
+ this.bytes = bytes;
+ }
+
+ public enum MessageType {
+ PCIR,
+ example;
+ }
+
+ public boolean isDidPresent() {
+ return (header&0x0000001) != 0;
+ }
+
+ // Frame itself is immutable
+ static public long setDidPresent(long header, boolean present) {
+ return header | 0x0000001;
+ }
+
+ public enum TypeField {
+ CHECKIDMESSAGE,
+ RESERVEDIDMESSAGE,
+ CANMESSAGE,
+ NMRANETCOMMONMESSAGE;
+ }
+
+ public TypeField getTypeField() {
+ return TypeField.values()[(int)((getHeader() & 0x0C000000) >> 26)];
+ }
+
+ // Frame itself is immutable
+ static public long setTypeField(long header, TypeField v) {
+ return (header&~0x0C000000)|(v.ordinal() << 26);
+ }
+
+ public long getHeader() { return header; }
+
+ public int getNodeIDa() { return (int)getHeader()&0xFFFFFF; }
+
+ public boolean isCIM() { return (getTypeField() == TypeField.CHECKIDMESSAGE); }
+ public boolean isRIM() { return (getTypeField() == TypeField.RESERVEDIDMESSAGE); }
+
+ public boolean equals(Object other) {
+ // try to cast, else not equal
+ try {
+ OpenLcbCanFrame c = (OpenLcbCanFrame) other;
+ if (this.header != c.header) return false;
+ if (this.bytes == null && c.bytes == null) return true;
+ if (this.bytes == null && c.bytes != null) return false;
+ if (this.bytes != null && c.bytes == null) return false;
+ if (this.bytes.length != c.bytes.length) return false;
+ for (int i = 0; i < this.bytes.length; i++) {
+ if (this.bytes[i] != c.bytes[i]) return false;
+ }
+ return true;
+ } catch (Exception e) {
+ return false;
+ }
+ }
+
+ public String toString() {
+ return "Type: "+getTypeField()
+ + " NIDa: "+getNodeIDa()
+ + " isCIM: "+isCIM()
+ + " isRIM: "+isRIM();
+
+ }
+}
Modified: trunk/prototypes/java/test/org/openlcb/can/CanTest.java
===================================================================
--- trunk/prototypes/java/test/org/openlcb/can/CanTest.java 2009-11-16 23:56:19 UTC (rev 161)
+++ trunk/prototypes/java/test/org/openlcb/can/CanTest.java 2009-11-17 00:01:18 UTC (rev 162)
@@ -29,7 +29,7 @@
public static Test suite() {
TestSuite suite = new TestSuite(CanTest.class);
- suite.addTest(NmraNetCanFrameTest.suite());
+ suite.addTest(OpenLcbCanFrameTest.suite());
suite.addTest(NIDaTest.suite());
suite.addTest(NIDaAlgorithmTest.suite());
Modified: trunk/prototypes/java/test/org/openlcb/can/NIDaAlgorithmTest.java
===================================================================
--- trunk/prototypes/java/test/org/openlcb/can/NIDaAlgorithmTest.java 2009-11-16 23:56:19 UTC (rev 161)
+++ trunk/prototypes/java/test/org/openlcb/can/NIDaAlgorithmTest.java 2009-11-17 00:01:18 UTC (rev 162)
@@ -19,7 +19,7 @@
}
public void testFirst() {
- NmraNetCanFrame f = alg.nextFrame();
+ OpenLcbCanFrame f = alg.nextFrame();
Assert.assertTrue("not complete", !alg.isComplete());
// first frame is CIM
@@ -28,7 +28,7 @@
}
public void testSeventh() {
- NmraNetCanFrame f;
+ OpenLcbCanFrame f;
Assert.assertTrue("not complete", !alg.isComplete());
// seventh frame is RIM
@@ -46,24 +46,24 @@
}
public void testNotAConflict() {
- NmraNetCanFrame f;
+ OpenLcbCanFrame f;
Assert.assertTrue("not complete", !alg.isComplete());
// seventh frame is RIM
Assert.assertTrue((f = alg.nextFrame()).isCIM());
- alg.processFrame(NmraNetCanFrame.makeCimFrame(1, 0, 0));
+ alg.processFrame(OpenLcbCanFrame.makeCimFrame(1, 0, 0));
Assert.assertTrue((f = alg.nextFrame()).isCIM());
- alg.processFrame(NmraNetCanFrame.makeCimFrame(1, 0, 0));
+ alg.processFrame(OpenLcbCanFrame.makeCimFrame(1, 0, 0));
Assert.assertTrue((f = alg.nextFrame()).isCIM());
- alg.processFrame(NmraNetCanFrame.makeCimFrame(1, 0, 0));
+ alg.processFrame(OpenLcbCanFrame.makeCimFrame(1, 0, 0));
Assert.assertTrue((f = alg.nextFrame()).isCIM());
- alg.processFrame(NmraNetCanFrame.makeCimFrame(1, 0, 0));
+ alg.processFrame(OpenLcbCanFrame.makeCimFrame(1, 0, 0));
Assert.assertTrue((f = alg.nextFrame()).isCIM());
- alg.processFrame(NmraNetCanFrame.makeCimFrame(1, 0, 0));
+ alg.processFrame(OpenLcbCanFrame.makeCimFrame(1, 0, 0));
Assert.assertTrue((f = alg.nextFrame()).isCIM());
- alg.processFrame(NmraNetCanFrame.makeCimFrame(1, 0, 0));
+ alg.processFrame(OpenLcbCanFrame.makeCimFrame(1, 0, 0));
Assert.assertTrue((f = alg.nextFrame()).isRIM());
- alg.processFrame(NmraNetCanFrame.makeCimFrame(1, 0, 0));
+ alg.processFrame(OpenLcbCanFrame.makeCimFrame(1, 0, 0));
Assert.assertTrue("complete", alg.isComplete());
@@ -71,14 +71,14 @@
}
public void testConflictAfterOne() {
- NmraNetCanFrame f;
+ OpenLcbCanFrame f;
Assert.assertTrue("not complete", !alg.isComplete());
// start
Assert.assertTrue((f = alg.nextFrame()).isCIM());
// inject conflict
- alg.processFrame(NmraNetCanFrame.makeCimFrame(f.getNodeIDa(), 0, 0));
+ alg.processFrame(OpenLcbCanFrame.makeCimFrame(f.getNodeIDa(), 0, 0));
// seventh frame after now is RIM
Assert.assertTrue((f = alg.nextFrame()).isCIM());
@@ -95,7 +95,7 @@
}
public void testLatecomerConflict() {
- NmraNetCanFrame f;
+ OpenLcbCanFrame f;
Assert.assertTrue("not complete", !alg.isComplete());
// seventh frame after start is RIM
@@ -112,7 +112,7 @@
Assert.assertEquals((f = alg.nextFrame()), null);
// inject conflict
- alg.processFrame(NmraNetCanFrame.makeCimFrame(nida, 0, 0));
+ alg.processFrame(OpenLcbCanFrame.makeCimFrame(nida, 0, 0));
// still active
Assert.assertTrue("complete", alg.isComplete());
@@ -123,7 +123,7 @@
public void testSequentialStart2() {
NIDaAlgorithm alg1 = new NIDaAlgorithm(new NodeID(new byte[]{10,11,12,13,14,15}));
NIDaAlgorithm alg2 = new NIDaAlgorithm(new NodeID(new byte[]{20,21,22,23,24,25}));
- NmraNetCanFrame f;
+ OpenLcbCanFrame f;
// check to make sure seeds are different; condition of test, not test itself
Assert.assertTrue("starting aliases should differ",
@@ -152,7 +152,7 @@
alg1.forceSeedValue(0xAC01L);
NubNIDaAlgorithm alg2 = new NubNIDaAlgorithm(new NodeID(new byte[]{11,10,12,13,14,15}));
alg2.forceSeedValue(0xAC01L);
- NmraNetCanFrame f;
+ OpenLcbCanFrame f;
// check to make sure seeds are same; condition of test, not test itself
Assert.assertTrue("starting aliases should agree",
@@ -191,7 +191,7 @@
NIDaAlgorithm alg8 = new NIDaAlgorithm(new NodeID(new byte[]{80,81,82,83,14,15}));
NIDaAlgorithm alg9 = new NIDaAlgorithm(new NodeID(new byte[]{90,91,92,93,14,15}));
NIDaAlgorithm alg10 = new NIDaAlgorithm(new NodeID(new byte[]{100,101,102,103,14,15}));
- NmraNetCanFrame f;
+ OpenLcbCanFrame f;
NIDaAlgorithm[] algs = new NIDaAlgorithm[]
{alg1, alg2, alg3, alg4, alg5, alg6, alg7, alg8, alg9, alg10};
@@ -253,7 +253,7 @@
algs[i].getNIDa()!=algs[j].getNIDa());
- NmraNetCanFrame f;
+ OpenLcbCanFrame f;
// run the startup
int expectedCount = (6+1)*10; // count messages
@@ -294,7 +294,7 @@
NubNIDaAlgorithm alg8 = new NubNIDaAlgorithm(new NodeID(new byte[]{10,11,22,23,24,15}));
NubNIDaAlgorithm alg9 = new NubNIDaAlgorithm(new NodeID(new byte[]{10,21,22,23,24,15}));
NubNIDaAlgorithm alg10 = new NubNIDaAlgorithm(new NodeID(new byte[]{20,21,22,23,24,15}));
- NmraNetCanFrame f;
+ OpenLcbCanFrame f;
NubNIDaAlgorithm[] algs = new NubNIDaAlgorithm[]
{alg1, alg2, alg3, alg4, alg5, alg6, alg7, alg8, alg9, alg10};
@@ -383,7 +383,7 @@
* and sending to others.
*/
int sequentialRunner(NIDaAlgorithm[] algs, int nCycles) {
- NmraNetCanFrame f;
+ OpenLcbCanFrame f;
for (int i = 0; i < nCycles; i++) {
for (int j = 0; j < algs.length; j++) { // provides next message
f = algs[j].nextFrame();
@@ -410,8 +410,8 @@
* simulates nodes sending very fast, so that CAN arbitrates.
*/
int priorityRunner(NIDaAlgorithm[] algs, int nCycles) {
- NmraNetCanFrame[] q = new NmraNetCanFrame[algs.length];
- NmraNetCanFrame f;
+ OpenLcbCanFrame[] q = new OpenLcbCanFrame[algs.length];
+ OpenLcbCanFrame f;
// start with 1st one each wants to send
for (int j = 0; j < algs.length; j++)
q[j] = algs[j].nextFrame();
Deleted: trunk/prototypes/java/test/org/openlcb/can/NmraNetCanFrameTest.java
===================================================================
--- trunk/prototypes/java/test/org/openlcb/can/NmraNetCanFrameTest.java 2009-11-16 23:56:19 UTC (rev 161)
+++ trunk/prototypes/java/test/org/openlcb/can/NmraNetCanFrameTest.java 2009-11-17 00:01:18 UTC (rev 162)
@@ -1,123 +0,0 @@
-
-package org.openlcb.can;
-
-import junit.framework.Assert;
-import junit.framework.Test;
-import junit.framework.TestCase;
-import junit.framework.TestSuite;
-import org.openlcb.*;
-
-/**
- * @author Bob Jacobsen Copyright 2009
- * @version $Revision$
- */
-public class NmraNetCanFrameTest extends TestCase {
- public void testStart() {
- }
-
- public void testSimpleEquals() {
- CanFrame cf12a = new NmraNetCanFrame(12);
- CanFrame cf12b = new NmraNetCanFrame(12);
- CanFrame cf13 = new NmraNetCanFrame(13);
-
- Assert.assertTrue("12a equals 12a", cf12a.equals(cf12a));
- Assert.assertTrue("12a equals 12b", cf12a.equals(cf12b));
- Assert.assertTrue("12a not equals 13", !cf12a.equals(cf13));
- }
-
- public void testSimpleEqualObject() {
- Object cf12a = new NmraNetCanFrame(12);
- Object cf12b = new NmraNetCanFrame(12);
- Object cf13 = new NmraNetCanFrame(13);
-
- Assert.assertTrue("12a equals 12a", cf12a.equals(cf12a));
- Assert.assertTrue("12a equals 12b", cf12a.equals(cf12b));
- Assert.assertTrue("12a not equals 13", !cf12a.equals(cf13));
- }
-
- public void testSetTypeFieldBasic(){
- Assert.assertEquals("0x00, CheckID ", 0x00,
- NmraNetCanFrame.setTypeField(0,NmraNetCanFrame.TypeField.CHECKIDMESSAGE));
- Assert.assertEquals("0x01, CheckID ", 0x01,
- NmraNetCanFrame.setTypeField(1,NmraNetCanFrame.TypeField.CHECKIDMESSAGE));
-
- Assert.assertEquals("0x00, ReservedID ", 0x04000000,
- NmraNetCanFrame.setTypeField(0,NmraNetCanFrame.TypeField.RESERVEDIDMESSAGE));
- Assert.assertEquals("0x01, ReservedID ", 0x04000001,
- NmraNetCanFrame.setTypeField(1,NmraNetCanFrame.TypeField.RESERVEDIDMESSAGE));
-
- Assert.assertEquals("0x00, NMRAnet message ", 0x0C000000,
- NmraNetCanFrame.setTypeField(0,NmraNetCanFrame.TypeField.NMRANETCOMMONMESSAGE));
- Assert.assertEquals("0x01, NMRAnet message ", 0x0C000001,
- NmraNetCanFrame.setTypeField(1,NmraNetCanFrame.TypeField.NMRANETCOMMONMESSAGE));
-
- Assert.assertEquals("0x00, CAN msg ", 0x08000000,
- NmraNetCanFrame.setTypeField(0,NmraNetCanFrame.TypeField.CANMESSAGE));
- Assert.assertEquals("0x01, CAN msg ", 0x08000001,
- NmraNetCanFrame.setTypeField(1,NmraNetCanFrame.TypeField.CANMESSAGE));
-
- }
-
- public void testGetTypeField(){
- NmraNetCanFrame c;
- c = new NmraNetCanFrame(
- NmraNetCanFrame.setTypeField(1,
- NmraNetCanFrame.TypeField.CHECKIDMESSAGE));
- Assert.assertEquals("CHECKIDMESSAGE", NmraNetCanFrame.TypeField.CHECKIDMESSAGE, c.getTypeField());
-
- c = new NmraNetCanFrame(
- NmraNetCanFrame.setTypeField(1,
- NmraNetCanFrame.TypeField.RESERVEDIDMESSAGE));
- Assert.assertEquals("RESERVEDIDMESSAGE", NmraNetCanFrame.TypeField.RESERVEDIDMESSAGE, c.getTypeField());
-
- c = new NmraNetCanFrame(
- NmraNetCanFrame.setTypeField(1,
- NmraNetCanFrame.TypeField.NMRANETCOMMONMESSAGE));
- Assert.assertEquals("NMRANETCOMMONMESSAGE", NmraNetCanFrame.TypeField.NMRANETCOMMONMESSAGE, c.getTypeField());
-
- c = new NmraNetCanFrame(
- NmraNetCanFrame.setTypeField(1,
- NmraNetCanFrame.TypeField.CANMESSAGE));
- Assert.assertEquals("CANMESSAGE", NmraNetCanFrame.TypeField.CANMESSAGE, c.getTypeField());
-
- }
-
- public void testTypeFieldCoding() {
- Assert.assertEquals("count",4, NmraNetCanFrame.TypeField.values().length);
- Assert.assertEquals("CHECKIDMESSAGE", 0, NmraNetCanFrame.TypeField.CHECKIDMESSAGE.ordinal());
- Assert.assertEquals("RESERVEDIDMESSAGE", 1, NmraNetCanFrame.TypeField.RESERVEDIDMESSAGE.ordinal());
- Assert.assertEquals("CANMESSAGE", 2, NmraNetCanFrame.TypeField.CANMESSAGE.ordinal());
- Assert.assertEquals("NMRANETCOMMONMESSAGE", 3, NmraNetCanFrame.TypeField.NMRANETCOMMONMESSAGE.ordinal());
- }
-
- public void testMakeCim() {
- NmraNetCanFrame f = NmraNetCanFrame.makeCimFrame(0, 0, 0);
- Assert.assertTrue(f.isCIM());
- Assert.assertTrue(!f.isRIM());
- }
-
- public void testMakeRim() {
- NmraNetCanFrame f = NmraNetCanFrame.makeRimFrame(0,
- new NodeID(new byte[]{10,11,12,13,14,15}));
- Assert.assertTrue(!f.isCIM());
- Assert.assertTrue(f.isRIM());
- }
-
- // from here down is testing infrastructure
-
- public NmraNetCanFrameTest(String s) {
- super(s);
- }
-
- // Main entry point
- static public void main(String[] args) {
- String[] testCaseName = {NmraNetCanFrameTest.class.getName()};
- junit.swingui.TestRunner.main(testCaseName);
- }
-
- // test suite from all defined tests
- public static Test suite() {
- TestSuite suite = new TestSuite(NmraNetCanFrameTest.class);
- return suite;
- }
-}
Copied: trunk/prototypes/java/test/org/openlcb/can/OpenLcbCanFrameTest.java (from rev 159, trunk/prototypes/java/test/org/openlcb/can/NmraNetCanFrameTest.java)
===================================================================
--- trunk/prototypes/java/test/org/openlcb/can/OpenLcbCanFrameTest.java (rev 0)
+++ trunk/prototypes/java/test/org/openlcb/can/OpenLcbCanFrameTest.java 2009-11-17 00:01:18 UTC (rev 162)
@@ -0,0 +1,123 @@
+
+package org.openlcb.can;
+
+import junit.framework.Assert;
+import junit.framework.Test;
+import junit.framework.TestCase;
+import junit.framework.TestSuite;
+import org.openlcb.*;
+
+/**
+ * @author Bob Jacobsen Copyright 2009
+ * @version $Revision$
+ */
+public class OpenLcbCanFrameTest extends TestCase {
+ public void testStart() {
+ }
+
+ public void testSimpleEquals() {
+ CanFrame cf12a = new OpenLcbCanFrame(12);
+ CanFrame cf12b = new OpenLcbCanFrame(12);
+ CanFrame cf13 = new OpenLcbCanFrame(13);
+
+ Assert.assertTrue("12a equals 12a", cf12a.equals(cf12a));
+ Assert.assertTrue("12a equals 12b", cf12a.equals(cf12b));
+ Assert.assertTrue("12a not equals 13", !cf12a.equals(cf13));
+ }
+
+ public void testSimpleEqualObject() {
+ Object cf12a = new OpenLcbCanFrame(12);
+ Object cf12b = new OpenLcbCanFrame(12);
+ Object cf13 = new OpenLcbCanFrame(13);
+
+ Assert.assertTrue("12a equals 12a", cf12a.equals(cf12a));
+ Assert.assertTrue("12a equals 12b", cf12a.equals(cf12b));
+ Assert.assertTrue("12a not equals 13", !cf12a.equals(cf13));
+ }
+
+ public void testSetTypeFieldBasic(){
+ Assert.assertEquals("0x00, CheckID ", 0x00,
+ OpenLcbCanFrame.setTypeField(0,OpenLcbCanFrame.TypeField.CHECKIDMESSAGE));
+ Assert.assertEquals("0x01, CheckID ", 0x01,
+ OpenLcbCanFrame.setTypeField(1,OpenLcbCanFrame.TypeField.CHECKIDMESSAGE));
+
+ Assert.assertEquals("0x00, ReservedID ", 0x04000000,
+ OpenLcbCanFrame.setTypeField(0,OpenLcbCanFrame.TypeField.RESERVEDIDMESSAGE));
+ Assert.assertEquals("0x01, ReservedID ", 0x04000001,
+ OpenLcbCanFrame.setTypeField(1,OpenLcbCanFrame.TypeField.RESERVEDIDMESSAGE));
+
+ Assert.assertEquals("0x00, NMRAnet message ", 0x0C000000,
+ OpenLcbCanFrame.setTypeField(0,OpenLcbCanFrame.TypeField.NMRANETCOMMONMESSAGE));
+ Assert.assertEquals("0x01, NMRAnet message ", 0x0C000001,
+ OpenLcbCanFrame.setTypeField(1,OpenLcbCanFrame.TypeField.NMRANETCOMMONMESSAGE));
+
+ Assert.assertEquals("0x00, CAN msg ", 0x08000000,
+ OpenLcbCanFrame.setTypeField(0,OpenLcbCanFrame.TypeField.CANMESSAGE));
+ Assert.assertEquals("0x01, CAN msg ", 0x08000001,
+ OpenLcbCanFrame.setTypeField(1,OpenLcbCanFrame.TypeField.CANMESSAGE));
+
+ }
+
+ public void testGetTypeField(){
+ OpenLcbCanFrame c;
+ c = new OpenLcbCanFrame(
+ OpenLcbCanFrame.setTypeField(1,
+ OpenLcbCanFrame.TypeField.CHECKIDMESSAGE));
+ Assert.assertEquals("CHECKIDMESSAGE", OpenLcbCanFrame.TypeField.CHECKIDMESSAGE, c.getTypeField());
+
+ c = new OpenLcbCanFrame(
+ OpenLcbCanFrame.setTypeField(1,
+ OpenLcbCanFrame.TypeField.RESERVEDIDMESSAGE));
+ Assert.assertEquals("RESERVEDIDMESSAGE", OpenLcbCanFrame.TypeField.RESERVEDIDMESSAGE, c.getTypeField());
+
+ c = new OpenLcbCanFrame(
+ OpenLcbCanFrame.setTypeField(1,
+ OpenLcbCanFrame.TypeField.NMRANETCOMMONMESSAGE));
+ Assert.assertEquals("NMRANETCOMMONMESSAGE", OpenLcbCanFrame.TypeField.NMRANETCOMMONMESSAGE, c.getTypeField());
+
+ c = new OpenLcbCanFrame(
+ OpenLcbCanFrame.setTypeField(1,
+ OpenLcbCanFrame.TypeField.CANMESSAGE));
+ Assert.assertEquals("CANMESSAGE", OpenLcbCanFrame.TypeField.CANMESSAGE, c.getTypeField());
+
+ }
+
+ public void testTypeFieldCoding() {
+ Assert.assertEquals("count",4, OpenLcbCanFrame.TypeField.values().length);
+ Assert.assertEquals("CHECKIDMESSAGE", 0, OpenLcbCanFrame.TypeField.CHECKIDMESSAGE.ordinal());
+ Assert.assertEquals("RESERVEDIDMESSAGE", 1, OpenLcbCanFrame.TypeField.RESERVEDIDMESSAGE.ordinal());
+ Assert.assertEquals("CANMESSAGE", 2, OpenLcbCanFrame.TypeField.CANMESSAGE.ordinal());
+ Assert.assertEquals("NMRANETCOMMONMESSAGE", 3, OpenLcbCanFrame.TypeField.NMRANETCOMMONMESSAGE.ordinal());
+ }
+
+ public void testMakeCim() {
+ OpenLcbCanFrame f = OpenLcbCanFrame.makeCimFrame(0, 0, 0);
+ Assert.assertTrue(f.isCIM());
+ Assert.assertTrue(!f.isRIM());
+ }
+
+ public void testMakeRim() {
+ OpenLcbCanFrame f = OpenLcbCanFrame.makeRimFrame(0,
+ new NodeID(new byte[]{10,11,12,13,14,15}));
+ Assert.assertTrue(!f.isCIM());
+ Assert.assertTrue(f.isRIM());
+ }
+
+ // from here down is testing infrastructure
+
+ public OpenLcbCanFrameTest(String s) {
+ super(s);
+ }
+
+ // Main entry point
+ static public void main(String[] args) {
+ String[] testCaseName = {OpenLcbCanFrameTest.class.getName()};
+ junit.swingui.TestRunner.main(testCaseName);
+ }
+
+ // test suite from all defined tests
+ public static Test suite() {
+ TestSuite suite = new TestSuite(OpenLcbCanFrameTest.class);
+ return suite;
+ }
+}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|