public void Data_DatabaseWriter_CountAny() { var db = DatabaseWriter <CustomerType> .Construct(); // GetAll() count and any var resultsAll = db.GetAll(); Assert.IsTrue(resultsAll.Count() > 0); Assert.IsTrue(resultsAll.Any()); // GetAll().Take(1) count and any var resultsTake = db.GetAll().Take(1); Assert.IsTrue(resultsTake.Count() == 1); Assert.IsTrue(resultsTake.Any()); // Get an ID to test var id = db.GetAllExcludeDefault().FirstOrDefaultSafe().ID; Assert.IsTrue(id != TypeExtension.DefaultInteger); // GetAll().Where count and any var resultsWhere = db.GetAll().Where(x => x.ID == id); Assert.IsTrue(resultsWhere.Count() > 0); Assert.IsTrue(resultsWhere.Any()); }
public void Data_DatabaseWriter_RepeatingQueries() { var dbWriter = DatabaseWriter <CustomerInfo> .Construct(); var customer = new CustomerInfo(); // Multiple Gets var a = dbWriter.GetAll().ToList(); var aCount = a.Count; var b = dbWriter.GetAll().ToList(); var bCount = b.Count; // datastore.Save customer = dbWriter.GetByID(a.FirstOrDefaultSafe().ID); customer.FirstName = DateTime.UtcNow.Ticks.ToString(); dbWriter = DatabaseWriter <CustomerInfo> .Construct(customer); dbWriter.Save(); // Save check var c = dbWriter.GetAll().ToList(); var cCount = c.Count; Assert.IsTrue(aCount == bCount && bCount == cCount); // customer.save customer.Update(); // Multiple Gets var x = dbWriter.GetAll().ToList(); var xCount = x.Count; var y = dbWriter.GetAll().ToList(); var yCount = y.Count; var z = dbWriter.GetAll().ToList(); var zCount = z.Count; Assert.IsTrue(xCount == yCount && yCount == zCount); }
public void Data_DatabaseWriter_Update() { var testEntity = new CustomerInfo(); var saver = DatabaseWriter <CustomerInfo> .Construct(); var oldFirstName = TypeExtension.DefaultString; var newFirstName = DateTime.UtcNow.Ticks.ToString(); int entityID = TypeExtension.DefaultInteger; var entityKey = TypeExtension.DefaultGuid; // Create and capture original data this.Data_DatabaseWriter_Insert(); testEntity = saver.GetAll().OrderByDescending(x => x.CreatedDate).FirstOrDefaultSafe(); oldFirstName = testEntity.FirstName; entityID = testEntity.ID; entityKey = testEntity.Key; testEntity.FirstName = newFirstName; Assert.IsTrue(testEntity.IsNew == false); Assert.IsTrue(testEntity.ID != TypeExtension.DefaultInteger); Assert.IsTrue(testEntity.Key != TypeExtension.DefaultGuid); // Do Update saver = DatabaseWriter <CustomerInfo> .Construct(testEntity); saver.Save(); // Pull from DB and retest testEntity = saver.GetByID(entityID); Assert.IsTrue(testEntity.IsNew == false); Assert.IsTrue(testEntity.ID == entityID); Assert.IsTrue(testEntity.Key == entityKey); Assert.IsTrue(testEntity.ID != TypeExtension.DefaultInteger); Assert.IsTrue(testEntity.Key != TypeExtension.DefaultGuid); }
public void Data_DatabaseWriter_Delete() { var dbWriter = DatabaseWriter <CustomerInfo> .Construct(); var testEntity = new CustomerInfo(); var oldID = TypeExtension.DefaultInteger; var oldKey = TypeExtension.DefaultGuid; // Insert and baseline test this.Data_DatabaseWriter_Insert(); testEntity = dbWriter.GetAll().OrderByDescending(x => x.CreatedDate).FirstOrDefaultSafe(); oldID = testEntity.ID; oldKey = testEntity.Key; Assert.IsTrue(testEntity.IsNew == false); Assert.IsTrue(testEntity.ID != TypeExtension.DefaultInteger); Assert.IsTrue(testEntity.Key != TypeExtension.DefaultGuid); // Do delete dbWriter = DatabaseWriter <CustomerInfo> .Construct(testEntity); dbWriter.Delete(); // Pull from DB and retest testEntity = dbWriter.GetAll().Where(x => x.ID == oldID).FirstOrDefaultSafe(); Assert.IsTrue(testEntity.IsNew); Assert.IsTrue(testEntity.ID != oldID); Assert.IsTrue(testEntity.Key != oldKey); Assert.IsTrue(testEntity.IsNew); Assert.IsTrue(testEntity.Key == TypeExtension.DefaultGuid); // Add to recycle bin for cleanup DatabaseWriterTests.RecycleBin.Add(testEntity.ID); }
public void Data_DatabaseWriter_GetWhere() { // Plain EntityInfo object var testData2 = DatabaseWriter <CustomerInfo> .Construct(); var testEntity2 = new CustomerInfo(); var testId2 = testData2.GetAllExcludeDefault().FirstOrDefaultSafe().ID; testEntity2 = testData2.GetAll().Where(x => x.ID == testId2).FirstOrDefaultSafe(); Assert.IsTrue(testEntity2.IsNew == false); Assert.IsTrue(testEntity2.ID != TypeExtension.DefaultInteger); Assert.IsTrue(testEntity2.Key != TypeExtension.DefaultGuid); // CrudEntity object this.Data_DatabaseWriter_Insert(); var testData = DatabaseWriter <CustomerInfo> .Construct(); var testEntity = new CustomerInfo(); var testId = testData.GetAllExcludeDefault().FirstOrDefaultSafe().ID; testEntity = testData.GetAll().Where(x => x.ID == testId).FirstOrDefaultSafe(); Assert.IsTrue(testEntity.IsNew == false); Assert.IsTrue(testEntity.ID != TypeExtension.DefaultInteger); Assert.IsTrue(testEntity.Key != TypeExtension.DefaultGuid); }
public void Data_DatabaseWriter_GetByID() { var custData = DatabaseWriter <CustomerInfo> .Construct(); var custEntity = new CustomerInfo(); var randomID = custData.GetAll().FirstOrDefaultSafe().ID; var randomID2 = custData.GetAll().OrderByDescending(x => x.ID).FirstOrDefaultSafe().ID; // GetByID var custGetByID = custData.GetByID(randomID); var custFirstName = custGetByID.FirstName; Assert.IsTrue(custGetByID.ID != TypeExtension.DefaultInteger); Assert.IsTrue(custGetByID.Key != TypeExtension.DefaultGuid); // By custom where var fname = custData.GetAll().Where(y => y.FirstName == custFirstName); Assert.IsTrue(fname.Any()); var fnEntity = fname.FirstOrDefaultSafe(); Assert.IsTrue(fnEntity.IsNew == false); Assert.IsTrue(fnEntity.FirstName != TypeExtension.DefaultString); // Where 1 record custEntity = custData.GetAll().Take(1).FirstOrDefaultSafe(); Assert.IsTrue(custEntity.ID == randomID); Assert.IsTrue(custEntity.IsNew == false); }
public static void Cleanup() { var db = DatabaseWriter <CustomerInfo> .Construct(); foreach (int item in CrudEntityTests.RecycleBin) { db.GetByID(item).Delete(); } }
public static void Cleanup() { var dbWriter = DatabaseWriter <CustomerInfo> .Construct(); var toDelete = new CustomerInfo(); foreach (int item in DatabaseWriterTests.RecycleBin) { toDelete = dbWriter.GetAll().Where(x => x.ID == item).FirstOrDefaultSafe(); dbWriter = DatabaseWriter <CustomerInfo> .Construct(toDelete); dbWriter.Delete(); } }
public void Data_DatabaseWriter_GetByKey() { // Should create 1 record var custData = DatabaseWriter <CustomerInfo> .Construct(); var custCount = custData.GetAll().Count(); Assert.IsTrue(custCount > 0); // ByKey Should return 1 record var existingKey = custData.GetAll().FirstOrDefaultSafe().Key; var custWhereKey = custData.GetByKey(existingKey); Assert.IsTrue(custWhereKey.Key == existingKey); Assert.IsTrue(custWhereKey.ID != TypeExtension.DefaultInteger); }
public void Data_DatabaseWriter_GetAll() { var typeDB = DatabaseWriter <CustomerType> .Construct(); var typeResults = typeDB.GetAll().Take(1); Assert.IsTrue(typeResults.Count() > 0); this.Data_DatabaseWriter_Insert(); var custDB = DatabaseWriter <CustomerInfo> .Construct(); var custResults = custDB.GetAll().Take(1); Assert.IsTrue(custResults.Count() > 0); }
public void Data_DatabaseWriter_Insert() { var dataStore = DatabaseWriter <CustomerInfo> .Construct(); var testEntity = new CustomerInfo(); var resultEntity = new CustomerInfo(); var oldID = TypeExtension.DefaultInteger; var oldKey = TypeExtension.DefaultGuid; var newID = TypeExtension.DefaultInteger; var newKey = TypeExtension.DefaultGuid; // Create and insert record testEntity.Fill(testEntities[Arithmetic.Random(1, 5)]); oldID = testEntity.ID; oldKey = testEntity.Key; Assert.IsTrue(testEntity.IsNew); Assert.IsTrue(testEntity.IsNew); Assert.IsTrue(testEntity.Key == TypeExtension.DefaultGuid); // Do Insert and check passed entity and returned entity dataStore = DatabaseWriter <CustomerInfo> .Construct(testEntity); resultEntity = dataStore.Save(SaveBehaviors.InsertOnly); Assert.IsTrue(testEntity.ID != TypeExtension.DefaultInteger); Assert.IsTrue(resultEntity.ID != TypeExtension.DefaultInteger); Assert.IsTrue(resultEntity.Key != TypeExtension.DefaultGuid); // Pull from DB and retest testEntity = dataStore.GetByID(resultEntity.ID); Assert.IsTrue(testEntity.IsNew == false); Assert.IsTrue(testEntity.ID != oldID); Assert.IsTrue(testEntity.Key != oldKey); Assert.IsTrue(testEntity.ID != TypeExtension.DefaultInteger); Assert.IsTrue(testEntity.Key != TypeExtension.DefaultGuid); // Cleanup DatabaseWriterTests.RecycleBin.Add(testEntity.ID); }