public void Build_WithComponentTypeAndFieldsDefined_ReturnsExpectedSpecElement() { // Arrange var unbuilt = new ComponentTypeAndFieldUnbuiltSearchSpecElement <Employee>(); unbuilt.SetComponentTypeGetter(e => "Employee"); unbuilt.SetFieldGetter(e => new Dictionary <string, object> { ["profession"] = "chess", ["nationality"] = "NOR" }); var employee = new Employee { Name = "Dole Duck", Age = 12 }; // Act var spec = unbuilt.Build(employee); // Assert Assert.True(spec is ComponentTypeAndFieldSearchSpecElement); var cfe = (ComponentTypeAndFieldSearchSpecElement)spec; Assert.Equal("Employee", cfe.ComponentType); Assert.Equal(2, cfe.FieldFilters.Count); Assert.Equal("chess", cfe.FieldFilters["profession"].ToString()); Assert.Equal("NOR", cfe.FieldFilters["nationality"].ToString()); }
public void Build_WithNameLambdaAndParentLambda_ReturnsExpectedSpecElement() { // Arrange var unbuilt = new ComponentTypeAndFieldUnbuiltSearchSpecElement <Employee>(); unbuilt.SetNameGetter(emp => new List <string> { emp.Name }); unbuilt.SetParentNameGetter(emp => new List <string> { emp.EmployedIn.Name }); var department = new Department { Name = "Hakkespettene" }; var employee = new Employee { Name = "Dole Duck", Age = 12, EmployedIn = department }; // Act var spec = unbuilt.Build(employee); // Assert Assert.True(spec is ComponentTypeAndFieldSearchSpecElement); var cfe = (ComponentTypeAndFieldSearchSpecElement)spec; Assert.Equal("Dole Duck", cfe.NameList.Single()); Assert.Equal("Hakkespettene", cfe.ParentNameList.Single()); }
public void Build_WithHardcodedComponentType_ReturnsExpectedSpecElement() { // Arrange var hardCodedCompType = "Hardcoded"; var unbuilt = new ComponentTypeAndFieldUnbuiltSearchSpecElement <Employee>(); unbuilt.SetHardcodedComponentType(hardCodedCompType); // Act var spec = unbuilt.Build(new Employee()); // Assert Assert.True(spec is ComponentTypeAndFieldSearchSpecElement); var cfe = (ComponentTypeAndFieldSearchSpecElement)spec; Assert.Equal(hardCodedCompType, cfe.ComponentType); }
public void Build_WithJustComponentDefined_ReturnsExpectedSpecElement() { // Arrange var unbuilt = new ComponentTypeAndFieldUnbuiltSearchSpecElement <Employee>(); unbuilt.SetComponentTypeGetter(e => "Employee"); var employee = new Employee { Name = "Dole Duck", Age = 12 }; // Act var spec = unbuilt.Build(employee); // Assert Assert.True(spec is ComponentTypeAndFieldSearchSpecElement); var cfe = (ComponentTypeAndFieldSearchSpecElement)spec; Assert.Equal("Employee", cfe.ComponentType); Assert.Empty(cfe.FieldFilters); }
public void Build_WithHardcodedComponentTypeAndLambda_LambdaTakesPrecedence() { // Arrange var hardCodedCompType = "Hardcoded"; var unbuilt = new ComponentTypeAndFieldUnbuiltSearchSpecElement <Employee>(); unbuilt.SetComponentTypeGetter(e => "Employee"); unbuilt.SetHardcodedComponentType(hardCodedCompType); var employee = new Employee { Name = "Dole Duck", Age = 12 }; // Act var spec = unbuilt.Build(employee); // Assert Assert.True(spec is ComponentTypeAndFieldSearchSpecElement); var cfe = (ComponentTypeAndFieldSearchSpecElement)spec; Assert.Equal("Employee", cfe.ComponentType); }