public static void ParentKey_PropertyGet_EqualsCtorArg() { const string childTableName = "child_table"; const string parentTableName = "parent_table"; const ReferentialAction deleteAction = ReferentialAction.Cascade; const ReferentialAction updateAction = ReferentialAction.SetNull; Identifier keyName = "test_parent_key"; var childKeyMock = new Mock <IDatabaseKey>(); childKeyMock.Setup(k => k.KeyType).Returns(DatabaseKeyType.Foreign); var childKey = childKeyMock.Object; var parentKeyMock = new Mock <IDatabaseKey>(); parentKeyMock.Setup(k => k.KeyType).Returns(DatabaseKeyType.Primary); parentKeyMock.Setup(t => t.Name).Returns(keyName); var parentKey = parentKeyMock.Object; var relationalKey = new MySqlRelationalKey(childTableName, childKey, parentTableName, parentKey, deleteAction, updateAction); Assert.Multiple(() => { Assert.That(relationalKey.ParentKey.Name.UnwrapSome(), Is.EqualTo(keyName)); Assert.That(relationalKey.ParentKey, Is.EqualTo(parentKey)); }); }
public static void ChildTable_PropertyGet_EqualsCtorArg() { const string childTableName = "child_table"; const string parentTableName = "parent_table"; const ReferentialAction deleteAction = ReferentialAction.NoAction; const ReferentialAction updateAction = ReferentialAction.NoAction; var childKeyMock = new Mock <IDatabaseKey>(); childKeyMock.Setup(k => k.KeyType).Returns(DatabaseKeyType.Foreign); var childKey = childKeyMock.Object; var parentKeyMock = new Mock <IDatabaseKey>(); parentKeyMock.Setup(k => k.KeyType).Returns(DatabaseKeyType.Primary); var parentKey = parentKeyMock.Object; var relationalKey = new MySqlRelationalKey(childTableName, childKey, parentTableName, parentKey, deleteAction, updateAction); Assert.That(relationalKey.ChildTable, Is.EqualTo(new Identifier(childTableName))); }
public static void ToString_WhenInvoked_ReturnsExpectedValues( string childTableSchema, string childTableLocal, string childKeyName, string parentTableSchema, string parentTableLocal, string parentKeyName, string expectedResult ) { var childTableName = Identifier.CreateQualifiedIdentifier(childTableSchema, childTableLocal); var childKeyIdentifier = !childKeyName.IsNullOrWhiteSpace() ? Option <Identifier> .Some(Identifier.CreateQualifiedIdentifier(childKeyName)) : Option <Identifier> .None; var parentTableName = Identifier.CreateQualifiedIdentifier(parentTableSchema, parentTableLocal); var parentKeyIdentifier = !parentKeyName.IsNullOrWhiteSpace() ? Option <Identifier> .Some(Identifier.CreateQualifiedIdentifier(parentKeyName)) : Option <Identifier> .None; var childKeyMock = new Mock <IDatabaseKey>(); childKeyMock.Setup(k => k.Name).Returns(childKeyIdentifier); childKeyMock.Setup(k => k.KeyType).Returns(DatabaseKeyType.Foreign); var parentKeyMock = new Mock <IDatabaseKey>(); parentKeyMock.Setup(k => k.Name).Returns(parentKeyIdentifier); parentKeyMock.Setup(k => k.KeyType).Returns(DatabaseKeyType.Primary); const ReferentialAction deleteAction = ReferentialAction.NoAction; const ReferentialAction updateAction = ReferentialAction.NoAction; var key = new MySqlRelationalKey(childTableName, childKeyMock.Object, parentTableName, parentKeyMock.Object, deleteAction, updateAction); var result = key.ToString(); Assert.That(result, Is.EqualTo(expectedResult)); }