コード例 #1
1
        public void ExpectAddingCarsInRepoThenReturnSortedByYearToHaveCorrectResults()
        {
            byte specialCounter = 20;
            short[] years = { 2013, 2001, 2004, 2000, 2010 };

            List<int> expectedResultYears = new List<int>();
            this.fakeCarsData.Remove(new Car());

            for (var i = 0; i < specialCounter; i++)
            {
                var vartburg = new Car()
                {
                    Id = (i + 1) * 1945,
                    Make = "GDR2",
                    Model = "Kombi" + i,
                    Year = years[i % years.Length]
                };

                this.controller.Add(vartburg);
                expectedResultYears.Add(vartburg.Year);
            }

            var collection = (IList<Car>)this.GetModel(() => this.controller.Sort("year"));

            expectedResultYears.Sort();

            for (int car = 0; car < expectedResultYears.Count; car++)
            {
                Assert.AreEqual(expectedResultYears[car], collection[car].Year);
            }
        }
コード例 #2
0
        public void GenericComparerAsIComparer()
        {
            List<int> ints = new List<int>(new[] { 10, 5, 2, 23, 7, 5, 3, 45, 23, 64, 25 });

            ints.Sort(new GenericComparer<int>());

            Assert.AreEqual(ints.Min(), ints.First());
            Assert.AreEqual(ints.Max(), ints.Last());

            ints.Sort(new GenericComparer<int>((i, i1) => Math.Sin(i) > Math.Sin(i1) ? -1 : Math.Sin(i) < Math.Sin(i1) ? 1 : 0));

            Assert.AreEqual(64, ints.First());
            Assert.AreEqual(5, ints.Last());
        }
コード例 #3
0
        public static Problem createRandomProblem(int numClasses) {
            Problem prob = new Problem();
            prob.bias = -1;
            prob.l = random.Next(100) + 1;
            prob.n = random.Next(100) + 1;
            prob.x = new Feature[prob.l][];
            prob.y = new double[prob.l];


            for (int i = 0; i < prob.l; i++) {


                prob.y[i] = random.Next(numClasses);


                ISet<int> randomNumbers = new HashSet<int>();
                int num = random.Next(prob.n) + 1;
                for (int j = 0; j < num; j++) {
                    randomNumbers.Add(random.Next(prob.n) + 1);
                }
                List<int> randomIndices = new List<int>(randomNumbers);
                randomIndices.Sort();


                prob.x[i] = new Feature[randomIndices.Count];
                for (int j = 0; j < randomIndices.Count; j++) {
                    prob.x[i][j] = new Feature(randomIndices[j], random.NextDouble());
                }
            }
            return prob;
        }
コード例 #4
0
        public void ListPersonsByNameReversedAndThenByAge()
        {
            // Arrange
            var persons = new List<Person>
            {
                new Person {Age = 30, Name = "Martin"},
                new Person {Age = 32, Name = "Martin"},
                new Person {Age = 34, Name = "Audrey"},
                new Person {Age = 14, Name = "Julien"},
                new Person {Age = 24, Name = "Michal"},
                new Person {Age = 94, Name = "Pierre"},
                new Person {Age = 34, Name = "Catherine"},
                new Person {Age = 74, Name = "Luca"},
                new Person {Age = 34, Name = "Sophie"}
            };

            // Act
            persons.Sort(Person.ByName.Reversed().ThenBy(Person.ByAge));

            // Assert
            foreach (var person in persons)
            {
                Console.Out.WriteLine($"{person.Name}\t\t {person.Age}");
            }
        }
コード例 #5
0
        public void EventsAreListedSorted()
        {
            EventsManagerFast manager = new EventsManagerFast();

            // Unsorted events
            var events = new List<Event>
            {
                new Event(DateTime.Parse("2010-01-01"), "testB", "foo"),
                new Event(minDate, "test", null),
                new Event(minDate, "test", "bar"),
                new Event(minDate, "test", "foo"),
                new Event(minDate, "testB", "foo")                
            };

            // Events are added unsorted
            foreach (var ev in events)
            {
                manager.AddEvent(ev);
            }

            var managerEvents = manager.ListEvents(minDate, 5).ToList();

            // Assert 5 are added
            Assert.AreEqual(5, managerEvents.Count);

            events.Sort();
            CollectionAssert.AreEqual(events, managerEvents);
        }
コード例 #6
0
 public string[] GenerateParenthesis(int n)
 {
     List<string> answer = new List<string>();
     GenerateParenthesisRecursive(n, n, answer, "");
     answer.Sort();
     return answer.ToArray();
 }
コード例 #7
0
        public void RouteInfoComparisonTest()
        {
            // Create route infos and add them to a list out of order.
            RouteInfo r101Both = new RouteInfo {
                Name = "101",
                LrsTypes = LrsTypes.Both
            };
            RouteInfo r005Both = new RouteInfo
            {
                Name = "005",
                LrsTypes = LrsTypes.Both
            };
            RouteInfo r005Inc = new RouteInfo
            {
                Name = "005",
                LrsTypes = LrsTypes.Increase
            };

            List<RouteInfo> routeInfo = new List<RouteInfo>();
            routeInfo = new List<RouteInfo>(3);
            routeInfo.Add(r101Both);
            routeInfo.Add(r005Both);
            routeInfo.Add(r005Inc);

            // Sort the list and test for the expected order.
            routeInfo.Sort();

            Assert.AreEqual(routeInfo[0], r005Inc);
            Assert.AreEqual(routeInfo[1], r005Both);
            Assert.AreEqual(routeInfo[2], r101Both);
        }
コード例 #8
0
ファイル: TehaiTests.cs プロジェクト: rick0000/MjModel
        public void Unit_TehaiDaiminkanTest()
        {
            Tehai testTehai = new Tehai(new List<string> { "1m", "2m", "3m", "4m", "5m", "6m", "7m", "8m", "9m", "1s", "2s", "3s", "1m" });
            testTehai.Tsumo(new Pai("1m"));

            //chi
            var actor = 0;
            var target = 3;
            var furopai = new Pai("1m");
            var consumed = new List<Pai> { new Pai("1m"), new Pai("1m"), new Pai("1m") };
            consumed.Sort();

            Assert.IsTrue(testTehai.tehai.Contains(new Pai("1m")));

            //実施
            testTehai.Daiminkan(actor, target, furopai, consumed);

            //フーロオブジェクトの構成が正しいか
            Assert.AreEqual(testTehai.furos[0].furoType, MJUtil.TartsuType.MINKANTSU);
            Assert.AreEqual(testTehai.furos[0].furopai, furopai);
            CollectionAssert.AreEqual(testTehai.furos[0].consumed, consumed);

            //晒した牌が手配に残っていないか
            Assert.IsFalse(testTehai.tehai.Contains(new Pai("1m")));
        }
コード例 #9
0
ファイル: CardTests.cs プロジェクト: jeffjohnson9046/CodeClub
        public void Can_Sort_Cards_in_a_Hand_in_Ascending_Order_By_Value()
        {
            #region "Arrange"

            var cards = new List<Card>
                {
                    new Card('7', 'C'),
                    new Card('2', 'C'),
                    new Card('5', 'H'),
                    new Card('3', 'S'),
                    new Card('4', 'C'),
                };

            #endregion

            #region "Act"

            cards.Sort();

            #endregion

            #region "Assert"

            Assert.AreEqual(2, cards[0].Value);
            Assert.AreEqual(3, cards[1].Value);
            Assert.AreEqual(4, cards[2].Value);
            Assert.AreEqual(5, cards[3].Value);
            Assert.AreEqual(7, cards[4].Value);

            #endregion
        }
コード例 #10
0
        public void SimpleList()
        {
            var list = new List<string>
                {
                    "0.12",
                    "12",
                    "Potato",
                    "a0.012",
                    "10",
                    "potato",
                    "b1.2",
                    "a1",
                    "1.2E-4",
                    "0.0012",
                };

            list.Sort(new NaturalSortComparer<string>());

            Assert.AreEqual("1.2E-4", list[0]);
            Assert.AreEqual("0.0012", list[1]);
            Assert.AreEqual("0.12", list[2]);
            Assert.AreEqual("10", list[3]);
            Assert.AreEqual("12", list[4]);
            Assert.AreEqual("Potato", list[5]);
            Assert.AreEqual("a0.012", list[6]);
            Assert.AreEqual("a1", list[7]);
            Assert.AreEqual("b1.2", list[8]);
            Assert.AreEqual("potato", list[9]);
        }
コード例 #11
0
        public void ValidationErrors_Fields()
        {
            List<int> list;
            int nextValue;
            int numFields;

            list = new List<int>();
            numFields = 0;

            foreach (FieldInfo field in typeof(ValidationError).GetFields(BindingFlags.Static | BindingFlags.NonPublic))
            {
                // Don't store the special values.
                if ((field.Name != "BaseValue") && (field.Name != "LastUsedOffset"))
                {
                    list.Add((int)field.GetValue(null));
                    numFields++;
                }
            }

            Assert.AreNotEqual(0, numFields, "No fields were tested.");
            list.Sort();

            // Test that values are sequential and aren't duplicated.
            nextValue = ValidationError.BaseValue + 1;
            foreach (int value in list)
            {
                Assert.AreEqual(nextValue, value, "Value was not expected.");
                nextValue++;
            }

            Assert.AreEqual(nextValue - 1,
                            ValidationError.BaseValue + ValidationError.LastUsedOffset,
                            "LastUsedOffset is incorrect.");
        }
コード例 #12
0
ファイル: TrieTests.cs プロジェクト: ZuTa/Algorithms
        public void TrieTests_EnumerateInOrder2()
        {
            Trie<char> trie = new Trie<char>();

            List<string> items = new List<string>();

            Random r = new Random();
            for (int i = 0; i < 100000; i++)
            {
                char[] word = new char[r.Next(10) + 1];

                for (int j = 0; j < word.Length; j++)
                {
                    word[j] = (char)(97 + r.Next(26));
                }

                string sword = new string(word);

                items.Add(sword);

                trie.Insert(sword);
            }

            items.Sort();

            var actualOrder = trie.EnumerateInOrder().Select(sequence => new string(sequence.ToArray())).ToList();

            Assert.IsTrue(items.Except(actualOrder).Count() == 0);
            Assert.IsTrue(actualOrder.Except(items).Count() == 0);
        }
コード例 #13
0
        public void GetSortedDateTimes_ReturnsCorrectList()
        {
            DateTime dateNow = DateTime.Now;

            var orderedDateRanges = new List<DateRange>();
            orderedDateRanges.Add( new DateRange( dateNow, dateNow.AddMinutes( 100 )));             // +-----------------------------------------------+
            orderedDateRanges.Add(new DateRange(dateNow.AddMinutes(10), dateNow.AddMinutes(10)));   //   +
            orderedDateRanges.Add(new DateRange(dateNow.AddMinutes(10), dateNow.AddMinutes(10)));   //   +
            orderedDateRanges.Add(new DateRange(dateNow.AddMinutes(10), dateNow.AddMinutes(20)));   //   +---+
            orderedDateRanges.Add(new DateRange(dateNow.AddMinutes(10), dateNow.AddMinutes(30)));   //   +-------+
            orderedDateRanges.Add(new DateRange(dateNow.AddMinutes(20), dateNow.AddMinutes(60)));   //       +----------------------+
            orderedDateRanges.Add(new DateRange(dateNow.AddMinutes(30), dateNow.AddMinutes(60)));   //           +------------------+
            orderedDateRanges.Add(new DateRange(dateNow.AddMinutes(40), dateNow.AddMinutes(50)));   //              +------------+
            orderedDateRanges.Add(new DateRange(dateNow.AddMinutes(42), dateNow.AddMinutes(47)));   //                 +-----+
            orderedDateRanges.Add(new DateRange(dateNow.AddMinutes(45), dateNow.AddMinutes(45)));   //                    +
            orderedDateRanges.Add(new DateRange(dateNow.AddMinutes(70), dateNow.AddMinutes(75)));   //                                  +---+
            orderedDateRanges.Add(new DateRange(dateNow.AddMinutes(90), dateNow.AddMinutes(110)));  //                                          +--------------+
            orderedDateRanges.Add(new DateRange(dateNow.AddMinutes(120), dateNow.AddMinutes(140))); //                                                            +-----------+

            var result = orderedDateRanges.GetSortedDateTimes();

            var correctDateTimes = new List<DateTime>();
            orderedDateRanges.ForEach(x => correctDateTimes.AddRange(new List<DateTime> { x.StartTime, x.EndTime }));
            correctDateTimes.Sort();

            Assert.Equal( correctDateTimes, result);
        }
コード例 #14
0
ファイル: SortTests.cs プロジェクト: vangelov-i/Fundamentals
        public void TestSortWithMultipleElementsMultipleTimes()
        {
            const int NumberOfAttempts = 10000;
            const int MaxNumberOfElements = 1000;

            for (int i = 0; i < NumberOfAttempts; i++)
            {
                var numberOfElements = Random.Next(0, MaxNumberOfElements + 1);

                List<int> originalElements = new List<int>(MaxNumberOfElements);

                for (int j = 0; j < numberOfElements; j++)
                {
                    originalElements.Add(Random.Next(int.MinValue, int.MaxValue));
                }

                var collection = new SortableCollection<int>(originalElements);

                originalElements.Sort();
                collection.Sort(TestSorter);

                CollectionAssert.AreEqual(
                    originalElements,
                    collection.ToArray(),
                    "Sort method should sort the elements in ascending order.");
            }
        }
コード例 #15
0
        public void MomTest()
        {
            Random r = new Random();
            List<int> x = new List<int>(5000);
            List<int> result = new List<int>(5000);
            int size = 5000;

            for (int i = 0; i < size; i++)
            {
                x.Add(r.Next(0, 100));
            }

            for (int i = 0; i < size; i++)
            {
                result.Add(x.Mom(i, Comparer<int>.Default));
            }

            x.Sort();
            for (int i = 0; i < size; i++)
            {
                if (result[i] != x[i])
                    Assert.Fail($"{x[i]} != {result[i]}");
            }

            Assert.IsTrue(true);
        }
コード例 #16
0
ファイル: FRandomTest.cs プロジェクト: umebayashi/Descartes
        public void TestNextDouble()
        {
            var random = new FRandom();

            var fdPairs = new Tuple<int, int>[] {
                new Tuple<int, int>(4, 6),
                new Tuple<int, int>(10, 10)
            };

            var list = new List<double>();
            foreach (var fdPair in fdPairs)
            {
                list.Clear();

                for (int i = 0; i < 100; i++)
                {
                    list.Add(random.NextDouble(fdPair.Item1, fdPair.Item2));
                }
                list.Sort();

                Console.WriteLine("自由度({0}, {1})", fdPair.Item1, fdPair.Item2);
                list.ForEach(x => Console.WriteLine(x));
                Console.WriteLine();
            }
        }
コード例 #17
0
        public void CompareTo_ValidateSortingForAllPerms_Passes()
        {
            List<StartingHandCombo> copy = new List<StartingHandCombo>();
            List<StartingHandCombo> sorted = new List<StartingHandCombo>();
            List<StartingHandCombo> shuffled = new List<StartingHandCombo>();

            foreach (StartingHandCombo h in _startingHandPermutations.Values)
            {
                copy.Add(h);
                sorted.Add(h);
            }

            Random iRand = new Random();
            do{
                int i = iRand.Next(copy.Count - 1);
                shuffled.Add(copy[i]);
                copy.RemoveAt(i);
            }while(copy.Count > 0);

            Assert.IsFalse(EqualLists(sorted, shuffled));

            shuffled.Sort();
            sorted.Sort();

            Assert.IsTrue(EqualLists(sorted, shuffled));
        }
コード例 #18
0
 public void ShouldSortCorrectlyOnlyNegativeValues()
 {
     var collection = new SortableCollection<double>(new[] { -1.4, -8.6, -2, -13.1, -13.2, -55, -55, -55.1, -55.01 });
     var expectedCollection = new List<double>(collection.Items);
     expectedCollection.Sort();
     collection.Sort(new SelectionSorter<double>());
     CollectionAssert.AreEqual(expectedCollection, collection.Items.ToList());
 }
コード例 #19
0
 public void ShouldSortCorrectlySortedCollection()
 {
     var collection = new SortableCollection<int>(new[] { 1, 2, 3, 4, 5, 6, 7 });
     var expectedCollection = new List<int>(collection.Items);
     expectedCollection.Sort();
     collection.Sort(new SelectionSorter<int>());
     CollectionAssert.AreEqual(expectedCollection, collection.Items.ToList());
 }
コード例 #20
0
 public void ShouldSortCorrectlyDoubles()
 {
     var collection = new SortableCollection<double>(new[] { 1.4, -8.6, 2, 13.1, 13.2, 55, 55, 55.1, 55.01 });
     var expectedCollection = new List<double>(collection.Items);
     expectedCollection.Sort();
     collection.Sort(new SelectionSorter<double>());
     CollectionAssert.AreEqual(expectedCollection, collection.Items.ToList());
 }
コード例 #21
0
ファイル: Level2Test.cs プロジェクト: kurunve/TheGame
 public void Level2BitArray3()
 {
     Level2.BitArray bitArrayTest = new Level2.BitArray(5);
     Level2.BitArray bitArrayTest2 = new Level2.BitArray(3);
     List<Level2.BitArray> list = new List<Level2.BitArray>(){bitArrayTest,bitArrayTest2};
     list.Sort();
     Assert.AreEqual(list[0].getBitsInt(),3);
 }
コード例 #22
0
        public void IntEqualityComparerTest()
        {
            var source = new List<int> { 1, 5, 5, 2,7,12,15,18,20,24,25,10,5,1,8,11,30 };

            var comparer = new IntEqualityComparer(5);

            source.Sort();
            var res = source.GroupBy(g => g, comparer);

            Assert.AreEqual(5, res.Count());
        }
コード例 #23
0
 public void TestMethod1()
 {
     List<ISolutionInfo> solutions = new List<ISolutionInfo>();
     solutions.Add(new Solution(new FileInfo(@"C:\dev\Projects\Faces\Faces.Wpf.sln")));
     solutions.Add(new Solution(new FileInfo(@"C:\dev\Projects\Faces\Faces.Www.sln")));
     solutions.Add(new Solution(new FileInfo(@"C:\dev\Projects\SAPLogonPadUpdater\SAPLogonPadUpdater.sln")));
     ProductSourceStructure structure = new ProductSourceStructure(solutions);
     IList<string> liste = structure.UniqueDirectoryListe;
     List<string> sorted = new List<string>(structure.RootDirectoryListe);
     sorted.Sort();
 }
コード例 #24
0
ファイル: Test.cs プロジェクト: 0xcb/Re2.Net
            private double getResultMedian(List<double> results)
            {
                if(results.Count == 0)
                    return double.NaN;

                results.Sort();

                if((results.Count & 1) == 1)
                    return results[results.Count/2];
                else
                    return (results[results.Count/2] + results[results.Count/2 - 1]) / 2d;
            }
コード例 #25
0
        public void TestCompareTo_Sort()
        {
            var a = new Capability("capA", new Version("1.0"));
            var b = new Capability("capB", new Version("1.0"));
            var c = new Capability("capB", new Version("1.1"));

            var list = new List<Capability>() { c, b, a };
            list.Sort();

            Assert.AreSame(a, list[0]);
            Assert.AreSame(b, list[1]);
            Assert.AreSame(c, list[2]);
        }
コード例 #26
0
        public void TestCompare()
        {
            var summary1 = Summary("a");
            var summary2 = Summary("b");

            var summaries = new List<GroupRootSummary>
            {
                summary2, summary1
            };

            summaries.Sort();
            Assert.AreEqual("a", summaries.First().IndicatorName);
        }
コード例 #27
0
    public void DetermineNextFreeComputerCode2_Test()
    {
      var list = new List<string> {"B", "C", "F", "G"};

      var sut = new ComputerModel();

      sut.DetermineNextFreeComputerCode(list).ShouldEqual("A"); // fill hole

      list.AddRange(new[] { "A" });
      list.Sort();
      sut.DetermineNextFreeComputerCode(list).ShouldEqual("D"); // fill hole

      list.AddRange(new [] {"D", "E", "H"});
      list.Sort();
      sut.DetermineNextFreeComputerCode(list).ShouldEqual("J"); // skip I

      list.AddRange(new[]{"J","K"});
      sut.DetermineNextFreeComputerCode(list).ShouldEqual("M"); // skip L
    
      list.AddRange(new[]{"M","N"});
      sut.DetermineNextFreeComputerCode(list).ShouldEqual("P"); // skip O
    }
コード例 #28
0
ファイル: tests.cs プロジェクト: Algorithmix/Papyrus
 public void TestGetAllMatching()
 {
     const string dir = "TestRecursiveMatching";
     RemoveDirectory(Path.Combine(Drive.GetDriveRoot(), UnitTestFolder, dir));
     var expected = new List<string>();
     BuildNestedDirectory(Path.Combine(Drive.GetDriveRoot(), UnitTestFolder, dir), expected);
     var drive = new Drive(Path.Combine(UnitTestFolder, dir), Drive.Reason.Read);
     var actual = drive.GetAllMatching("image");
     expected.Sort();
     actual.Sort();
     var same = expected.Zip(actual, (first, second) => first == second).All(x => x);
     Assert.IsTrue(same);
 }
コード例 #29
0
ファイル: ShufflerTest.cs プロジェクト: shahboura/Tarneeb
 public void TestSortCards()
 {
     Card testAS = new Card(1, Suit.Spades);
     Card testKS = new Card(13, Suit.Spades);
     Card testQS = new Card(12, Suit.Spades);
     List<Card> cards = new List<Card>() { testAS, testQS, testKS };
     cards.Sort();
     Assert.IsTrue(testAS.CompareTo(testKS) > 0);
     Assert.IsFalse(testKS.CompareTo(testAS) > 0);
     Assert.IsTrue(testAS.CompareTo(testQS) > 0);
     Assert.IsFalse(testQS.CompareTo(testAS) > 0);
     Assert.IsTrue(testKS.CompareTo(testQS) > 0);
     Assert.IsFalse(testQS.CompareTo(testKS) > 0);
 }
コード例 #30
0
        public void TestSortOrder()
        {
            var ra = new LexicalRule("x", Sym.Id);
            var rb = new LexicalRule("xx", Sym.Id);

            var la = new List<LexicalRule>() { ra, rb };
            var lb = new List<LexicalRule>() { rb, ra };

            la.Sort();
            lb.Sort();

            Assert.AreEqual(rb, la[0]);
            Assert.AreEqual(rb, lb[0]);
        }