public void Value_ShouldBe_Default_WhenMode_IsDefault() { // Arrange var defaultValue = new DefaultConfig().Value(); _default.Value().Returns(defaultValue); var config = new CustomConfig(ConfigMode.Default, _default, _storage); // Act var result = config.Value(); // Assert result.Should().Be(defaultValue); }
public Config Value() { if (_mode == ConfigMode.Default) { return(_default.Value()); } var value = _storage.Value(); if (value != null) { return(value); } value = _default.Value(); if (_mode == ConfigMode.CustomOrSavedDefault) { _storage.Save(value); } return(value); }