@@ -79,6 +79,7 @@ public static IEnumerable<object[]> EqTestData()
7979 yield return new object [ ] { new UCASTNode { Type = "field" , Op = "eq" , Field = "data.id" , Value = ( long ) 2 } , testdata . Where ( d => d . Id == 2 ) . ToList ( ) } ;
8080 yield return new object [ ] { new UCASTNode { Type = "field" , Op = "eq" , Field = "data.flood_stage" , Value = true } , testdata . Where ( d => d . FloodStage ) . ToList ( ) } ;
8181 yield return new object [ ] { new UCASTNode { Type = "field" , Op = "eq" , Field = "data.water_level_meters" , Value = 5.8 } , testdata . Where ( d => d . WaterLevelMeters == 5.8 ) . ToList ( ) } ;
82+ yield return new object [ ] { new UCASTNode { Type = "field" , Op = "eq" , Field = "data.uuid" , Value = "123e4567-e89b-12d3-a456-426614174000" } , testdata . Where ( d => d . Uuid == new Guid ( "123e4567-e89b-12d3-a456-426614174000" ) ) . ToList ( ) } ;
8283 }
8384
8485 public static IEnumerable < object [ ] > NeTestData ( )
@@ -89,6 +90,7 @@ public static IEnumerable<object[]> NeTestData()
8990 yield return new object [ ] { new UCASTNode { Type = "field" , Op = "ne" , Field = "data.id" , Value = ( long ) 2 } , testdata . Where ( d => d . Id != 2 ) . ToList ( ) } ;
9091 yield return new object [ ] { new UCASTNode { Type = "field" , Op = "ne" , Field = "data.flood_stage" , Value = true } , testdata . Where ( d => ! d . FloodStage ) . ToList ( ) } ;
9192 yield return new object [ ] { new UCASTNode { Type = "field" , Op = "ne" , Field = "data.water_level_meters" , Value = 5.8 } , testdata . Where ( d => d . WaterLevelMeters != 5.8 ) . ToList ( ) } ;
93+ yield return new object [ ] { new UCASTNode { Type = "field" , Op = "ne" , Field = "data.uuid" , Value = "123e4567-e89b-12d3-a456-426614174000" } , testdata . Where ( d => d . Uuid != new Guid ( "123e4567-e89b-12d3-a456-426614174000" ) ) . ToList ( ) } ;
9294 }
9395
9496 public static IEnumerable < object [ ] > GtTestData ( )
@@ -128,6 +130,7 @@ public static IEnumerable<object[]> InTestData()
128130 yield return new object [ ] { new UCASTNode { Type = "field" , Op = "in" , Field = "data.id" , Value = new List < object > ( ) { ( long ) 2 , ( long ) 5 } } , testdata . Where ( d => new List < object > ( ) { ( long ) 2 , ( long ) 5 } . Contains ( ( long ) d . Id ) ) . ToList ( ) } ;
129131 yield return new object [ ] { new UCASTNode { Type = "field" , Op = "in" , Field = "data.flood_stage" , Value = new List < object > ( ) { true } } , testdata . Where ( d => new List < object > ( ) { true } . Contains ( d . FloodStage ) ) . ToList ( ) } ;
130132 yield return new object [ ] { new UCASTNode { Type = "field" , Op = "in" , Field = "data.water_level_meters" , Value = new List < object > ( ) { 2.5 , 5.8 } } , testdata . Where ( d => new List < object > ( ) { 2.5 , 5.8 } . Contains ( d . WaterLevelMeters ) ) . ToList ( ) } ;
133+ yield return new object [ ] { new UCASTNode { Type = "field" , Op = "in" , Field = "data.uuid" , Value = new List < object > ( ) { "123e4567-e89b-12d3-a456-426614174000" , "123e4567-e89b-12d3-a456-426614174001" } } , testdata . Where ( d => new List < object > ( ) { new Guid ( "123e4567-e89b-12d3-a456-426614174000" ) , new Guid ( "123e4567-e89b-12d3-a456-426614174001" ) } . Contains ( d . Uuid ) ) . ToList ( ) } ;
131134 }
132135 }
133136
@@ -140,6 +143,7 @@ public static IEnumerable<object[]> NinTestData()
140143 yield return new object [ ] { new UCASTNode { Type = "field" , Op = "nin" , Field = "data.id" , Value = new List < object > ( ) { ( long ) 2 , ( long ) 5 } } , testdata . Where ( d => ! new List < object > ( ) { ( long ) 2 , ( long ) 5 } . Contains ( ( long ) d . Id ) ) . ToList ( ) } ;
141144 yield return new object [ ] { new UCASTNode { Type = "field" , Op = "nin" , Field = "data.flood_stage" , Value = new List < object > ( ) { true } } , testdata . Where ( d => ! new List < object > ( ) { true } . Contains ( d . FloodStage ) ) . ToList ( ) } ;
142145 yield return new object [ ] { new UCASTNode { Type = "field" , Op = "nin" , Field = "data.water_level_meters" , Value = new List < object > ( ) { 2.5 , 5.8 } } , testdata . Where ( d => ! new List < object > ( ) { 2.5 , 5.8 } . Contains ( d . WaterLevelMeters ) ) . ToList ( ) } ;
146+ yield return new object [ ] { new UCASTNode { Type = "field" , Op = "nin" , Field = "data.uuid" , Value = new List < object > ( ) { "123e4567-e89b-12d3-a456-426614174000" , "123e4567-e89b-12d3-a456-426614174001" } } , testdata . Where ( d => ! new List < object > ( ) { new Guid ( "123e4567-e89b-12d3-a456-426614174000" ) , new Guid ( "123e4567-e89b-12d3-a456-426614174001" ) } . Contains ( d . Uuid ) ) . ToList ( ) } ;
143147 }
144148 }
145149}
@@ -503,6 +507,7 @@ public class UnitTestDataSource
503507 public class HydrologyData
504508 {
505509 public int Id { get ; set ; }
510+ public Guid Uuid { get ; set ; }
506511 public string ? Name { get ; set ; }
507512 public DateTime LastUpdated { get ; set ; }
508513 public bool FloodStage { get ; set ; }
@@ -513,11 +518,11 @@ public class HydrologyData
513518 public static List < HydrologyData > GetTestHydrologyData ( )
514519 {
515520 return [
516- new HydrologyData { Id = 1 , Name = "River Alpha" , LastUpdated = new DateTime ( 2024 , 12 , 10 , 8 , 30 , 0 ) , FloodStage = false , WaterLevelMeters = 2.5 , FlowRateMinute = 100.5 } ,
517- new HydrologyData { Id = 2 , Name = "Lake Beta" , LastUpdated = new DateTime ( 2024 , 12 , 9 , 15 , 45 , 0 ) , FloodStage = true , WaterLevelMeters = 5.8 , FlowRateMinute = null } ,
518- new HydrologyData { Id = 3 , Name = "Stream Gamma" , LastUpdated = new DateTime ( 2024 , 12 , 8 , 12 , 0 , 0 ) , FloodStage = false , WaterLevelMeters = 0.75 , FlowRateMinute = 25.3 } ,
519- new HydrologyData { Id = 4 , Name = "Reservoir Delta" , LastUpdated = new DateTime ( 2024 , 12 , 7 , 9 , 15 , 0 ) , FloodStage = false , WaterLevelMeters = 15.2 , FlowRateMinute = 500.0 } ,
520- new HydrologyData { Id = 5 , Name = null , LastUpdated = new DateTime ( 2024 , 12 , 6 , 18 , 30 , 0 ) , FloodStage = true , WaterLevelMeters = 3.1 , FlowRateMinute = 75.8 }
521+ new HydrologyData { Id = 1 , Uuid = new Guid ( "123e4567-e89b-12d3-a456-426614174000" ) , Name = "River Alpha" , LastUpdated = new DateTime ( 2024 , 12 , 10 , 8 , 30 , 0 ) , FloodStage = false , WaterLevelMeters = 2.5 , FlowRateMinute = 100.5 } ,
522+ new HydrologyData { Id = 2 , Uuid = new Guid ( "123e4567-e89b-12d3-a456-426614174001" ) , Name = "Lake Beta" , LastUpdated = new DateTime ( 2024 , 12 , 9 , 15 , 45 , 0 ) , FloodStage = true , WaterLevelMeters = 5.8 , FlowRateMinute = null } ,
523+ new HydrologyData { Id = 3 , Uuid = new Guid ( "123e4567-e89b-12d3-a456-426614174002" ) , Name = "Stream Gamma" , LastUpdated = new DateTime ( 2024 , 12 , 8 , 12 , 0 , 0 ) , FloodStage = false , WaterLevelMeters = 0.75 , FlowRateMinute = 25.3 } ,
524+ new HydrologyData { Id = 4 , Uuid = new Guid ( "123e4567-e89b-12d3-a456-426614174003" ) , Name = "Reservoir Delta" , LastUpdated = new DateTime ( 2024 , 12 , 7 , 9 , 15 , 0 ) , FloodStage = false , WaterLevelMeters = 15.2 , FlowRateMinute = 500.0 } ,
525+ new HydrologyData { Id = 5 , Uuid = new Guid ( "123e4567-e89b-12d3-a456-426614174004" ) , Name = null , LastUpdated = new DateTime ( 2024 , 12 , 6 , 18 , 30 , 0 ) , FloodStage = true , WaterLevelMeters = 3.1 , FlowRateMinute = 75.8 }
521526 ] ;
522527 }
523528
0 commit comments