Exemple #1
0
 public void SynapseApicalCtorTest()
 {
     for (int testNum = 0; testNum < Global.Tests.TestNumLoops; testNum++)
     {
         Column        col = new Column(0, 0, 1);
         SynapseApical syn = new SynapseApical(col);
         Assert.AreSame(syn.ColumnConnected, col);
         Assert.IsTrue(syn.Permanence >= 0.0);
         Assert.IsTrue(syn.Permanence <= 1.0);
         Assert.IsFalse(syn.IsActive);
     }
 }
Exemple #2
0
        public void SynapseApicalOverrideTest()
        {
            for (int testNum = 0; testNum < Global.Tests.TestNumLoops; testNum++)
            {
                Column        col = new Column(0, 0, 3);
                SynapseApical syn = new SynapseApical(col);
                syn.OverridePermanence(1.0);

                //test override active
                syn.Override(true, 0);
                Assert.IsTrue(syn.IsActive);
                Assert.IsTrue(col.Cells[0].IsActive);
                Assert.IsTrue(col.Cells[1].IsActive);
                Assert.IsTrue(col.Cells[2].IsActive);

                syn.Override(false, 0);
                Assert.IsFalse(syn.IsActive);
                Assert.IsFalse(col.Cells[0].IsActive);
                Assert.IsFalse(col.Cells[1].IsActive);
                Assert.IsFalse(col.Cells[2].IsActive);

                //test override permanence
                syn.OverridePermanence(-0.5);
                Assert.IsTrue(syn.Permanence == 0);
                syn.OverridePermanence(9999.99);
                Assert.IsTrue(syn.Permanence == 1.0);
                syn.OverridePermanence(NetConfigData.SynapsePermanenceThreshold + 0.01);
                Assert.IsTrue(syn.Permanence > NetConfigData.SynapsePermanenceThreshold);
                Assert.IsTrue(syn.Permanence <= 1.0);

                //test override of connected column
                syn.Override(true, 0);
                Assert.IsTrue(col.IsActive);
                syn.Override(false, 0);
                Assert.IsFalse(col.IsActive);
            }
        }