Skip to content

Commit

Permalink
Update README.md
Browse files Browse the repository at this point in the history
  • Loading branch information
HNeukermans committed Aug 20, 2020
1 parent 62c4b50 commit 6e615fa
Showing 1 changed file with 26 additions and 2 deletions.
28 changes: 26 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ A range represents an area or extend between 2 limits: upper and lower limit. Th

### IsBetween/HappenedDuring
Here fluentRanges exposes convenient extension methods for integers, doubles, datetime(offset) to code against ranges.
if(age.IsBetween(new IntRange(13,25)) then {}
''' if(age.IsBetween(new IntRange(13,25)) then {}
if(invoiceAmount.IsBetween(new IntRange(1000-5,1000+5)) then {}
if(eventDate.HappenedDuring(new DateTimeRange(DateTime.Now, DateTime.Now.AddDays(2)) then {}

Expand All @@ -30,7 +30,31 @@ if(new DateTimeRange(DateTime.Now, DateTime.Now.AddDays(2).Intersect(new DateTim

### Intersection
var i = new IntRange(5,16).Intersection(new IntRange(13,25)) /* i == new IntRange(13,16) */
var d = new DateTimeRange(DateTime.Now.addAys(-1), DateTime.Now.AddDays(1).Intersection(new DateTimeRange(DateTime.Now, DateTime.Now.AddDays(2)) /* i == new DateTimeRange(DateTime.Now,DateTime.Now.AddDays(1)) */
var d = new DateTimeRange(DateTime.Now.addDays(-1), DateTime.Now.AddDays(1).Intersection(new DateTimeRange(DateTime.Now, DateTime.Now.AddDays(2)) /* i == new DateTimeRange(DateTime.Now,DateTime.Now.AddDays(1)) */

### Offset
var i = new IntRange(5,16).Offset(2) /* i == new IntRange(7,18) */
var d = new DateTimeRange(DateTime.Now, DateTime.Now.AddDays(1)).Offset(TimeSpan.FromDays(1)) /* d == new DateTimeRange(DateTime.Now.AddDays(1), DateTime.Now.AddDays(2)) */

### Ranges are immutable
The limits of any range instance can not be changed. Methods like Offset, SetLower, SetUpper all return new Range instances
var i = new IntRange(5,16)
d = i.Offset(2) /* the limits of i have not been ofsetted.*/

### Ranges are equatable
Range are treated as equal only if both range instances have the same lower and upper limits
var i = new IntRange(5,16)
var d = ne IntRange(5,16);
d.Equals(i) /* returns true*/
Object.ReferenceEquals(i, d) /* returns false*/

### Ranges are sortable
var i = new IntRange(5,16)
var d = ne IntRange(5,16);


### ToString()
Console.WriteLine(new IntRange(5,16).ToString()) /* ==> "Lower:5, Upper:16, Width:11" */


### IsLesserThen/HappenedBefore
Expand Down

0 comments on commit 6e615fa

Please sign in to comment.