Anrufmonitor Grundgeruest: SIP Monitor, Contacts Cache, WPF Tray App
This commit is contained in:
parent
f78831a375
commit
d7869b977f
28 changed files with 1581 additions and 17 deletions
26
tests/Anrufmonitor.Tests/Anrufmonitor.Tests.csproj
Normal file
26
tests/Anrufmonitor.Tests/Anrufmonitor.Tests.csproj
Normal file
|
|
@ -0,0 +1,26 @@
|
|||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFramework>net10.0</TargetFramework>
|
||||
<ImplicitUsings>enable</ImplicitUsings>
|
||||
<Nullable>enable</Nullable>
|
||||
<IsPackable>false</IsPackable>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="coverlet.collector" Version="6.0.4" />
|
||||
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.14.1" />
|
||||
<PackageReference Include="xunit" Version="2.9.3" />
|
||||
<PackageReference Include="xunit.runner.visualstudio" Version="3.1.4" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<Using Include="Xunit" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\..\src\Anrufmonitor.Contacts\Anrufmonitor.Contacts.csproj" />
|
||||
<ProjectReference Include="..\..\src\Anrufmonitor.Sip\Anrufmonitor.Sip.csproj" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
35
tests/Anrufmonitor.Tests/PhoneNumberNormalizerTests.cs
Normal file
35
tests/Anrufmonitor.Tests/PhoneNumberNormalizerTests.cs
Normal file
|
|
@ -0,0 +1,35 @@
|
|||
using Anrufmonitor.Contacts;
|
||||
using Xunit;
|
||||
|
||||
namespace Anrufmonitor.Tests;
|
||||
|
||||
public class PhoneNumberNormalizerTests
|
||||
{
|
||||
[Theory]
|
||||
[InlineData("0175 1234567", "491751234567")]
|
||||
[InlineData("0175-1234567", "491751234567")]
|
||||
[InlineData("+49 175 1234567", "491751234567")]
|
||||
[InlineData("0049 175 1234567", "491751234567")]
|
||||
[InlineData("491751234567", "491751234567")]
|
||||
public void Normalize_ProducesSameResult_ForEquivalentNumbers(string input, string expected)
|
||||
{
|
||||
Assert.Equal(expected, PhoneNumberNormalizer.Normalize(input));
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void Normalize_EmptyInput_ReturnsEmptyString()
|
||||
{
|
||||
Assert.Equal(string.Empty, PhoneNumberNormalizer.Normalize(null));
|
||||
Assert.Equal(string.Empty, PhoneNumberNormalizer.Normalize(""));
|
||||
}
|
||||
|
||||
[Theory]
|
||||
[InlineData("\"Max Mustermann\" <sip:+491751234567@pbx.example.com>", "+491751234567")]
|
||||
[InlineData("sip:01751234567@pbx.example.com", "01751234567")]
|
||||
[InlineData("sip:1234;user=phone@pbx.example.com", "1234")]
|
||||
[InlineData("kein-sip-header", null)]
|
||||
public void ExtractFromSipUri_ParsesUserPart(string input, string? expected)
|
||||
{
|
||||
Assert.Equal(expected, PhoneNumberNormalizer.ExtractFromSipUri(input));
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue