public void GetRegularColumns_NonAutoPrimaryKey_Test() { // Arrange var table = new ManualKeyPrimaryTable {Key1 = "ABCD", Key2 = 7}; var typeGeneratorMock = Helpers.GetTypeGeneratorMock(table); var recordReference = new RecordReference<ManualKeyPrimaryTable>(typeGeneratorMock.Object, this.attributeDecorator); recordReference.Populate(); var insertRecordService = new InsertRecordService(recordReference, this.attributeDecorator, InsertRecordServiceTest.IsKeyReferenceCheckEnforced); // Act List<Column> regularColumns = insertRecordService.GetRegularColumns(null).ToList(); // Assert Assert.AreEqual(2, regularColumns.Count); Column stringKey = regularColumns.First(c => c.Name == "Key1"); Column intKey = regularColumns.First(c => c.Name == "Key2"); Assert.AreEqual(table.Key1, stringKey.Value); Assert.AreEqual(table.Key2, intKey.Value); }
public void GetRegularColumns_WriteGuid_Test() { // Arrange var table = new ClassWithGuidKeys(); Mock<ITypeGenerator> typeGeneratorMock = Helpers.GetTypeGeneratorMock(table); var recordReference = new RecordReference<ClassWithGuidKeys>(typeGeneratorMock.Object, this.attributeDecorator); recordReference.Populate(); var insertRecordService = new InsertRecordService(recordReference, this.attributeDecorator, InsertRecordServiceTest.IsKeyReferenceCheckEnforced); Variable v1, v2, v3; this.writerMock.Setup(m => m.WriteGuid("Key1")).Returns(v1 = new Variable("x")); this.writerMock.Setup(m => m.WriteGuid("Key3")).Returns(v2 = new Variable("y")); this.writerMock.Setup(m => m.WriteGuid("Key4")).Returns(v3 = new Variable("z")); // Act List<Column> regularColumns = insertRecordService.GetRegularColumns(this.writerMock.Object).ToList(); // Assert this.writerMock.Verify(m => m.WriteGuid(It.IsAny<string>()), Times.Exactly(3)); Column key1 = regularColumns.First(c => c.Name == "Key1"); Column key3 = regularColumns.First(c => c.Name == "Key3"); Column key4 = regularColumns.First(c => c.Name == "Key4"); Assert.AreEqual(v1, key1.Value); Assert.AreEqual(v2, key3.Value); Assert.AreEqual(v3, key4.Value); }
public void GetRegularColumns_ExplicitlySetGuid_Test() { // Arrange var table = new ClassWithGuidKeys {Key1 = Guid.NewGuid(), Key3 = Guid.NewGuid(), Key4 = null}; Mock<ITypeGenerator> typeGeneratorMock = Helpers.GetTypeGeneratorMock(table); var recordReference = new RecordReference<ClassWithGuidKeys>(typeGeneratorMock.Object, this.attributeDecorator); recordReference.Set(r => r.Key1, Guid.Empty).Set(r => r.Key3, Guid.Empty).Set(r => r.Key4, Guid.Empty); recordReference.Populate(); var insertRecordService = new InsertRecordService(recordReference, this.attributeDecorator, InsertRecordServiceTest.IsKeyReferenceCheckEnforced); // Act List<Column> regularColumns = insertRecordService.GetRegularColumns(null).ToList(); // Assert Column key1 = regularColumns.First(c => c.Name == "Key1"); Column key3 = regularColumns.First(c => c.Name == "Key3"); Column key4 = regularColumns.First(c => c.Name == "Key4"); Assert.AreEqual(table.Key1, key1.Value); Assert.AreEqual(table.Key3, key3.Value); Assert.AreEqual(null, key4.Value); }