package org.numenta.nupic.model; import org.junit.Test; import static org.junit.Assert.*; public class SynapseTest { @Test public void testSynapseEquality() { // Make stuff we need to perform the tests Column column = new Column(1, 0); Cell cell1 = new Cell(column, 0); Cell cell2 = new Cell(column, 1); DistalDendrite segment1 = new DistalDendrite(cell1, 0, 0, 0); DistalDendrite segment2 = new DistalDendrite(cell1, 1, 1, 1); // These are the Synapse objects we will use for the tests Synapse synapse1 = new Synapse(); Synapse synapse2 = new Synapse(); /* ----- These are the equality tests: ----- */ // synapse1 should equal itself assertTrue(synapse1.equals(synapse1)); // synapse1 should not equal null assertFalse(synapse1.equals(null)); // synapse1 should not equal a non-Synapse object assertFalse(synapse1.equals("This is not a Synapse object")); // synapse1 should not equal synapse2 because synapse2's // inputIndex != synapse1's inputIndex synapse1.setPresynapticCell(cell1); assertFalse(synapse1.equals(synapse2)); // synapse1 should not equal synapse2 because synapse1's // segment is null, but synapse2's segment is not null synapse2 = new Synapse(cell1, segment1, 0, 0); assertFalse(synapse1.equals(synapse2)); // synapse1 should not equal synapse2 because synapse1's // segment != synapse2's segment synapse1 = new Synapse(cell1, segment2, 0, 0); assertFalse(synapse1.equals(synapse2)); // synapse1 should not equal synapse2 because synapse1's // sourceCell is null, but synapse2's sourceCell is not null synapse1.setPresynapticCell(null); assertFalse(synapse1.equals(synapse2)); // synapse1 should not equal synapse2 because synapse1's // sourceCell != synapse2's sourceCell synapse1.setPresynapticCell(cell2); assertFalse(synapse1.equals(synapse2)); // synapse1 should not equal synapse2 because synapse1's // synapseIndex != synapse2's synapseIndex synapse1 = new Synapse(cell1, segment1, 0, 0); synapse2 = new Synapse(cell1, segment1, 1, 0); assertFalse(synapse1.equals(synapse2)); // synapse1 should not equal synapse2 because synapse1's // permanence != synapse2's permanence synapse1 = new Synapse(cell1, segment1, 0, 0); synapse2 = new Synapse(cell1, segment1, 0, 1); assertFalse(synapse1.equals(synapse2)); // synapse1 should equal synapse2 because all of their // relevant properties are equal synapse1 = new Synapse(cell1, segment1, 0, 0); synapse2 = new Synapse(cell1, segment1, 0, 0); assertTrue(synapse1.equals(synapse2)); } }