GetConfigurationById_WhenCalledWithConfigurationWhichExistsInBothLayers_ReturnsTopLayerConfiguration( ILayer initialLayer, ILayer topLayer, ConfigurationLayerManager manager) { //arrange var configurationId = "Test"; var expectedConfiguration = new Configuration { ConfigurationId = configurationId, ConfigurationValue = 1 }; Mock.Get(initialLayer) .Setup(f => f.TryGetConfigurationById(configurationId, out expectedConfiguration)) .Returns(true); Mock.Get(topLayer) .Setup(f => f.TryGetConfigurationById(configurationId, out expectedConfiguration)) .Returns(true); manager.AddLayer(initialLayer); manager.AddLayer(topLayer); //act var configuration = manager.GetConfigurationById(configurationId); //assert configuration.Should().Be(expectedConfiguration); Mock.Get(topLayer) .Verify(f => f.TryGetConfigurationById(configurationId, out expectedConfiguration), Times.Once); Mock.Get(initialLayer) .Verify(f => f.TryGetConfigurationById(configurationId, out expectedConfiguration), Times.Never); }
GetConfigurationById_WhenCalledWithConfigurationWhichExistsInInitialLayer_ReturnsExpectedConfiguration( ILayer initialLayer, ILayer topLayer, ConfigurationLayerManager manager) { //arrange var configurationId = "Test"; var expectedConfiguration = new Configuration { ConfigurationId = configurationId, ConfigurationValue = 1 }; Mock.Get(initialLayer) .Setup(f => f.TryGetConfigurationById(configurationId, out It.Ref <Configuration> .IsAny)) .Returns(false); Mock.Get(topLayer) .Setup(f => f.TryGetConfigurationById(configurationId, out expectedConfiguration)) .Returns(true); manager.AddLayer(initialLayer); manager.AddLayer(topLayer); //act var configuration = manager.GetConfigurationById(configurationId); //assert configuration.Should().Be(expectedConfiguration); }
GetConfigurationDataModel_WhenCorrectModelAvailable_ReturnsExpectedObject( ILayer initialLayer, ConfigurationLayerManager manager) { //arrange var configurationValue = 1; var firstConfiguration = new Configuration { ConfigurationId = "Test1", ConfigurationValue = configurationValue }; Mock.Get(initialLayer) .Setup(f => f.TryGetConfigurationById(firstConfiguration.ConfigurationId, out firstConfiguration)) .Returns(true); manager.AddLayer(initialLayer); var expectedModel = new TestModel { Test1 = configurationValue }; var model = new TestModel(); //act manager.GetConfigurationDataModel(ref model); //assert model.Should().BeEquivalentTo(expectedModel); }
private static void Main(string[] args) { var layerManager = new ConfigurationLayerManager(); var hasEnded = false; while (!hasEnded) { ShowInstructions(); var command = Console.ReadLine(); switch (command !.ToLower()) {
GetConfigurationById_WhenCalledWithConfigurationWhichDoesNotExist_Throws( ConfigurationLayerManager manager) { //arrange var configurationId = "Test"; //act Action configuration = () => manager.GetConfigurationById(configurationId); //assert configuration.Should().Throw <KeyNotFoundException> (); }
GetConfigurationDataModel_WhenConfigurationsNotAvailable_ThrowsAggregatedException( [Frozen] ILayer initialLayer, ConfigurationLayerManager manager) { //arrange Mock.Get(initialLayer) .Setup(f => f.TryGetConfigurationById(It.IsAny <string> (), out It.Ref <Configuration> .IsAny)) .Returns(false); manager.AddLayer(initialLayer); var model = new IncorrectTestModel(); //act Action getIncorrectModel = () => manager.GetConfigurationDataModel(ref model); //assert getIncorrectModel.Should().Throw <AggregateException> (); }
GetConfigurationValues_WhenCalled_ReturnsExpectedConfigurations( ILayer initialLayer, ILayer topLayer, ConfigurationLayerManager manager) { //arrange var firstConfiguration = new Configuration { ConfigurationId = "Test1", ConfigurationValue = 1 }; var secondInitialConfiguration = new Configuration { ConfigurationId = "Test2", ConfigurationValue = 1 }; var secondTopConfiguration = new Configuration { ConfigurationId = "Test2", ConfigurationValue = 2 }; var expectedValues = new List <Configuration> { firstConfiguration, secondTopConfiguration }; Mock.Get(initialLayer) .Setup(f => f.GetAllConfigurations()) .Returns(new List <Configuration> { firstConfiguration, secondInitialConfiguration }); Mock.Get(topLayer) .Setup(f => f.GetAllConfigurations()) .Returns(new List <Configuration> { secondTopConfiguration }); manager.AddLayer(initialLayer); manager.AddLayer(topLayer); //act var configurations = manager.GetAllConfigurationValues(); //assert configurations.Should().BeEquivalentTo(expectedValues); }