コード例 #1
0
ファイル: TestDatabase.cs プロジェクト: nobled/mono
	public List<TestData> GetData (string sortExpression)
	{
		if (String.IsNullOrEmpty (sortExpression))
			return data;

		bool ascending;
		string field;
		int subtract;

		if (sortExpression.EndsWith (" desc", StringComparison.OrdinalIgnoreCase)) {
			ascending = false;
			subtract = 5;
		} else {
			ascending = true;
			subtract = 0;
		}

		if (subtract == 0)
			field = sortExpression;
		else
			field = sortExpression.Substring (0, sortExpression.Length - subtract);

		TestDataComparer comparer;
		if (String.Compare (field, "ProductName", StringComparison.OrdinalIgnoreCase) == 0)
			comparer = new TestDataComparer (false, ascending);
		else
			comparer = new TestDataComparer (true, ascending);

		data.Sort (comparer);

		return data;
	}
コード例 #2
0
    public List <TestData> GetData(string sortExpression)
    {
        if (String.IsNullOrEmpty(sortExpression))
        {
            return(data);
        }

        bool   ascending;
        string field;
        int    subtract;

        if (sortExpression.EndsWith(" desc", StringComparison.OrdinalIgnoreCase))
        {
            ascending = false;
            subtract  = 5;
        }
        else
        {
            ascending = true;
            subtract  = 0;
        }

        if (subtract == 0)
        {
            field = sortExpression;
        }
        else
        {
            field = sortExpression.Substring(0, sortExpression.Length - subtract);
        }

        TestDataComparer comparer;

        if (String.Compare(field, "ProductName", StringComparison.OrdinalIgnoreCase) == 0)
        {
            comparer = new TestDataComparer(false, ascending);
        }
        else
        {
            comparer = new TestDataComparer(true, ascending);
        }

        data.Sort(comparer);

        return(data);
    }
コード例 #3
0
        public void Runtime_of_N(int array1Size)
        {
            var array1   = Enumerable.Range(0, array1Size).Select(x => new TestData(x)).ToArray();
            var set      = new HashSet <TestData>();
            var unique   = new List <TestData>();
            var comparer = new TestDataComparer();

            var stopwatch = Stopwatch.StartNew();

            foreach (var t in array1)
            {
                if (!set.Contains(t, comparer))
                {
                    set.Add(t);
                    unique.Add(t);
                }
            }
            stopwatch.Stop();
            Debug.WriteLine($"{nameof(Runtime_of_N)} took {stopwatch.ElapsedMilliseconds} ms");

            unique.Count.Should().Be(array1Size);
            stopwatch.ElapsedMilliseconds.Should().BeLessThan(100);
        }