Ejemplo n.º 1
0
        public void TestContents()
        {
            var rollingArray = new RollingArray <char>(3);

            rollingArray.Add('H');
            Assert.That(new string(rollingArray.ToArray()), Is.EqualTo("H"));
            rollingArray.Add('e');
            Assert.That(new string(rollingArray.ToArray()), Is.EqualTo("He"));
            rollingArray.Add('l');
            Assert.That(new string(rollingArray.ToArray()), Is.EqualTo("Hel"));
            rollingArray.Add('l');
            Assert.That(new string(rollingArray.ToArray()), Is.EqualTo("ell"));
            rollingArray.Add('o');
            Assert.That(new string(rollingArray.ToArray()), Is.EqualTo("llo"));
            rollingArray.Add(' ');
            Assert.That(new string(rollingArray.ToArray()), Is.EqualTo("lo "));
            rollingArray.Add('W');
            Assert.That(new string(rollingArray.ToArray()), Is.EqualTo("o W"));
            rollingArray.Add('o');
            Assert.That(new string(rollingArray.ToArray()), Is.EqualTo(" Wo"));
            rollingArray.Add('l');
            Assert.That(new string(rollingArray.ToArray()), Is.EqualTo("Wol"));
            rollingArray.Add('d');
            Assert.That(new string(rollingArray.ToArray()), Is.EqualTo("old"));
        }
        void Awake()
        {
            // Save the last 50 elements
            mousePositions = new RollingArray <Vector2>(50);

            // Cache a reference to the main camera
            mainCamera = Camera.main;
        }
Ejemplo n.º 3
0
        public void TestIndexer()
        {
            var rollingArray = new RollingArray <char>(4);

            rollingArray.Add('A');
            Assert.That(rollingArray.Pos(), Is.EqualTo(0));
            Assert.That(rollingArray[rollingArray.Length - 1], Is.EqualTo('A'));
            rollingArray.Add('B');
            Assert.That(rollingArray.Pos(), Is.EqualTo(1));
            Assert.That(rollingArray[rollingArray.Length - 1], Is.EqualTo('B'));
            Assert.That(rollingArray[rollingArray.Length - 2], Is.EqualTo('A'));
            rollingArray.Add('C');
            Assert.That(rollingArray.Pos(), Is.EqualTo(2));
            Assert.That(rollingArray[rollingArray.Length - 1], Is.EqualTo('C'));
            Assert.That(rollingArray[rollingArray.Length - 2], Is.EqualTo('B'));
            Assert.That(rollingArray[rollingArray.Length - 3], Is.EqualTo('A'));
            rollingArray.Add('D');
            Assert.That(rollingArray.Pos(), Is.EqualTo(3));
            Assert.That(rollingArray[rollingArray.Length - 1], Is.EqualTo('D'));
            Assert.That(rollingArray[rollingArray.Length - 2], Is.EqualTo('C'));
            Assert.That(rollingArray[rollingArray.Length - 3], Is.EqualTo('B'));
            Assert.That(rollingArray[rollingArray.Length - 4], Is.EqualTo('A'));
            rollingArray.Add('E');
            Assert.That(rollingArray.Pos(), Is.EqualTo(0));
            Assert.That(rollingArray[rollingArray.Length - 1], Is.EqualTo('E'));
            Assert.That(rollingArray[rollingArray.Length - 2], Is.EqualTo('D'));
            Assert.That(rollingArray[rollingArray.Length - 3], Is.EqualTo('C'));
            Assert.That(rollingArray[rollingArray.Length - 4], Is.EqualTo('B'));
            rollingArray.Add('F');
            Assert.That(rollingArray.Pos(), Is.EqualTo(1));
            Assert.That(rollingArray[rollingArray.Length - 1], Is.EqualTo('F'));
            Assert.That(rollingArray[rollingArray.Length - 2], Is.EqualTo('E'));
            Assert.That(rollingArray[rollingArray.Length - 3], Is.EqualTo('D'));
            Assert.That(rollingArray[rollingArray.Length - 4], Is.EqualTo('C'));
            rollingArray.Add('G');
            Assert.That(rollingArray.Pos(), Is.EqualTo(2));
            Assert.That(rollingArray[rollingArray.Length - 1], Is.EqualTo('G'));
            Assert.That(rollingArray[rollingArray.Length - 2], Is.EqualTo('F'));
            Assert.That(rollingArray[rollingArray.Length - 3], Is.EqualTo('E'));
            Assert.That(rollingArray[rollingArray.Length - 4], Is.EqualTo('D'));
            rollingArray.Add('H');
            Assert.That(rollingArray.Pos(), Is.EqualTo(3));
            Assert.That(rollingArray[rollingArray.Length - 1], Is.EqualTo('H'));
            Assert.That(rollingArray[rollingArray.Length - 2], Is.EqualTo('G'));
            Assert.That(rollingArray[rollingArray.Length - 3], Is.EqualTo('F'));
            Assert.That(rollingArray[rollingArray.Length - 4], Is.EqualTo('E'));
            rollingArray.Add('I');
            Assert.That(rollingArray.Pos(), Is.EqualTo(0));
            Assert.That(rollingArray[rollingArray.Length - 1], Is.EqualTo('I'));
            Assert.That(rollingArray[rollingArray.Length - 2], Is.EqualTo('H'));
            Assert.That(rollingArray[rollingArray.Length - 3], Is.EqualTo('G'));
            Assert.That(rollingArray[rollingArray.Length - 4], Is.EqualTo('F'));
        }
Ejemplo n.º 4
0
        public void TestCanCheckForStartToken()
        {
            var expected     = new char[] { '{', '{' };
            var rollingArray = new RollingArray <char>(3);

            rollingArray.Add('A');
            Assert.That(rollingArray.EndsWith(expected), Is.False);
            rollingArray.Add('B');
            Assert.That(rollingArray.EndsWith(expected), Is.False);
            rollingArray.Add('{');
            Assert.That(rollingArray.EndsWith(expected), Is.False);
            rollingArray.Add('{');
            Assert.That(rollingArray.EndsWith(expected), Is.True);
            rollingArray.Add('C');
            Assert.That(rollingArray.EndsWith(expected), Is.False);
        }
Ejemplo n.º 5
0
 private void Start()
 {
     drips = new RollingArray <GameObject>(max, (GameObject item) => { Destroy(item); });
     SetNextDrip();
 }
Ejemplo n.º 6
0
        public void AnalyzeReversedPatterns(UInt32[] pattern)
        {
            UInt32[] patternLengthHistogram       = new UInt32[pattern.Length + 1];
            PatternsAtFixedLength[] savedPatterns = new PatternsAtFixedLength[pattern.Length + 1];
            for (UInt32 i = 2; i < savedPatterns.Length; i++)
            {
                savedPatterns[i] = new PatternsAtFixedLength(i);
            }


            for (UInt32 patternStart = 0; patternStart < pattern.Length - 1; patternStart++)
            {
                RollingArray <UInt32> patternEnumerable = new RollingArray <UInt32>(pattern, patternStart);
                IEnumerator <UInt32>  patternEnumerator = patternEnumerable.GetEnumerator();

                for (UInt32 compareStart = 0; compareStart < pattern.Length; compareStart++)
                {
                    UInt32 matchLength = 0;
                    patternEnumerator.Reset();

                    IEnumerator <UInt32> compareEnumerator = new RollingArrayReversed <UInt32>(pattern, compareStart).GetEnumerator();
                    while (patternEnumerator.MoveNext() && compareEnumerator.MoveNext())
                    {
                        if (patternEnumerator.Current == compareEnumerator.Current)
                        {
                            matchLength++;
                        }
                        else
                        {
                            break;
                        }
                    }

                    patternLengthHistogram[matchLength]++;

                    if (matchLength >= 2)
                    {
                        savedPatterns[matchLength].AddPattern(patternEnumerable.CreateNewArray(matchLength));
                    }
                }
            }

            /*
             * //
             * // Print PatternLength Histogram
             * //
             * for (UInt32 i = 0; i < patternLengthHistogram.Length; i++)
             * {
             *  UInt32 histogramCount = patternLengthHistogram[i];
             *  if (histogramCount != 0) Console.WriteLine("PatternLength {0,3}: {1}", i, histogramCount);
             * }
             */

            //
            // Print saved patters
            //
            for (UInt32 i = 2; i < savedPatterns.Length; i++)
            {
                PatternsAtFixedLength patterns = savedPatterns[i];
                patterns.Print(true);
            }
        }