started grouping:
This commit is contained in:
parent
dd1c96f436
commit
17dcbb492f
44
PoweredSoft.DynamicLinq.Test/GroupingTests.cs
Normal file
44
PoweredSoft.DynamicLinq.Test/GroupingTests.cs
Normal file
@ -0,0 +1,44 @@
|
||||
using Microsoft.VisualStudio.TestTools.UnitTesting;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace PoweredSoft.DynamicLinq.Test
|
||||
{
|
||||
[TestClass]
|
||||
public class GroupingTests
|
||||
{
|
||||
[TestMethod]
|
||||
public void WantedSyntax()
|
||||
{
|
||||
var regularSyntax = TestData.Sales
|
||||
.GroupBy(t => t.ClientId)
|
||||
.Select(t => new
|
||||
{
|
||||
TheClientId = t.Key,
|
||||
Count = t.Count(),
|
||||
CountClientId = t.Count(t2 => t2.ClientId > 1),
|
||||
LongCount = t.LongCount(),
|
||||
NetSales = t.Sum(t2 => t2.NetSales),
|
||||
TaxAverage = t.Average(t2 => t2.Tax),
|
||||
Sales = t.ToList()
|
||||
});
|
||||
/*
|
||||
var dynamicSyntax = TestData.Sales
|
||||
.GroupBy("ClientId")
|
||||
.Select(t =>
|
||||
{
|
||||
t.PropertyFromKey("TheClientId", "ClientId");
|
||||
t.Count("Count");
|
||||
// don't have to implement right away.
|
||||
t.Count("CountClientId", "ClientId", ConditionOperators.GreaterThan, 1);
|
||||
t.LongCount("LongCount");
|
||||
t.Sum("NetSales");
|
||||
t.Average("TaxAverage", "Tax");
|
||||
t.ToList("Sales");
|
||||
});*/
|
||||
}
|
||||
}
|
||||
}
|
@ -7,15 +7,6 @@ using PoweredSoft.DynamicLinq.Test.Helpers;
|
||||
|
||||
namespace PoweredSoft.DynamicLinq.Test
|
||||
{
|
||||
internal class MockPersonObject
|
||||
{
|
||||
public string FirstName { get; set; }
|
||||
|
||||
public string LastName { get; set; }
|
||||
|
||||
public int Age { get; set; }
|
||||
}
|
||||
|
||||
[TestClass]
|
||||
public class ShortcutTests
|
||||
{
|
||||
|
@ -7,6 +7,31 @@ using System.Threading.Tasks;
|
||||
|
||||
namespace PoweredSoft.DynamicLinq.Test
|
||||
{
|
||||
internal class MockPersonObject
|
||||
{
|
||||
public string FirstName { get; set; }
|
||||
|
||||
public string LastName { get; set; }
|
||||
|
||||
public int Age { get; set; }
|
||||
}
|
||||
|
||||
internal class MockSale
|
||||
{
|
||||
public long Id { get; set; }
|
||||
public long ClientId { get; set; }
|
||||
public MockClient Client { get; set; }
|
||||
public decimal GrossSales { get; set; }
|
||||
public decimal NetSales { get; set; }
|
||||
public decimal Tax { get; set; }
|
||||
}
|
||||
|
||||
internal class MockClient
|
||||
{
|
||||
public long Id { get; set; }
|
||||
public string Name { get; set; }
|
||||
}
|
||||
|
||||
internal static class TestData
|
||||
{
|
||||
static readonly internal List<MockPersonObject> Persons = new List<MockPersonObject>
|
||||
@ -18,6 +43,28 @@ namespace PoweredSoft.DynamicLinq.Test
|
||||
new MockPersonObject { FirstName = "Michael", LastName = "Jackson", Age = 58 }
|
||||
};
|
||||
|
||||
static readonly internal List<MockClient> Clients = new List<MockClient>
|
||||
{
|
||||
new MockClient { Id = 1, Name = "ACME INC."},
|
||||
new MockClient { Id = 2, Name = "MSLINK" },
|
||||
new MockClient { Id = 3, Name = "COOL GUYS TBD"},
|
||||
new MockClient { Id = 4, Name = "SOME LLC YEAH!" }
|
||||
};
|
||||
|
||||
static readonly internal List<MockSale> Sales = new List<MockSale>
|
||||
{
|
||||
new MockSale { Id = 1, ClientId = 1, Client = Clients.First(t => t.Id == 1), GrossSales = 1000M, NetSales = 890.0M, Tax = 20M },
|
||||
new MockSale { Id = 2, ClientId = 1, Client = Clients.First(t => t.Id == 1), GrossSales = 1100M, NetSales = 180.0M, Tax = 0M },
|
||||
new MockSale { Id = 3, ClientId = 2, Client = Clients.First(t => t.Id == 2), GrossSales = 1200M, NetSales = 920.0M, Tax = 3M },
|
||||
new MockSale { Id = 4, ClientId = 2, Client = Clients.First(t => t.Id == 2), GrossSales = 1330M, NetSales = 800.0M, Tax = 120M },
|
||||
new MockSale { Id = 5, ClientId = 1, Client = Clients.First(t => t.Id == 1), GrossSales = 1400M, NetSales = 990.0M, Tax = 20M },
|
||||
new MockSale { Id = 6, ClientId = 3, Client = Clients.First(t => t.Id == 3), GrossSales = 1500M, NetSales = 290.0M, Tax = 200M },
|
||||
new MockSale { Id = 7, ClientId = 3, Client = Clients.First(t => t.Id == 3), GrossSales = 1600M, NetSales = 230.0M, Tax = 240M },
|
||||
new MockSale { Id = 8, ClientId = 3, Client = Clients.First(t => t.Id == 3), GrossSales = 1700M, NetSales = 330.0M, Tax = 210M },
|
||||
new MockSale { Id = 9, ClientId = 1, Client = Clients.First(t => t.Id == 1), GrossSales = 1800M, NetSales = 890.0M, Tax = 290M },
|
||||
new MockSale { Id = 10, ClientId = 4, Client = Clients.First(t => t.Id == 4), GrossSales = 1900M, NetSales = 490.0M, Tax = 270M }
|
||||
};
|
||||
|
||||
static readonly internal List<Post> Posts = new List<Post>()
|
||||
{
|
||||
new Post
|
||||
|
Loading…
Reference in New Issue
Block a user