@@ -67,7 +67,7 @@ public void FormattedTimeUnitTests(long bytes, int measurementIntervalSeconds, T
67
67
[ InlineData ( TimeUnit . Month ) ]
68
68
[ InlineData ( TimeUnit . Week ) ]
69
69
[ InlineData ( TimeUnit . Year ) ]
70
- public void ThowsOnUnsupportedData ( TimeUnit units )
70
+ public void ThrowsOnUnsupportedData ( TimeUnit units )
71
71
{
72
72
var dummyRate = ByteSize . FromBits ( 1 ) . Per ( TimeSpan . FromSeconds ( 1 ) ) ;
73
73
@@ -77,5 +77,45 @@ public void ThowsOnUnsupportedData(TimeUnit units)
77
77
} ) ;
78
78
}
79
79
80
+ [ Theory ]
81
+ [ InlineData ( 400 , 10 , 400 , 10 , 0 ) ] // 40.CompareTo(40)
82
+ [ InlineData ( 400 , 10 , 800 , 20 , 0 ) ] // 40.CompareTo(40)
83
+ [ InlineData ( 800 , 20 , 400 , 10 , 0 ) ] // 40.CompareTo(40)
84
+ [ InlineData ( 400 , 10 , 800 , 10 , - 1 ) ] // 40.CompareTo(80)
85
+ [ InlineData ( 800 , 10 , 400 , 10 , 1 ) ] // 80.CompareTo(40)
86
+ [ InlineData ( 800 , 10 , 400 , 20 , 1 ) ] // 80.CompareTo(20)
87
+ [ InlineData ( 400 , 20 , 800 , 10 , - 1 ) ] // 20.CompareTo(80)
88
+ public void ComparisonTests_SameTypes ( long leftBytes , int leftIntervalSeconds , long rightBytes , int rightIntervalSeconds , int expectedValue )
89
+ {
90
+ var leftSize = ByteSize . FromBytes ( leftBytes ) ;
91
+ var leftInterval = TimeSpan . FromSeconds ( leftIntervalSeconds ) ;
92
+ var leftByteRate = new ByteRate ( leftSize , leftInterval ) ;
93
+ var rightSize = ByteSize . FromBytes ( rightBytes ) ;
94
+ var rightInterval = TimeSpan . FromSeconds ( rightIntervalSeconds ) ;
95
+ var rightByteRate = new ByteRate ( rightSize , rightInterval ) ;
96
+
97
+ Assert . Equal ( leftByteRate . CompareTo ( rightByteRate ) , expectedValue ) ;
98
+ }
99
+
100
+ [ Theory ]
101
+ [ InlineData ( 1024 , 10 , 6 , 1 , 0 ) ] // 1024.CompareTo(1024)
102
+ [ InlineData ( 1024 , 10 , 12 , 2 , 0 ) ] // 1024.CompareTo(1024)
103
+ [ InlineData ( 2048 , 20 , 6 , 1 , 0 ) ] // 1024.CompareTo(1024)
104
+ [ InlineData ( 1024 , 10 , 12 , 1 , - 1 ) ] // 1024.CompareTo(2048)
105
+ [ InlineData ( 2048 , 10 , 6 , 1 , 1 ) ] // 2048.CompareTo(1024)
106
+ [ InlineData ( 2048 , 10 , 6 , 2 , 1 ) ] // 2048.CompareTo(512)
107
+ [ InlineData ( 1024 , 20 , 12 , 1 , - 1 ) ] // 512.CompareTo(2048)
108
+ public void ComparisonTests_DifferingTypes ( long leftKiloBytes , int leftIntervalSeconds , long rightMegaBytes , int rightIntervalMinutes , int expectedValue )
109
+ {
110
+ var leftSize = ByteSize . FromKilobytes ( leftKiloBytes ) ;
111
+ var leftInterval = TimeSpan . FromSeconds ( leftIntervalSeconds ) ;
112
+ var leftByteRate = new ByteRate ( leftSize , leftInterval ) ;
113
+ var rightSize = ByteSize . FromMegabytes ( rightMegaBytes ) ;
114
+ var rightInterval = TimeSpan . FromMinutes ( rightIntervalMinutes ) ;
115
+ var rightByteRate = new ByteRate ( rightSize , rightInterval ) ;
116
+
117
+ Assert . Equal ( leftByteRate . CompareTo ( rightByteRate ) , expectedValue ) ;
118
+ }
119
+
80
120
}
81
121
}
0 commit comments