Beispiel #1
0
        public void SetUpScoredEntities()
        {
            //This version of NUnit does not support TestFixtureSetUp
            if (!testFixtureSetUp)
            {
                // Create a list.
                entities = GenerateList(20);

                Console.WriteLine("Original list");
                ScoredEntity.PrintList(entities);
                Console.WriteLine();

                //Sort list and make radix tree.
                entities.Sort(ScoredEntity.CompareEntitiesByScore);
                radixEntities = new trie <int>(10);
                int index = 0;
                foreach (var entity in entities)
                {
                    String[] names = entity.name.ToLower().Split('_');
                    foreach (var name in names)
                    {
                        radixEntities.Add(name, index);
                    }
                    ++index;
                }

                testFixtureSetUp = true;
            }
        }
Beispiel #2
0
 internal static int CompareEntitiesByScore(ScoredEntity x, ScoredEntity y)
 {
     if (x == null)
     {
         if (y == null)
         {
             // If x is null and y is null,
             // they're equal.
             return(0);
         }
         else
         {
             // If x is null and y is not null,
             // y is greater.
             return(-1);
         }
     }
     else
     {
         // If x is not null...
         //
         if (y == null)
         // ...and y is null, x is greater.
         {
             return(1);
         }
         else
         {
             // ...and y is not null, compare the
             // scores of the two Persons.
             //
             return(x.score.CompareTo(y.score));
         }
     }
 }
Beispiel #3
0
        public void CompareEntitiesByScoreEqualReturns0()
        {
            ScoredEntity e1     = new ScoredEntity();;
            ScoredEntity e2     = new ScoredEntity();;
            int          result = ScoredEntity.CompareEntitiesByScore(e1, e2);

            Assert.AreEqual(result, 0);
        }
Beispiel #4
0
        public void CompareEntitiesByScoreSecondNullReturns1()
        {
            ScoredEntity e1     = new ScoredEntity();
            ScoredEntity e2     = null;
            int          result = ScoredEntity.CompareEntitiesByScore(e1, e2);

            Assert.AreEqual(result, 1);
        }
Beispiel #5
0
        public void CompareEntitiesByScoreFirstNullReturnsMinus1()
        {
            ScoredEntity e1     = null;
            ScoredEntity e2     = new ScoredEntity();
            int          result = ScoredEntity.CompareEntitiesByScore(e1, e2);

            Assert.AreEqual(result, -1);
        }
Beispiel #6
0
        public void CompareEntitiesByScoreBothNullReturns0()
        {
            ScoredEntity e1     = null;
            ScoredEntity e2     = null;
            int          result = ScoredEntity.CompareEntitiesByScore(e1, e2);

            Assert.AreEqual(result, 0);
        }
Beispiel #7
0
        public void CompareEntitiesByScoreSecondGreaterReturnsMinus1()
        {
            ScoredEntity e1 = new ScoredEntity();

            e1.score = 1;
            ScoredEntity e2 = new ScoredEntity();

            e2.score = 2;
            int result = ScoredEntity.CompareEntitiesByScore(e1, e2);

            Assert.AreEqual(result, -1);
        }
Beispiel #8
0
        public void CompareEntitiesByScoreFirstGreaterReturns1()
        {
            ScoredEntity e1 = new ScoredEntity();

            e1.score = 2;
            ScoredEntity e2 = new ScoredEntity();

            e2.score = 1;
            int result = ScoredEntity.CompareEntitiesByScore(e1, e2);

            Assert.AreEqual(result, 1);
        }
Beispiel #9
0
        internal static List <ScoredEntity> GenerateList(int length)
        {
            var entities = new List <ScoredEntity>();

            for (int i = 0; i < length; ++i)
            {
                ScoredEntity e     = new ScoredEntity();
                char[]       chars = new char[5];
                chars[0] = (char)('A' + i);
                chars[1] = (char)('z' - i);
                chars[2] = '_';
                chars[3] = (char)('Z' - i);
                chars[4] = (char)('a' + i);
                e.name   = new String(chars);
                e.score  = length - i;
                entities.Add(e);
            }
            return(entities);
        }