Exemplo n.º 1
0
 public static IEnumerable <T> Map <V, T>(IEnumerable <V> vals, MapF <V, T> mapf)
 {
     foreach (V x in vals)
     {
         yield return(mapf(x));
     }
 }
Exemplo n.º 2
0
    public void Multiple_Id_Properties_Returns_None_With_TooManyPropertiesWithAttributeMsg()
    {
        // Arrange
        var columns = MapF.GetColumns <FooTableWithMultipleIdAttributes, Foo>(new()).UnsafeUnwrap();

        // Act
        var result = MapF.GetColumnWithAttribute <FooTableWithMultipleIdAttributes, IdAttribute>(columns);

        // Assert
        result.AssertNone().AssertType <TooManyPropertiesWithAttributeMsg <FooTableWithMultipleIdAttributes, IdAttribute> >();
    }
Exemplo n.º 3
0
    public void Missing_Id_Property_Attribute_Returns_None_With_NoPropertyWithAttributeMsg()
    {
        // Arrange
        var columns = MapF.GetColumns <FooTableWithoutIdAttribute, Foo>(new()).UnsafeUnwrap();

        // Act
        var result = MapF.GetColumnWithAttribute <FooTableWithoutIdAttribute, IdAttribute>(columns);

        // Assert
        result.AssertNone().AssertType <NoPropertyWithAttributeMsg <FooTableWithoutIdAttribute, IdAttribute> >();
    }
Exemplo n.º 4
0
    public void Entity_Missing_Property_Returns_Invalid_With_Error()
    {
        // Arrange
        var e0 = $"The definition of entity '{typeof(Foo).FullName}' is missing property '{nameof(FooTableWithBar2.Bar2)}'.";

        // Act
        var(valid, errors) = MapF.ValidateTable <FooTableWithBar2, Foo>();

        // Assert
        Assert.False(valid);
        Assert.Collection(errors, x => Assert.Equal(e0, x));
    }
Exemplo n.º 5
0
    public void Table_Missing_Column_Returns_Invalid_With_Error()
    {
        // Arrange
        var e0 = $"The definition of table '{typeof(FooTableWithoutBar0).FullName}' is missing field '{nameof(Foo.Bar0)}'.";

        // Act
        var(valid, errors) = MapF.ValidateTable <FooTableWithoutBar0, Foo>();

        // Assert
        Assert.False(valid);
        Assert.Collection(errors, x => Assert.Equal(e0, x));
    }
    public void No_Writeable_Columns_Returns_None_With_NoWriteableColumnsFoundMsg()
    {
        // Arrange
        var table   = new FooUnwriteableTable();
        var columns = MapF.GetColumns <FooUnwriteableTable, FooUnwriteable>(table).UnsafeUnwrap();
        var map     = new TableMap(table, columns, GetColumnNames_Tests.Get().column);

        // Act
        var result = map.GetWriteableColumnNamesAndAliases();

        // Assert
        result.AssertNone().AssertType <NoWriteableColumnsFoundMsg>();
    }
    public void Returns_Writeable_Names_And_Aliases()
    {
        // Arrange
        var table   = new FooTable();
        var columns = MapF.GetColumns <FooTable, Foo>(table).UnsafeUnwrap();
        var map     = new TableMap(table, columns, GetColumnNames_Tests.Get().column);

        // Act
        var result = map.GetWriteableColumnNamesAndAliases();

        // Assert
        var(names, aliases) = result.AssertSome();
        Assert.Collection(names,
                          x => Assert.Equal(table.Bar0, x),
                          x => Assert.Equal(table.Bar1, x)
                          );
        Assert.Collection(aliases,
                          x => Assert.Equal(nameof(table.Bar0), x),
                          x => Assert.Equal(nameof(table.Bar1), x)
                          );
    }