Коммит 6dd54ae4 создал по автору Evgeniy Zyatyna's avatar Evgeniy Zyatyna
Просмотр файлов

Merge branch 'develop' into 'master'

🔨 Добавлен флаг добавления переноса перед вставкой нового значения к...

See merge request smon.monq.ru/libraries/Monq.Models.Abstractions!13
владельцы 198b86bd 52779de8
......@@ -63,5 +63,21 @@ namespace Monq.Models.Abstractions.Tests.Helpers
Assert.Equal(initialStr, updatedStr);
}
[Fact(DisplayName = "Проверка добавления переноса строки при конкатенации старого и нового значения строкового типа.")]
public void ShouldProperlyAppendWithNewLine()
{
var initialStr = "test1";
var putModel = new ModelPropertyPutViewModel
{
Value = "test",
AppendWithNewLine = true,
Behavior = ModelPropertyPutBehavior.Append
};
var updatedStr = ModelHelper.Update(initialStr, putModel);
Assert.Equal(initialStr + Environment.NewLine + putModel.Value, updatedStr);
}
}
}
\ Нет новой строки в конце файла
......@@ -33,9 +33,21 @@ namespace Monq.Models.Abstractions.Helpers
return value.Behavior switch
{
ModelPropertyPutBehavior.Override => value.Value,
ModelPropertyPutBehavior.Append => targetProp + value.Value,
ModelPropertyPutBehavior.Append when !value.AppendWithNewLine => targetProp + value.Value,
ModelPropertyPutBehavior.Append when value.AppendWithNewLine => AppendLine(targetProp, value.Value),
_ => throw new ArgumentOutOfRangeException()
};
}
static string AppendLine(string targetProp, string newValue)
{
if (string.IsNullOrWhiteSpace(targetProp))
return targetProp + newValue;
if (targetProp.EndsWith(Environment.NewLine) || newValue.StartsWith(Environment.NewLine))
return targetProp + newValue;
return targetProp + Environment.NewLine + newValue;
}
}
}
\ Нет новой строки в конце файла
......@@ -18,6 +18,14 @@ namespace Monq.Models.Abstractions
/// </summary>
public bool CheckExistingSubstring { get; set; } = false;
/// <summary>
/// Добавить перенос на новую строку перед ставкой нового значения к существующему.
/// </summary>
/// <remarks>
/// Флаг имеет силу, если <see cref="Behavior"/> = <see cref="ModelPropertyPutBehavior.Append"/>.
/// </remarks>
public bool AppendWithNewLine { get; set; } = false;
/// <summary>
/// Поведение при обновлении свойства сущности.
/// </summary>
......
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<Version>3.5</Version>
<Version>3.6</Version>
<VersionSuffix>$(VersionSuffix)</VersionSuffix>
<Version Condition=" '$(VersionSuffix)' != '' ">$(Version)-$(VersionSuffix)</Version>
<TargetFramework>netstandard2.0</TargetFramework>
......
Поддерживает Markdown
0% или .
You are about to add 0 people to the discussion. Proceed with caution.
Сначала завершите редактирование этого сообщения!
Пожалуйста, зарегистрируйтесь или чтобы прокомментировать