}
[Fact]
+ public void CompareTo_IdLengthTest()
+ {
+ var a = this.CreatePostId("twitter", "200");
+ var b = this.CreatePostId("twitter", "1000");
+ Assert.True(a.CompareTo(b) < 0);
+ Assert.True(b.CompareTo(a) > 0);
+ }
+
+ [Fact]
public void OperatorGreaterThan_Test()
{
var a = this.CreatePostId("twitter", "100");
if (compareByIdType != 0)
return compareByIdType;
+ // 辞書順による比較のみだと "20" > "100" となってしまうため文字数による比較も加える
+ var compareByIdLength = this.Id.Length.CompareTo(other.Id.Length);
+ if (compareByIdLength != 0)
+ return compareByIdLength;
+
return this.Id.CompareTo(other.Id);
}