コード例 #1
0
ファイル: DenseSetTests.cs プロジェクト: LanguageDev/Yoakke
    private static DenseSet <int> ParseDenseSet(string text)
    {
        text = text.Trim();
        // Empty string means empty set
        if (text.Length == 0)
        {
            return(new());
        }

        // Split by Union and parse intervals
        var intervalParts = text.Split('U');
        var intervals     = intervalParts.Select(ParseInterval);

        // Construct the dense set
        var result = new DenseSet <int>();

        foreach (var iv in intervals)
        {
            result.Add(iv);
        }

        // Check, if the constructed set is indeed the specified one
        Assert.True(intervals.SequenceEqual(result));

        return(result);
    }
コード例 #2
0
ファイル: DenseSetTests.cs プロジェクト: LanguageDev/Yoakke
 private static void AssertEquals(DenseSet <int> a, DenseSet <int> b)
 {
     // Same intervals
     Assert.True(a.SequenceEqual(b));
     // Set-equality
     Assert.True(a.SetEquals(b));
     Assert.True(b.SetEquals(a));
     // Subset-ness
     Assert.True(a.IsSubsetOf(b));
     Assert.True(b.IsSubsetOf(a));
     // Proper subset-ness
     Assert.False(a.IsProperSubsetOf(b));
     Assert.False(b.IsProperSubsetOf(a));
     // Superset-ness
     Assert.True(a.IsSupersetOf(b));
     Assert.True(b.IsSupersetOf(a));
     // Proper superset-ness
     Assert.False(a.IsProperSupersetOf(b));
     Assert.False(b.IsProperSupersetOf(a));
 }