Files
WireMock.Net-wiremock/test/WireMock.Net.Tests/Testcontainers/CombineUtilsTests.cs
Stef Heyenrath a292f28dda Version 2.x (#1359)
* Version 2.x

* Setup .NET 9

* 12

* cleanup some #if for NETSTANDARD1_3

* cleanup + fix tests for net8

* openapi

* NO ConfigureAwait(false) + cleanup

* .

* #endif

* HashSet

* WireMock.Net.NUnit

* HttpContext

* Add WebSockets (#1423)

* Add WebSockets

* Add tests

* fix

* more tests

* Add tests

* ...

* remove IOwin

* -

* tests

* fluent

* ok

* match

* .

* byte[]

* x

* func

* func

* byte

* trans

* ...

* frameworks.........

* jmes

* xxx

* sc

* using var httpClient = new HttpClient();

* usings

* maxRetries

* up

* xunit v3

* ct

* ---

* ct

* ct2

* T Unit

* WireMock.Net.TUnitTests / 10

* t unit first

* --project

* no tunit

* t2

* --project

* --project

* ci -  --project

* publish ./test/wiremock-coverage.xml

* windows

* .

* log

* ...

* log

* goed

* BodyType

* .

* .

* --scenario

* ...

* pact

* ct

* .

* WireMock.Net.RestClient.AwesomeAssertions (#1427)

* WireMock.Net.RestClient.AwesomeAssertions

* ok

* atpath

* fix test

* sonar fixes

* ports

* proxy test

* FIX?

* ---

* await Task.Delay(100, _ct);

* ?

* --project

* Aspire: use IDistributedApplicationEventingSubscriber (#1428)

* broadcast

* ok

* more tsts

* .

* Collection

* up

* .

* 2

* remove nfluent

* <VersionPrefix>2.0.0-preview-02</VersionPrefix>

* ...

* .

* nuget icon

* .

* <PackageReference Include="JmesPath.Net" Version="1.1.0" />

* x

* 500

* .

* fix some warnings

* ws
2026-03-11 17:02:47 +01:00

158 lines
4.0 KiB
C#

// Copyright © WireMock.Net
using WireMock.Net.Testcontainers.Utils;
namespace WireMock.Net.Tests.Testcontainers;
public class CombineUtilsTests
{
[Fact]
public void Combine_Lists_WithBothEmpty_ReturnsEmptyList()
{
// Arrange
var oldValue = new List<string>();
var newValue = new List<string>();
// Act
var result = CombineUtils.Combine(oldValue, newValue);
// Assert
result.Should().BeEmpty();
}
[Fact]
public void Combine_Lists_WithEmptyOldValue_ReturnsNewValue()
{
// Arrange
var oldValue = new List<string>();
var newValue = new List<string> { "item1", "item2" };
// Act
var result = CombineUtils.Combine(oldValue, newValue);
// Assert
result.Should().Equal("item1", "item2");
}
[Fact]
public void Combine_Lists_WithEmptyNewValue_ReturnsOldValue()
{
// Arrange
var oldValue = new List<string> { "item1", "item2" };
var newValue = new List<string>();
// Act
var result = CombineUtils.Combine(oldValue, newValue);
// Assert
result.Should().Equal("item1", "item2");
}
[Fact]
public void Combine_Lists_WithBothPopulated_ReturnsConcatenatedList()
{
// Arrange
var oldValue = new List<int> { 1, 2, 3 };
var newValue = new List<int> { 4, 5, 6 };
// Act
var result = CombineUtils.Combine(oldValue, newValue);
// Assert
result.Should().Equal(1, 2, 3, 4, 5, 6);
}
[Fact]
public void Combine_Lists_WithDuplicates_RemovesDuplicates()
{
// Arrange
var oldValue = new List<string> { "a", "b", "c" };
var newValue = new List<string> { "b", "c", "d" };
// Act
var result = CombineUtils.Combine(oldValue, newValue);
// Assert
result.Should().Equal("a", "b", "c", "d");
}
[Fact]
public void Combine_Dictionaries_WithBothEmpty_ReturnsEmptyDictionary()
{
// Arrange
var oldValue = new Dictionary<string, int>();
var newValue = new Dictionary<string, int>();
// Act
var result = CombineUtils.Combine(oldValue, newValue);
// Assert
result.Should().BeEmpty();
}
[Fact]
public void Combine_Dictionaries_WithEmptyOldValue_ReturnsNewValue()
{
// Arrange
var oldValue = new Dictionary<string, int>();
var newValue = new Dictionary<string, int>
{
{ "key1", 1 },
{ "key2", 2 }
};
// Act
var result = CombineUtils.Combine(oldValue, newValue);
// Assert
result.Should().HaveCount(2);
result["key1"].Should().Be(1);
result["key2"].Should().Be(2);
}
[Fact]
public void Combine_Dictionaries_WithEmptyNewValue_ReturnsOldValue()
{
// Arrange
var oldValue = new Dictionary<string, int>
{
{ "key1", 1 },
{ "key2", 2 }
};
var newValue = new Dictionary<string, int>();
// Act
var result = CombineUtils.Combine(oldValue, newValue);
// Assert
result.Should().HaveCount(2);
result["key1"].Should().Be(1);
result["key2"].Should().Be(2);
}
[Fact]
public void Combine_Dictionaries_WithNoOverlappingKeys_ReturnsMergedDictionary()
{
// Arrange
var oldValue = new Dictionary<string, string>
{
{ "key1", "value1" },
{ "key2", "value2" }
};
var newValue = new Dictionary<string, string>
{
{ "key3", "value3" },
{ "key4", "value4" }
};
// Act
var result = CombineUtils.Combine(oldValue, newValue);
// Assert
result.Should().HaveCount(4);
result["key1"].Should().Be("value1");
result["key2"].Should().Be("value2");
result["key3"].Should().Be("value3");
result["key4"].Should().Be("value4");
}
}