public async Task CreateSpecificationDatasetRelationshipDelegatesToGraphRepository()
        {
            string specificationId = NewRandomString();
            string datasetId       = NewRandomString();

            await _specificationRepository.CreateSpecificationDatasetRelationship(specificationId,
                                                                                  datasetId);

            await ThenTheRelationshipWasCreated <Specification, Dataset>(AttributeConstants.SpecificationDatasetRelationship,
                                                                         (AttributeConstants.SpecificationId, specificationId),
                                                                         (AttributeConstants.DatasetId, datasetId));

            await AndTheRelationshipWasCreated <Dataset, Specification>(AttributeConstants.DatasetSpecificationRelationship,
                                                                        (AttributeConstants.DatasetId, datasetId),
                                                                        (AttributeConstants.SpecificationId, specificationId));
        }
        public async Task UpsertCalculationDataFieldRelationshipDelegatesToGraphRepository()
        {
            string calculationAId = NewRandomString();
            string dataFieldId    = NewRandomString();

            await _calculationRepository.UpsertCalculationDataFieldRelationship(calculationAId,
                                                                                dataFieldId);

            await ThenTheRelationshipWasCreated <Calculation, DataField>(AttributeConstants.CalculationDataFieldRelationshipId,
                                                                         (AttributeConstants.CalculationId, calculationAId),
                                                                         (AttributeConstants.DataFieldId, dataFieldId));

            await AndTheRelationshipWasCreated <DataField, Calculation>(AttributeConstants.DataFieldCalculationRelationship,
                                                                        (AttributeConstants.DataFieldId, dataFieldId),
                                                                        (AttributeConstants.CalculationId, calculationAId));
        }
        public async Task UpsertCalculationCalculationRelationship_GivenValidCalculationAndCalculation_ExpectedMethodsCalled()
        {
            string calculationAId = NewRandomString();
            string calculationBId = NewRandomString();

            await _calculationRepository.UpsertCalculationCalculationRelationship(calculationAId,
                                                                                  calculationBId);

            await ThenTheRelationshipWasCreated <Calculation, Calculation>(AttributeConstants.CalculationACalculationBRelationship,
                                                                           (AttributeConstants.CalculationId, calculationAId),
                                                                           (AttributeConstants.CalculationId, calculationBId));

            await AndTheRelationshipWasCreated <Calculation, Calculation>(AttributeConstants.CalculationBCalculationARelationship,
                                                                          (AttributeConstants.CalculationId, calculationBId),
                                                                          (AttributeConstants.CalculationId, calculationAId));
        }
        public async Task CreateDataDefinitionDatasetRelationshipDelegatesToGraphRepository()
        {
            string definitionId = NewRandomString();
            string datasetId    = NewRandomString();

            await _datasetRepository.UpsertDataDefinitionDatasetRelationship(definitionId,
                                                                             datasetId);

            await ThenTheRelationshipWasCreated <DatasetDefinition, Dataset>(AttributeConstants.DatasetDefinitionDatasetRelationshipId,
                                                                             (AttributeConstants.DatasetDefinitionId, definitionId),
                                                                             (AttributeConstants.DatasetId, datasetId));

            await AndTheRelationshipWasCreated <Dataset, DatasetDefinition>(AttributeConstants.DatasetDatasetDefinitionRelationshipId,
                                                                            (AttributeConstants.DatasetId, datasetId),
                                                                            (AttributeConstants.DatasetDefinitionId, definitionId));
        }