public void ModelFactory_Contract_ContractWithProductsAndFees_IsConverted()
        {
            Contract contractModel = TestData.ContractModelWithProductsAndTransactionFees;

            ModelFactory modelFactory = new ModelFactory();

            ContractResponse contractResponse = modelFactory.ConvertFrom(contractModel);

            contractResponse.ShouldNotBeNull();
            contractResponse.EstateId.ShouldBe(contractModel.EstateId);
            contractResponse.OperatorId.ShouldBe(contractModel.OperatorId);
            contractResponse.ContractId.ShouldBe(contractModel.ContractId);
            contractResponse.Description.ShouldBe(contractModel.Description);
            contractResponse.Products.ShouldNotBeNull();
            contractResponse.Products.ShouldHaveSingleItem();
            
            ContractProduct contractProduct = contractResponse.Products.Single();
            Product expectedContractProduct = contractModel.Products.Single();

            contractProduct.ProductId.ShouldBe(expectedContractProduct.ProductId);
            contractProduct.Value.ShouldBe(expectedContractProduct.Value);
            contractProduct.DisplayText.ShouldBe(expectedContractProduct.DisplayText);
            contractProduct.Name.ShouldBe(expectedContractProduct.Name);
            contractProduct.TransactionFees.ShouldNotBeNull();
            contractProduct.TransactionFees.ShouldHaveSingleItem();

            ContractProductTransactionFee productTransactionFee = contractProduct.TransactionFees.Single();
            ContractProductTransactionFee expectedProductTransactionFee = contractProduct.TransactionFees.Single();

            productTransactionFee.TransactionFeeId.ShouldBe(expectedProductTransactionFee.TransactionFeeId);
            productTransactionFee.Value.ShouldBe(expectedProductTransactionFee.Value);
            productTransactionFee.CalculationType.ShouldBe(expectedProductTransactionFee.CalculationType);
            productTransactionFee.Description.ShouldBe(expectedProductTransactionFee.Description);
        }
        public void ModelFactory_Contract_ContractOnly_IsConverted()
        {
            Contract contractModel = TestData.ContractModel;

            ModelFactory modelFactory = new ModelFactory();

            ContractResponse contractResponse = modelFactory.ConvertFrom(contractModel);

            contractResponse.ShouldNotBeNull();
            contractResponse.EstateId.ShouldBe(contractModel.EstateId);
            contractResponse.OperatorId.ShouldBe(contractModel.OperatorId);
            contractResponse.OperatorName.ShouldBe(contractModel.OperatorName);
            contractResponse.ContractId.ShouldBe(contractModel.ContractId);
            contractResponse.Description.ShouldBe(contractModel.Description);
            contractResponse.Products.ShouldBeNull();
        }