public void should_omit_requested_properties() { var joseph = new Developer("Joseph", "Hart", 30); dynamic nameless = NDashLib.OmitExpando(joseph, "FirstName", "LastName"); Assert.Equal(30, nameless.Age); }
public void should_omit_requested_properties() { var joseph = new Developer("Joseph", "Hart", 30); NamelessDeveloper nameless = NDashLib.Omit <NamelessDeveloper>(joseph, "FirstName", "LastName"); Assert.Equal(30, nameless.Age); Assert.False(nameless.IsGettingPromotionForThis); }
public void should_pick_matching_properties() { var joseph = new Developer("Joseph", null, 30); AnonymousDeveloper nonNils = NDashLib.PickBy <AnonymousDeveloper>(joseph, val => val != default); Assert.Equal("Joseph", nonNils.FirstName); Assert.Equal(30, nonNils.Age); }
public void TestArity1() { Func <int, bool> isEven = i => i % 2 == 0; var isOdd = NDashLib.Negate(isEven); Assert.True(isEven(4)); Assert.True(isOdd(5)); }
public void should_pick_matching_properties() { var joseph = new Developer("Joseph", "Hart", 30); dynamic ageless = NDashLib.PickByExpando(joseph, IsNameProperty); Assert.Equal("Joseph", ageless.FirstName); Assert.Equal("Hart", ageless.LastName); }
public void should_omit_requested_properties() { var joseph = new Developer("Joseph", "Hart", 30); Dictionary <string, object> nameless = NDashLib.Omit(joseph, "FirstName", "LastName"); Assert.Single(nameless); Assert.Equal(30, nameless["Age"]); }
public void should_return_2_nested_functions() { string append(string a, string b) => a + b; Assert.Equal( append("a", "b"), NDashLib.Curry <string, string, string>(append)("a")("b") ); }
public void should_pick_matching_properties() { var joseph = new Developer("Joseph", null, 30); Dictionary <string, object> nonNils = NDashLib.PickBy(joseph, val => val != default); Assert.Equal(2, nonNils.Count); Assert.Equal("Joseph", nonNils["FirstName"]); Assert.Equal(30, nonNils["Age"]); }
public void should_pick_matching_properties() { var joseph = new Developer("Joseph", "Hart", 30); Dictionary <string, object> ageless = NDashLib.PickBy(joseph, IsNameProperty); Assert.Equal(2, ageless.Count); Assert.Equal("Joseph", ageless["FirstName"]); Assert.Equal("Hart", ageless["LastName"]); }
public void should_pick_matching_properties() { var joseph = new Developer("Joseph", "Hart", 30); AgelessDeveloper ageless = NDashLib.PickBy <AgelessDeveloper>(joseph, IsNameProperty); Assert.Equal("Joseph", ageless.FirstName); Assert.Equal("Hart", ageless.LastName); Assert.Null(ageless.MiddleName); }
public void should_pick_requested_properties() { var joseph = new Developer("Joseph", "Hart", 25); AgelessDeveloper ageless = NDashLib.Pick <AgelessDeveloper>(joseph, "FirstName", "LastName"); Assert.Equal("Joseph", ageless.FirstName); Assert.Equal("Hart", ageless.LastName); Assert.Null(ageless.MiddleName); }
public void should_pick_requested_properties() { var joseph = new Developer("Joseph", "Hart", 25); dynamic ageless = NDashLib.PickExpando(joseph, "FirstName", "LastName"); Assert.Equal(2, (ageless as IDictionary <string, object>).Count); Assert.Equal("Joseph", ageless.FirstName); Assert.Equal("Hart", ageless.LastName); }
public void should_pick_requested_properties() { var joseph = new Developer("Joseph", "Hart", 25); Dictionary <string, object> ageless = NDashLib.Pick(joseph, "FirstName", "LastName"); Assert.Equal(2, ageless.Count); Assert.Equal("Joseph", ageless["FirstName"]); Assert.Equal("Hart", ageless["LastName"]); }
public void should_return_4_nested_functions() { string append(string a, string b, string c, string d) => a + b + c + d; var partial = NDashLib.Curry <string, string, string, string, string>(append)("a")("b")("c"); Assert.Equal( append("a", "b", "c", "d"), partial("d") ); Assert.NotEqual(partial("d"), partial("e")); }
AllDict(IEnumerable <Tuple <string, Task> > nameTaskTuples) { if (!NDashLib.AreUniqueBy(nameTaskTuples, tuple => tuple.Item1)) { throw new DuplicateEntriesException(nameTaskTuples); } await Task.WhenAll(nameTaskTuples.Select(tuple => tuple.Item2)); return(nameTaskTuples.ToDictionary( tuple => tuple.Item1, tuple => ForceGetResult(tuple.Item2) )); }
public async Task should_accept_up_to_16_parameters_of_varying_types_async() { // and you thought I was a one-trick pony await NDashLib.NoopAsync(); await NDashLib.NoopAsync(1); await NDashLib.NoopAsync(1, "2"); await NDashLib.NoopAsync(1, "2", 3f); await NDashLib.NoopAsync(1, "2", 3f, 4d); await NDashLib.NoopAsync(1, "2", 3f, 4d, 5m); await NDashLib.NoopAsync(1, "2", 3f, 4d, 5m, 6); await NDashLib.NoopAsync(1, "2", 3f, 4d, 5m, 6, "7"); await NDashLib.NoopAsync(1, "2", 3f, 4d, 5m, 6, "7", 8f); await NDashLib.NoopAsync(1, "2", 3f, 4d, 5m, 6, "7", 8f, 9d); await NDashLib.NoopAsync(1, "2", 3f, 4d, 5m, 6, "7", 8f, 9d, 10m); await NDashLib.NoopAsync(1, "2", 3f, 4d, 5m, 6, "7", 8f, 9d, 10m, 11); await NDashLib.NoopAsync(1, "2", 3f, 4d, 5m, 6, "7", 8f, 9d, 10m, 11, "12"); await NDashLib.NoopAsync(1, "2", 3f, 4d, 5m, 6, "7", 8f, 9d, 10m, 11, "12", 13f); await NDashLib.NoopAsync(1, "2", 3f, 4d, 5m, 6, "7", 8f, 9d, 10m, 11, "12", 13f, 14d); await NDashLib.NoopAsync(1, "2", 3f, 4d, 5m, 6, "7", 8f, 9d, 10m, 11, "12", 13f, 14d, 15m); await NDashLib.NoopAsync(1, "2", 3f, 4d, 5m, 6, "7", 8f, 9d, 10m, 11, "12", 13f, 14d, 15m, 16); Assert.True(true); }
public void should_accept_up_to_16_parameters_of_varying_types() { // just make sure this always compiles NDashLib.Noop(); NDashLib.Noop(1); NDashLib.Noop(1, "2"); NDashLib.Noop(1, "2", 3f); NDashLib.Noop(1, "2", 3f, 4d); NDashLib.Noop(1, "2", 3f, 4d, 5m); NDashLib.Noop(1, "2", 3f, 4d, 5m, 6); NDashLib.Noop(1, "2", 3f, 4d, 5m, 6, "7"); NDashLib.Noop(1, "2", 3f, 4d, 5m, 6, "7", 8f); NDashLib.Noop(1, "2", 3f, 4d, 5m, 6, "7", 8f, 9d); NDashLib.Noop(1, "2", 3f, 4d, 5m, 6, "7", 8f, 9d, 10m); NDashLib.Noop(1, "2", 3f, 4d, 5m, 6, "7", 8f, 9d, 10m, 11); NDashLib.Noop(1, "2", 3f, 4d, 5m, 6, "7", 8f, 9d, 10m, 11, "12"); NDashLib.Noop(1, "2", 3f, 4d, 5m, 6, "7", 8f, 9d, 10m, 11, "12", 13f); NDashLib.Noop(1, "2", 3f, 4d, 5m, 6, "7", 8f, 9d, 10m, 11, "12", 13f, 14d); NDashLib.Noop(1, "2", 3f, 4d, 5m, 6, "7", 8f, 9d, 10m, 11, "12", 13f, 14d, 15m); NDashLib.Noop(1, "2", 3f, 4d, 5m, 6, "7", 8f, 9d, 10m, 11, "12", 13f, 14d, 15m, 16); // one promotion please Assert.True(true); }
public void should_partition_by_predicate() { var(evens, odds) = NDashLib.Partition(numbers, IsEven); Assert.Equal(expectedEvens, evens); Assert.Equal(expectedOdds, odds); }
public void should_return_parameter_by_reference() { var obj = new object(); Assert.Equal(obj, NDashLib.Identity(obj)); }