public void GetReference_DoesNotExist_ReturnsNull() { // Arrange var sourceComponentType = "ST"; var sourceKey = "source-1"; var sourceId = "source-id-1"; var targetComponentType = "TT"; var targetKey = "target-2"; var targetId = "target-id-2"; var relationType = "my-rel"; var componentModel = "my-comp-model"; var workspace = new Workspace("MyWorkspace", null) { Id = "454923f0-b1b0-48b3-9015-251dad9b4cea", ComponentModel = componentModel }; var internalmodel = new global::Ardoq.Models.Model( "model-id", "MyModel", null, null, new Dictionary <string, int> { ["my-rel"] = 1 }); IArdoqModel model = new ArdoqModel(internalmodel); _readerMock.Setup(r => r.GetWorkspaceById(workspace.Id)) .Returns(Task.FromResult(workspace)); _readerMock.Setup(r => r.GetModelById(componentModel)) .Returns(Task.FromResult(model)); var sourceComponent = new Component(sourceKey, workspace.Id, null) { Type = sourceComponentType, Id = sourceId }; var targetComponent = new Component(targetKey, workspace.Id, null) { Type = targetComponentType, Id = targetId }; _readerMock.Setup(r => r.GetAllComponents(workspace.Id)) .Returns(Task.FromResult <IEnumerable <Component> >(new List <Component> { sourceComponent, targetComponent })); _readerMock.Setup(r => r.GetReferencesById(workspace.Id)) .Returns(Task.FromResult(new List <Reference>())); var session = new ArdoqSession(workspace.Id, _readerMock.Object, _writerMock.Object); // Act var relation = session.GetReference(relationType, sourceComponentType, sourceKey, targetComponentType, targetKey); // Assert Assert.Null(relation); }