Example #1
0
        public void SerializeSynapseList()
        {
            HtmSerializer2 htm      = new HtmSerializer2();
            Cell           cells    = new Cell(1, 1, 1, 1, new CellActivity());
            List <Synapse> synapses = new List <Synapse>();

            synapses.Add(new Synapse(cells, 1, 23, 2.0));
            synapses.Add(new Synapse(cells, 3, 27, 1.0));
            using (StreamWriter sw = new StreamWriter($"ser_{nameof(SerializeSynapseList)}.txt"))
            {
                htm.SerializeBegin("UnitTest", sw);

                //htm.SerializeValue(synapses, sw);

                htm.SerializeEnd("UnitTest", sw);
            }
            using (StreamReader sr = new StreamReader($"ser_{nameof(SerializeSynapseList)}.txt"))
            {
                List <Synapse> synapses1 = new List <Synapse>();
                while (sr.Peek() > 0)
                {
                    string data = sr.ReadLine();
                    if (data == String.Empty || data == htm.ReadBegin("UnitTest"))
                    {
                        continue;
                    }
                    else if (data == htm.ReadBegin(nameof(Synapse)))
                    {
                        //synapses1.Add(Synapse.Deserialize(sr));
                    }
                }
                Assert.IsTrue(synapses.SequenceEqual(synapses1));
            }
        }
Example #2
0
        public void SerializeDistalDendriteList()
        {
            HtmSerializer2        htm     = new HtmSerializer2();
            Cell                  cell    = new Cell(1, 1, 1, 1, new CellActivity());
            List <DistalDendrite> distals = new List <DistalDendrite>();

            distals.Add(new DistalDendrite(cell, 1, 2, 2, 1.0, 100));
            distals.Add(new DistalDendrite(cell, 44, 24, 34, 1.0, 100));
            List <DistalDendrite> distals2 = new List <DistalDendrite>();

            distals2.Add(new DistalDendrite(cell, 1, 2, 2, 1.0, 100));
            distals2.Add(new DistalDendrite(cell, 44, 24, 34, 1.0, 100));
            Assert.IsTrue(distals.SequenceEqual(distals2));
            using (StreamWriter sw = new StreamWriter($"ser_{nameof(SerializeDistalDendriteList)}"))
            {
                htm.SerializeBegin("UnitTest", sw);
                htm.SerializeValue(distals, sw);
                htm.SerializeEnd("UnitTest", sw);
            }
            using (StreamReader sr = new StreamReader($"ser_{nameof(SerializeDistalDendriteList)}"))
            {
                List <DistalDendrite> distals1 = new List <DistalDendrite>();
                while (sr.Peek() > 0)
                {
                    string str = sr.ReadLine();
                    if (str == htm.ReadBegin(nameof(DistalDendrite)))
                    {
                        distals1.Add(DistalDendrite.Deserialize(sr));
                    }
                }
            }
        }
Example #3
0
        public void SerializeArrayCell()
        {
            HtmSerializer2 htm = new HtmSerializer2();

            Cell[] cells = new Cell[2];
            Cell[] cells1;
            cells[0] = new Cell(12, 14, 16, 18, new CellActivity());

            var distSeg1 = new DistalDendrite(cells[0], 1, 2, 2, 1.0, 100);

            cells[0].DistalDendrites.Add(distSeg1);

            var distSeg2 = new DistalDendrite(cells[0], 44, 24, 34, 1.0, 100);

            cells[0].DistalDendrites.Add(distSeg2);

            Cell preSynapticcell = new Cell(11, 14, 16, 18, new CellActivity());

            var synapse1 = new Synapse(cells[0], distSeg1.SegmentIndex, 23, 1.0);

            preSynapticcell.ReceptorSynapses.Add(synapse1);

            var synapse2 = new Synapse(cells[0], distSeg2.SegmentIndex, 27, 1.0);

            preSynapticcell.ReceptorSynapses.Add(synapse2);

            cells[1] = new Cell(2, 4, 1, 8, new CellActivity());

            var distSeg3 = new DistalDendrite(cells[1], 3, 4, 7, 1.0, 100);

            cells[1].DistalDendrites.Add(distSeg3);

            var distSeg4 = new DistalDendrite(cells[1], 4, 34, 94, 1.0, 100);

            cells[1].DistalDendrites.Add(distSeg4);

            Cell preSynapticcell1 = new Cell(1, 1, 6, 8, new CellActivity());

            var synapse3 = new Synapse(cells[1], distSeg3.SegmentIndex, 23, 1.0);

            preSynapticcell.ReceptorSynapses.Add(synapse1);

            var synapse4 = new Synapse(cells[1], distSeg4.SegmentIndex, 27, 1.0);

            preSynapticcell.ReceptorSynapses.Add(synapse2);
            using (StreamWriter sw = new StreamWriter($"ser_{nameof(SerializeArrayCell)}.txt"))
            {
                htm.SerializeValue(cells, sw);
            }
            using (StreamReader sr = new StreamReader($"ser_{nameof(SerializeArrayCell)}.txt"))
            {
                //cells1 = htm.DeserializeCellArray(data,sr);
            }
            //Assert.IsTrue(cells.SequenceEqual(cells1));
        }
Example #4
0
        public void Serialize(StreamWriter writer)
        {
            HtmSerializer2 ser = new HtmSerializer2();

            ser.SerializeBegin(nameof(LinkedHashSet <T>), writer);

            //ser.SerializeValue(this.dict, writer);
            //ser.SerializeValue(this.list, writer);

            ser.SerializeEnd(nameof(LinkedHashSet <T>), writer);
        }
Example #5
0
        public void SerializeDictionarystringintA()
        {
            HtmSerializer2             htm       = new HtmSerializer2();
            Dictionary <String, int[]> keyValues = new Dictionary <String, int[]>
            {
                { "Hello", new int[] { 1, 2, 3 } },
                { "GoodMorning", new int[] { 4, 5, 6 } },
                { "Goodevening", new int[] { 7, 8, 9 } }
            };
            Dictionary <String, int[]> keyValuePairs = new Dictionary <String, int[]>();

            using (StreamWriter sw = new StreamWriter($"ser_{nameof(SerializeDictionarystringintA)}.txt"))
            {
                htm.SerializeBegin("UnitTest", sw);

                htm.SerializeValue(keyValues, sw);

                htm.SerializeEnd("UnitTest", sw);
            }

            using (StreamReader sr = new StreamReader($"ser_{nameof(SerializeDictionarystringintA)}.txt"))
            {
                while (sr.Peek() >= 0)
                {
                    string data = sr.ReadLine();

                    if (data == String.Empty || data == htm.ReadBegin("UnitTest"))
                    {
                    }
                    else if (data == htm.ReadEnd("UnitTest"))
                    {
                        break;
                    }
                    else
                    {
                        string[] str = data.Split(HtmSerializer2.ParameterDelimiter);
                        for (int i = 0; i < str.Length; i++)
                        {
                            switch (i)
                            {
                            case 0:
                                keyValuePairs = htm.ReadDictSIarray(str[i]);
                                break;

                            default:
                                break;
                            }
                        }
                    }
                }
            }

            Assert.IsTrue(keyValuePairs.SequenceEqual(keyValues));
        }
Example #6
0
        public void SerializeArrayDouble()
        {
            HtmSerializer2 htm = new HtmSerializer2();

            Double[] vs  = new Double[10];
            Double[] vs1 = new Double[10];
            using (StreamWriter sw = new StreamWriter($"ser_{nameof(SerializeArrayDouble)}.txt"))
            {
                htm.SerializeBegin("UnitTest", sw);

                for (int i = 0; i < 10; i++)
                {
                    vs[i] = i;
                }

                htm.SerializeValue(vs, sw);

                htm.SerializeEnd("UnitTest", sw);
            }
            using (StreamReader sr = new StreamReader($"ser_{nameof(SerializeArrayDouble)}.txt"))
            {
                while (sr.Peek() >= 0)
                {
                    string data = sr.ReadLine();

                    if (data == String.Empty || data == htm.ReadBegin("UnitTest"))
                    {
                        continue;
                    }
                    else if (data == htm.ReadEnd("UnitTest"))
                    {
                        break;
                    }
                    else
                    {
                        string[] str = data.Split(HtmSerializer2.ParameterDelimiter);
                        for (int i = 0; i < str.Length; i++)
                        {
                            switch (i)
                            {
                            case 0:
                                vs1 = htm.ReadArrayDouble(str[i]);
                                break;

                            default:
                                break;
                            }
                        }
                    }
                }
            }
            Assert.IsTrue(vs1.SequenceEqual(vs));
        }
Example #7
0
        public void SerializeDictionaryIntint()
        {
            HtmSerializer2        htm       = new HtmSerializer2();
            Dictionary <int, int> keyValues = new Dictionary <int, int>();

            keyValues.Add(23, 1);
            keyValues.Add(24, 2);
            keyValues.Add(35, 3);
            Dictionary <int, int> keyValuePairs = new Dictionary <int, int>();

            using (StreamWriter sw = new StreamWriter($"ser_{nameof(SerializeDictionaryIntint)}.txt"))
            {
                htm.SerializeBegin("UnitTest", sw);

                htm.SerializeValue(keyValues, sw);

                htm.SerializeEnd("UnitTest", sw);
            }

            using (StreamReader sr = new StreamReader($"ser_{nameof(SerializeDictionaryIntint)}.txt"))
            {
                while (sr.Peek() >= 0)
                {
                    string data = sr.ReadLine();

                    if (data == String.Empty || data == htm.ReadBegin("UnitTest"))
                    {
                    }
                    else if (data == htm.ReadEnd("UnitTest"))
                    {
                        break;
                    }
                    else
                    {
                        string[] str = data.Split(HtmSerializer2.ParameterDelimiter);
                        for (int i = 0; i < str.Length; i++)
                        {
                            switch (i)
                            {
                            case 0:
                                keyValuePairs = htm.ReadDictionaryIIValue(str[i]);
                                break;

                            default:
                                break;
                            }
                        }
                    }
                }
            }

            Assert.IsTrue(keyValuePairs.SequenceEqual(keyValues));
        }
Example #8
0
        public void SerializeArrayCell()
        {
            HtmSerializer2 htm = new HtmSerializer2();

            Cell[] cells = new Cell[2];
            using (StreamWriter sw = new StreamWriter($"ser_{nameof(SerializeArrayCell)}.txt"))
            {
                htm.SerializeBegin("UnitTest", sw);

                cells[0] = new Cell(1, 1, 1, 1, new CellActivity());

                cells[0].DistalDendrites = new List <DistalDendrite>();

                cells[0].DistalDendrites.Add(new DistalDendrite(cells[0], 1, 2, 2, 1.0, 100));
                cells[0].DistalDendrites.Add(new DistalDendrite(cells[0], 44, 24, 34, 1.0, 100));

                cells[0].ReceptorSynapses = new List <Synapse>();

                cells[0].ReceptorSynapses.Add(new Synapse(cells[0], 1, 23, 1.0));
                cells[0].ReceptorSynapses.Add(new Synapse(cells[0], 3, 27, 1.0));

                cells[1] = new Cell(1, 1, 1, 3, new CellActivity());

                cells[1].DistalDendrites = new List <DistalDendrite>();

                cells[1].DistalDendrites.Add(new DistalDendrite(cells[1], 1, 3, 5, 1.0, 100));
                cells[1].DistalDendrites.Add(new DistalDendrite(cells[1], 4, 24, 3, 1.0, 100));

                cells[1].ReceptorSynapses = new List <Synapse>();

                cells[1].ReceptorSynapses.Add(new Synapse(cells[1], 21, 23, 1.0));
                cells[1].ReceptorSynapses.Add(new Synapse(cells[1], 3, 7, 1.0));

                htm.SerializeValue(cells, sw);

                htm.SerializeEnd("UnitTest", sw);
            }
        }
Example #9
0
        public void SerializeDistalDendrite(int flatIdx, long lastUsedIteration, int ordinal, double synapsePermConnected, int numInputs)
        {
            Cell cell = new Cell(12, 14, 16, 18, new CellActivity());

            var distSeg1 = new DistalDendrite(cell, 1, 2, 2, 1.0, 100);

            cell.DistalDendrites.Add(distSeg1);

            var distSeg2 = new DistalDendrite(cell, 44, 24, 34, 1.0, 100);

            cell.DistalDendrites.Add(distSeg2);

            Cell preSynapticcell = new Cell(11, 14, 16, 18, new CellActivity());

            var synapse1 = new Synapse(cell, distSeg1.SegmentIndex, 23, 1.0);

            preSynapticcell.ReceptorSynapses.Add(synapse1);

            var synapse2 = new Synapse(cell, distSeg2.SegmentIndex, 27, 1.0);

            preSynapticcell.ReceptorSynapses.Add(synapse2);

            // Serializes the segment to file.
            using (StreamWriter sw = new StreamWriter($"ser_{nameof(SerializeDistalDendrite)}.txt"))
            {
                distSeg1.Serialize(sw);
            }

            using (StreamReader sr = new StreamReader($"ser_{nameof(SerializeDistalDendrite)}.txt"))
            {
                HtmSerializer2 ser = new HtmSerializer2();

                DistalDendrite distSegment1 = ser.DeserializeDistalDendrite(sr);

                Assert.IsTrue(distSegment1.Equals(distSeg1));
            }
        }
Example #10
0
        public void SerializeSynapseTest(int segmentindex, int synapseindex, double permanence)
        {
            Cell cell = new Cell(12, 14, 16, 18, new CellActivity());

            var distSeg1 = new DistalDendrite(cell, 1, 2, 2, 1.0, 100);

            cell.DistalDendrites.Add(distSeg1);

            var distSeg2 = new DistalDendrite(cell, 44, 24, 34, 1.0, 100);

            cell.DistalDendrites.Add(distSeg2);

            Cell preSynapticcell = new Cell(11, 14, 16, 28, new CellActivity());

            var synapse1 = new Synapse(cell, distSeg1.SegmentIndex, 23, 1.0);

            preSynapticcell.ReceptorSynapses.Add(synapse1);

            var synapse2 = new Synapse(cell, distSeg2.SegmentIndex, 27, 1.0);

            preSynapticcell.ReceptorSynapses.Add(synapse2);

            using (StreamWriter sw = new StreamWriter($"ser_{nameof(SerializeSynapseTest)}.txt"))
            {
                synapse1.Serialize(sw);
            }

            using (StreamReader sr = new StreamReader($"ser_{nameof(SerializeSynapseTest)}.txt"))
            {
                HtmSerializer2 ser = new HtmSerializer2();

                Synapse synapseT1 = ser.DeserializeSynapse(sr);

                Assert.IsTrue(synapse1.Equals(synapseT1));
            }
        }
Example #11
0
        public void SerializeCellTest(int parentIndx, int colSeq, int cellsPerCol, int cellId)
        {
            Cell cell = new Cell(12, 14, 16, 18, new CellActivity());

            var distSeg1 = new DistalDendrite(cell, 1, 2, 2, 1.0, 100);

            cell.DistalDendrites.Add(distSeg1);

            var distSeg2 = new DistalDendrite(cell, 44, 24, 34, 1.0, 100);

            cell.DistalDendrites.Add(distSeg2);

            Cell preSynapticcell = new Cell(11, 14, 16, 18, new CellActivity());

            var synapse1 = new Synapse(cell, distSeg1.SegmentIndex, 23, 1.0);

            preSynapticcell.ReceptorSynapses.Add(synapse1);

            var synapse2 = new Synapse(cell, distSeg2.SegmentIndex, 27, 1.0);

            preSynapticcell.ReceptorSynapses.Add(synapse2);

            using (StreamWriter sw = new StreamWriter($"ser_{nameof(SerializeCellTest)}.txt"))
            {
                cell.SerializeT(sw);
            }

            using (StreamReader sr = new StreamReader($"ser_{nameof(SerializeCellTest)}.txt"))
            {
                HtmSerializer2 ser = new HtmSerializer2();

                Cell cell1 = ser.DeserializeCell(sr);

                Assert.IsTrue(cell1.Equals(cell));
            }
        }
Example #12
0
        public void SerializeValueTest()
        {
            HtmSerializer2 htm = new HtmSerializer2();

            using (StreamWriter sw = new StreamWriter("ser.txt"))
            {
                htm.SerializeBegin("UnitTest", sw);

                htm.SerializeValue(15, sw);
                htm.SerializeValue(12.34, sw);
                htm.SerializeValue(12345678, sw);
                htm.SerializeValue("Hello", sw);
                htm.SerializeValue(true, sw);
                htm.SerializeEnd("UnitTest", sw);
            }

            using (StreamReader sr = new StreamReader("ser.txt"))
            {
                int    intfulldata;
                double doublefulldata;
                long   longfulldata;
                string stringfulldata;
                bool   boolfulldata;
                while (sr.Peek() > 0)
                {
                    string data = sr.ReadLine();
                    if (data == string.Empty || data == htm.ReadBegin("UnitTest"))
                    {
                        continue;
                    }
                    else if (data == htm.ReadEnd("UnitTest"))
                    {
                        break;
                    }
                    else
                    {
                        string[] str = data.Split(HtmSerializer2.ParameterDelimiter);
                        for (int i = 0; i < str.Length; i++)
                        {
                            switch (i)
                            {
                            case 0:
                            {
                                intfulldata = htm.ReadIntValue(str[i]);
                                break;
                            }

                            case 1:
                            {
                                doublefulldata = htm.ReadDoubleValue(str[i]);
                                break;
                            }

                            case 2:
                            {
                                longfulldata = htm.ReadLongValue(str[i]);
                                break;
                            }

                            case 3:
                            {
                                stringfulldata = htm.ReadStringValue(str[i]);
                                break;
                            }

                            case 4:
                            {
                                boolfulldata = htm.ReadBoolValue(str[i]);
                                break;
                            }

                            default:
                            { break; }
                            }
                        }
                    }
                }
            }
        }