public void CanAddAnAlpacaToHerd_v0() // TODO: REF { // Arrange var expectedAlpaca = new { Name = "Henry", Sex = Sex.Male, DateOfBirth = new DateTime(2007, 7, 8), MarketValue = 10000 }; var sut = new HerdService(TestContext.DbContextFactory); // Act // ------------------------------------------------------------------- Guid alpacaId = sut.AddAlpaca(expectedAlpaca.Name, expectedAlpaca.Sex, expectedAlpaca.DateOfBirth, expectedAlpaca.MarketValue); // ------------------------------------------------------------------- // Assert Alpaca actualAlpaca; using (var dbContext = TestContext.DbContextFactory.CreateDbContext()) { actualAlpaca = dbContext.Alpacas.Find(alpacaId); } Assert.Equal(expectedAlpaca.Name, actualAlpaca.Name); Assert.Equal(expectedAlpaca.Sex, actualAlpaca.Sex); Assert.Equal(expectedAlpaca.DateOfBirth, actualAlpaca.DateOfBirth); Assert.Equal(expectedAlpaca.MarketValue, actualAlpaca.MarketValue); }
static void Main(string[] args) { m_herdService = new HerdService(); m_herdService.DoStart(); while (true) { } }
public void CanInitializeService() // TODO: Ref { // Arrange HerdService herdService; // Act // --------------------------------------------------------- herdService = new HerdService(TestContext.DbContextFactory); // --------------------------------------------------------- // Assert Assert.NotNull(herdService); }
public void CanAddMultipleAlpacasToHerdAsync_v1() // TODO: REF { // Arrange var expectedAlpacas = new[] { new { Name = "Henry", Sex = Sex.Male, DateOfBirth = new DateTime(2007, 7, 8), MarketValue = 10000 } , new { Name = "Henrietta", Sex = Sex.Female, DateOfBirth = new DateTime(2007, 11, 13), MarketValue = 8000 } , new { Name = "Jo", Sex = Sex.Female, DateOfBirth = new DateTime(2008, 1, 8), MarketValue = 7000 } }; var sut = new HerdService(TestContext.DbContextFactory); const int expectedDbOperationCount = 3; // Act Guid[] alpacaIds = new Guid[0]; var log = TestContext.Collect(() => { // -------------------------------------------------------------------- alpacaIds = Task.WhenAll( sut.AddAlpacaAsync(expectedAlpacas[0].Name, expectedAlpacas[0].Sex, expectedAlpacas[0].DateOfBirth, expectedAlpacas[0].MarketValue), sut.AddAlpacaAsync(expectedAlpacas[1].Name, expectedAlpacas[1].Sex, expectedAlpacas[1].DateOfBirth, expectedAlpacas[1].MarketValue), sut.AddAlpacaAsync(expectedAlpacas[2].Name, expectedAlpacas[2].Sex, expectedAlpacas[2].DateOfBirth, expectedAlpacas[2].MarketValue) ).GetAwaiter().GetResult(); // -------------------------------------------------------------------- return(LogCollectorProvider.GetCorrelationId()); }); TestContext.Attach(log); // Assert for (int i = 0; i < expectedAlpacas.Length; i++) { Alpaca actualAlpaca; using (var dbContext = TestContext.DbContextFactory.CreateDbContext()) { actualAlpaca = dbContext.Alpacas.Find(alpacaIds[i]); } Assert.Equal(expectedAlpacas[i].Name, actualAlpaca.Name); Assert.Equal(expectedAlpacas[i].Sex, actualAlpaca.Sex); Assert.Equal(expectedAlpacas[i].DateOfBirth, actualAlpaca.DateOfBirth); Assert.Equal(expectedAlpacas[i].MarketValue, actualAlpaca.MarketValue); } Assert.Equal(expectedDbOperationCount, GetLogEntryCount(log, LogCategories.EfDbCommand)); // Expected to fail - operations not captured properly. }
public void CanAddMultipleAlpacasToHerd_v1() // TODO: Ref { // Arrange var expectedAlpacas = new[] { new { Name = "Henry", Sex = Sex.Male, DateOfBirth = new DateTime(2007, 7, 8), MarketValue = 10000 } , new { Name = "Henrietta", Sex = Sex.Female, DateOfBirth = new DateTime(2007, 11, 13), MarketValue = 8000 } , new { Name = "Jo", Sex = Sex.Female, DateOfBirth = new DateTime(2008, 1, 8), MarketValue = 7000 } }; var sut = new HerdService(TestContext.DbContextFactory); const int expectedDbOperationCount = 3; // Act Guid[] alpacaIds = new Guid[3]; var log = TestContext.Collect(() => { // -------------------------------------------------------------------- alpacaIds[0] = sut.AddAlpaca(expectedAlpacas[0].Name, expectedAlpacas[0].Sex, expectedAlpacas[0].DateOfBirth, expectedAlpacas[0].MarketValue); alpacaIds[1] = sut.AddAlpaca(expectedAlpacas[1].Name, expectedAlpacas[1].Sex, expectedAlpacas[1].DateOfBirth, expectedAlpacas[1].MarketValue); alpacaIds[2] = sut.AddAlpaca(expectedAlpacas[2].Name, expectedAlpacas[2].Sex, expectedAlpacas[2].DateOfBirth, expectedAlpacas[2].MarketValue); // -------------------------------------------------------------------- return(LogCollectorProvider.GetCorrelationId()); }); TestContext.Attach(log); // Assert for (int i = 0; i < expectedAlpacas.Length; i++) { Alpaca actualAlpaca; using (var dbContext = TestContext.DbContextFactory.CreateDbContext()) { actualAlpaca = dbContext.Alpacas.Find(alpacaIds[i]); } Assert.Equal(expectedAlpacas[i].Name, actualAlpaca.Name); Assert.Equal(expectedAlpacas[i].Sex, actualAlpaca.Sex); Assert.Equal(expectedAlpacas[i].DateOfBirth, actualAlpaca.DateOfBirth); Assert.Equal(expectedAlpacas[i].MarketValue, actualAlpaca.MarketValue); } }
public void CanAddAnAlpacaToHerdAsync_v1() { // Arrange var expectedAlpaca = new { Name = "Henry", Sex = Sex.Male, DateOfBirth = new DateTime(2007, 7, 8), MarketValue = 10000 }; var sut = new HerdService(TestContext.DbContextFactory); const int expectedDbOperations = 1; // Act Guid alpacaId = new Guid(); var log = TestContext.Collect(() => { // ------------------------------------------------------------------- alpacaId = sut.AddAlpacaAsync(expectedAlpaca.Name, expectedAlpaca.Sex, expectedAlpaca.DateOfBirth, expectedAlpaca.MarketValue) .GetAwaiter().GetResult(); // ------------------------------------------------------------------- return(LogCollectorProvider.GetCorrelationId()); }); TestContext.Attach(log); // Assert Alpaca actualAlpaca; using (var dbContext = TestContext.DbContextFactory.CreateDbContext()) { actualAlpaca = dbContext.Alpacas.Find(alpacaId); } Assert.Equal(expectedAlpaca.Name, actualAlpaca.Name); Assert.Equal(expectedAlpaca.Sex, actualAlpaca.Sex); Assert.Equal(expectedAlpaca.DateOfBirth, actualAlpaca.DateOfBirth); Assert.Equal(expectedAlpaca.MarketValue, actualAlpaca.MarketValue); Assert.Equal(expectedDbOperations, GetLogEntryCount(log, LogCategories.EfDbCommand)); }
public void CanCalculateHerdValue_v2() // TODO: REF { // Arrange decimal expectedTotal = 43300; decimal actualTotal; HerdService sut = new HerdService(TestContext.DbContextFactory); const int expectedDbOperations = 1; // Act TestContext.StartCollect(); // ------------------------------------- actualTotal = sut.CalculateTotalValue(); // ------------------------------------- var log = TestContext.EndCollect(); TestContext.Attach(log); // Assert Assert.Equal(expectedTotal, actualTotal); Assert.Equal(expectedDbOperations, GetLogEntryCount(log, LogCategories.EfDbCommand)); }
public void CanCalculateHerdValue_v1() // TODO: REF { // Arrange decimal expectedTotal = 43300; decimal? actualTotal = null; HerdService sut = new HerdService(TestContext.DbContextFactory); // Act var log = TestContext.Collect(() => { // ------------------------------------- actualTotal = sut.CalculateTotalValue(); // ------------------------------------- return(LogCollectorProvider.GetCorrelationId()); }); TestContext.Attach(log); // Assert Assert.Equal(expectedTotal, actualTotal); }
public void CanAddAnAlpacaToHerd_v1() // TODO: Ref { // Arrange var expectedAlpaca = new { Name = "Henry", Sex = Sex.Male, DateOfBirth = new DateTime(2007, 7, 8), MarketValue = 10000 }; var sut = new HerdService(TestContext.DbContextFactory); // Act Guid alpacaId = new Guid(); var log = TestContext.Collect(() => { // ------------------------------------------------------------------- alpacaId = sut.AddAlpaca(expectedAlpaca.Name, expectedAlpaca.Sex, expectedAlpaca.DateOfBirth, expectedAlpaca.MarketValue); // ------------------------------------------------------------------- return(LogCollectorProvider.GetCorrelationId()); }); TestContext.Attach(log); // Assert Alpaca actualAlpaca; using (var dbContext = TestContext.DbContextFactory.CreateDbContext()) { actualAlpaca = dbContext.Alpacas.Find(alpacaId); } Assert.Equal(expectedAlpaca.Name, actualAlpaca.Name); Assert.Equal(expectedAlpaca.Sex, actualAlpaca.Sex); Assert.Equal(expectedAlpaca.DateOfBirth, actualAlpaca.DateOfBirth); Assert.Equal(expectedAlpaca.MarketValue, actualAlpaca.MarketValue); }
public void CanCalculateHerdValueAsync_v1() // TODO: REF { // Arrange decimal expectedTotal = 43300; decimal? actualTotal = null; HerdService sut = new HerdService(TestContext.DbContextFactory); const int expectedDbOperations = 1; // Act var log = TestContext.Collect(() => { // ----------------------------------------- actualTotal = sut.CalculateTotalValueAsync() .GetAwaiter().GetResult(); // ----------------------------------------- return(LogCollectorProvider.GetCorrelationId()); }); TestContext.Attach(log); // Assert Assert.Equal(expectedTotal, actualTotal); Assert.Equal(expectedDbOperations, GetLogEntryCount(log, LogCategories.EfDbCommand)); // Expected to fail - operations not captured properly. }