mirror of https://github.com/Squidex/squidex.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
104 lines
3.3 KiB
104 lines
3.3 KiB
// ==========================================================================
|
|
// Squidex Headless CMS
|
|
// ==========================================================================
|
|
// Copyright (c) Squidex UG (haftungsbeschränkt)
|
|
// All rights reserved. Licensed under the MIT license.
|
|
// ==========================================================================
|
|
|
|
using Xunit;
|
|
|
|
namespace Squidex.Domain.Apps.Core.Model
|
|
{
|
|
public sealed class PartitioningTests
|
|
{
|
|
[Fact]
|
|
public void Should_consider_null_as_valid_partitioning()
|
|
{
|
|
string partitioning = null;
|
|
|
|
Assert.True(partitioning.IsValidPartitioning());
|
|
}
|
|
|
|
[Fact]
|
|
public void Should_consider_invariant_as_valid_partitioning()
|
|
{
|
|
var partitioning = "invariant";
|
|
|
|
Assert.True(partitioning.IsValidPartitioning());
|
|
}
|
|
|
|
[Fact]
|
|
public void Should_consider_language_as_valid_partitioning()
|
|
{
|
|
var partitioning = "language";
|
|
|
|
Assert.True(partitioning.IsValidPartitioning());
|
|
}
|
|
|
|
[Fact]
|
|
public void Should_not_consider_empty_as_valid_partitioning()
|
|
{
|
|
var partitioning = string.Empty;
|
|
|
|
Assert.False(partitioning.IsValidPartitioning());
|
|
}
|
|
|
|
[Fact]
|
|
public void Should_not_consider_other_string_as_valid_partitioning()
|
|
{
|
|
var partitioning = "invalid";
|
|
|
|
Assert.False(partitioning.IsValidPartitioning());
|
|
}
|
|
|
|
[Fact]
|
|
public void Should_provide_invariant_instance()
|
|
{
|
|
Assert.Equal("invariant", Partitioning.Invariant.Key);
|
|
Assert.Equal("invariant", Partitioning.Invariant.ToString());
|
|
}
|
|
|
|
[Fact]
|
|
public void Should_provide_language_instance()
|
|
{
|
|
Assert.Equal("language", Partitioning.Language.Key);
|
|
Assert.Equal("language", Partitioning.Language.ToString());
|
|
}
|
|
|
|
[Fact]
|
|
public void Should_make_correct_equal_comparisons()
|
|
{
|
|
var partitioning1a = new Partitioning("partitioning1");
|
|
var partitioning1b = new Partitioning("partitioning1");
|
|
var partitioning2a = new Partitioning("partitioning2");
|
|
|
|
Assert.True(partitioning1a.Equals(partitioning1b));
|
|
|
|
Assert.False(partitioning1a.Equals(partitioning2a));
|
|
}
|
|
|
|
[Fact]
|
|
public void Should_make_correct_object_equal_comparisons()
|
|
{
|
|
object partitioning1a = new Partitioning("partitioning1");
|
|
object partitioning1b = new Partitioning("partitioning1");
|
|
object partitioning2a = new Partitioning("partitioning2");
|
|
|
|
Assert.True(partitioning1a.Equals(partitioning1b));
|
|
|
|
Assert.False(partitioning1a.Equals(partitioning2a));
|
|
}
|
|
|
|
[Fact]
|
|
public void Should_provide_correct_hash_codes()
|
|
{
|
|
var partitioning1a = new Partitioning("partitioning1");
|
|
var partitioning1b = new Partitioning("partitioning1");
|
|
var partitioning2a = new Partitioning("partitioning2");
|
|
|
|
Assert.Equal(partitioning1a.GetHashCode(), partitioning1b.GetHashCode());
|
|
|
|
Assert.NotEqual(partitioning1a.GetHashCode(), partitioning2a.GetHashCode());
|
|
}
|
|
}
|
|
}
|
|
|