public async void TestOneToOneRecursiveInsertOrReplaceGuidAsync() { var conn = Utils.CreateAsyncConnection(); await conn.DropTableAsync<PassportGuid>(); await conn.DropTableAsync<PersonGuid>(); await conn.CreateTableAsync<PassportGuid>(); await conn.CreateTableAsync<PersonGuid>(); var person = new PersonGuid { Identifier = Guid.NewGuid(), Name = "John", Surname = "Smith", Passport = new PassportGuid { Id = Guid.NewGuid(), PassportNumber = "JS123456" } }; // Insert the elements in the database recursively await conn.InsertOrReplaceWithChildrenAsync(person, recursive: true); var obtainedPerson = await conn.FindAsync<PersonGuid>(person.Identifier); var obtainedPassport = await conn.FindAsync<PassportGuid>(person.Passport.Id); Assert.NotNull(obtainedPerson); Assert.NotNull(obtainedPassport); Assert.That(obtainedPerson.Name, Is.EqualTo(person.Name)); Assert.That(obtainedPerson.Surname, Is.EqualTo(person.Surname)); Assert.That(obtainedPassport.PassportNumber, Is.EqualTo(person.Passport.PassportNumber)); Assert.That(obtainedPassport.OwnerId, Is.EqualTo(person.Identifier)); var newPerson = new PersonGuid { Identifier = person.Identifier, Name = "John", Surname = "Smith", Passport = new PassportGuid { Id = person.Passport.Id, PassportNumber = "JS123456" } }; person = newPerson; // Replace the elements in the database recursively await conn.InsertOrReplaceWithChildrenAsync(person, recursive: true); obtainedPerson = await conn.FindAsync<PersonGuid>(person.Identifier); obtainedPassport = await conn.FindAsync<PassportGuid>(person.Passport.Id); Assert.NotNull(obtainedPerson); Assert.NotNull(obtainedPassport); Assert.That(obtainedPerson.Name, Is.EqualTo(person.Name)); Assert.That(obtainedPerson.Surname, Is.EqualTo(person.Surname)); Assert.That(obtainedPassport.PassportNumber, Is.EqualTo(person.Passport.PassportNumber)); Assert.That(obtainedPassport.OwnerId, Is.EqualTo(person.Identifier)); }
public void TestGuidIdType() { // ARRANGE var grandpaId = Guid.NewGuid(); var dadId = Guid.NewGuid(); var uncleId = Guid.NewGuid(); var cousinId = Guid.NewGuid(); var sisterId = Guid.NewGuid(); var meId = Guid.NewGuid(); var grandpa = new PersonGuid { Id = grandpaId, Name = "Richard" }; var dad = new PersonGuid { Id = dadId, ParentId = grandpaId, Name = "Richard Jr." }; var uncle = new PersonGuid { Id = uncleId, ParentId = grandpaId, Name = "John" }; var cousin = new PersonGuid { Id = cousinId, ParentId = uncleId, Name = "Ann" }; var sister = new PersonGuid { Id = sisterId, ParentId = dadId, Name = "Jane" }; var me = new PersonGuid { Id = meId, ParentId = dadId, Name = "MeMyselfAndI" }; var familyMembers = new List <PersonGuid> { sister, dad, uncle, grandpa, me, cousin }; // ACTION var familyTree = TreeNode <Guid, PersonGuid> .CreateTree(familyMembers); // ASSERT Assert.NotNull(familyTree); // _grandpa is the root Person Assert.True(familyTree == grandpa); // _grandpa has two children (_dad and _uncle) Assert.True(familyTree.Children.Count == 2); Assert.True(familyTree.Children[0] == dad); Assert.True(familyTree.Children[0].Parent == grandpa); Assert.True(familyTree.Children[1] == uncle); Assert.True(familyTree.Children[1].Parent == grandpa); // _dad has two children (_me and _sister) Assert.True(familyTree.Children[0].Children.Count == 2); Assert.True(familyTree.Children[0].Children[0] == sister); Assert.True(familyTree.Children[0].Children[0].Parent == dad); Assert.True(familyTree.Children[0].Children[1] == me); Assert.True(familyTree.Children[0].Children[1].Parent == dad); // _uncle has one child (_cousin) Assert.True(familyTree.Children[1].Children.Count == 1); Assert.True(familyTree.Children[1].Children[0] == cousin); Assert.True(familyTree.Children[1].Children[0].Parent == uncle); Assert.True(grandpa.Root == null); Assert.True(dad.Root == grandpa); Assert.True(uncle.Root == grandpa); Assert.True(sister.Root == grandpa); Assert.True(me.Root == grandpa); Assert.True(cousin.Root == grandpa); Assert.True(grandpa.ParentId == Guid.Empty); }
public void TestOneToOneRecursiveInsertGuid() { var conn = Utils.CreateConnection(); conn.DropTable<PassportGuid>(); conn.DropTable<PersonGuid>(); conn.CreateTable<PassportGuid>(); conn.CreateTable<PersonGuid>(); var person = new PersonGuid { Identifier = Guid.NewGuid(), Name = "John", Surname = "Smith", Passport = new PassportGuid { Id = Guid.NewGuid(), PassportNumber = "JS123456" } }; // Insert the elements in the database recursively conn.InsertWithChildren(person, recursive: true); var obtainedPerson = conn.Find<PersonGuid>(person.Identifier); var obtainedPassport = conn.Find<PassportGuid>(person.Passport.Id); Assert.NotNull(obtainedPerson); Assert.NotNull(obtainedPassport); Assert.That(obtainedPerson.Name, Is.EqualTo(person.Name)); Assert.That(obtainedPerson.Surname, Is.EqualTo(person.Surname)); Assert.That(obtainedPassport.PassportNumber, Is.EqualTo(person.Passport.PassportNumber)); Assert.That(obtainedPassport.OwnerId, Is.EqualTo(person.Identifier)); }