Ejemplo n.º 1
0
        /// <summary>
        /// Rebuilds specific element Watch lists (Cell, Distal, Proximal)
        /// from generic list of Selectable3DObjects from Engine.
        /// </summary>
        /// <param name="watchList"></param>
        public void RebuildWatchLists(List <Selectable3DObject> watchList)
        {
            bool            add      = true;
            Cell            cell     = null;
            DistalSynapse   distal   = null;
            ProximalSynapse proximal = null;

            WatchListCells.Clear();
            WatchListDistal.Clear();
            WatchListProximal.Clear();

            foreach (var obj in watchList)
            {
                if (obj != null)
                {
                    switch (obj.SelectablelType)
                    {
                    case SelectableObjectType.Cell:
                        cell = (Cell)obj;
                        if (add == true)
                        {
                            WatchListCells.Add(cell);
                        }
                        else
                        {
                            WatchListCells.Remove(cell);
                        }
                        break;

                    case SelectableObjectType.DistalSynapse:
                        distal = (DistalSynapse)obj;
                        if (add == true)
                        {
                            WatchListDistal.Add(distal);
                        }
                        else
                        {
                            WatchListDistal.Remove(distal);
                        }
                        break;

                    case SelectableObjectType.ProximalSynapse:
                        proximal = (ProximalSynapse)obj;
                        if (add == true)
                        {
                            WatchListProximal.Add(proximal);
                        }
                        else
                        {
                            WatchListProximal.Remove(proximal);
                        }
                        break;

                    case SelectableObjectType.None:
                    default:
                        break;
                    }
                }
            }
        }
Ejemplo n.º 2
0
        public void TestSynapse()
        {
            this.DefaultSynapseValues();

            var cell = new Cell(null, 0);

            cell.ActiveState[Global.T] = true;
            cell.LearnState[Global.T]  = true;

            Synapse syn = new DistalSynapse(cell, Synapse.ConnectedPermanence);

            Assert.Equal(true, syn.IsConnected());

            Assert.Equal(true, syn.IsActive(Global.T));
            Assert.Equal(false, syn.IsActive(Global.T - 1));
            Assert.Equal(false, syn.IsActiveFromLearning(Global.T - 1));

            syn.DecreasePermanence();
            Assert.Equal(false, syn.IsConnected());
            Assert.Equal(true, syn.IsActive(Global.T));

            cell.ActiveState[Global.T] = false;
            Assert.Equal(false, syn.IsActive(Global.T));
        }