Как объединить список списков с тем же типом объектов к единственному списку объектов?

Вы также можете использовать плагин chai, чтобы шпионить за пользовательскими функциями в вашем файле jsx.

// to use this pluggin add this to the top of your testing file

const chai = require("chai"), spies = require("chai-spies");
chai.use(spies);
import Foo from ".//Foo.jsx";

describe("Foo", () => {
  it("a call to customFunction will not error", () => {
    let spy = chai.spy(Foo.prototype, "customFunciton"); // spy
    const wrapper = mount();
    wrapper.setProps({bar: "baz"}); // manipulate you component in some way
    expect(spy).to.have.been.called.once();
  });
});

@ leland-richardson прав, это зависит от того, что делает ваш тест. Понимание этого поможет вам найти новые способы манипулирования вашим компонентом и, следовательно, сделать утверждения.

Еще один пример тестирования функции, которая обновляет состояние ваших компонентов.

it("function will assert new state", () => {
  const wrapper = shallow();
  wrapper.instance.customFunction(); // call custom function
  wrapper.update();
  expect(wrapper.state("bar")).to.equal("new-state");
});

У Chai-spies также есть несколько цепных геттеров, которые значительно облегчают тестирование пользовательских функций. Пожалуйста, смотрите документы для более подробного объяснения.

190
задан Dan Lugg 13 August 2013 в 04:22
поделиться

3 ответа

Используйте метод расширения SelectMany

list = listOfList.SelectMany(x => x).ToList();
414
ответ дан 23 November 2019 в 05:36
поделиться

Вы имеете в виду это?

var listOfList = new List<List<int>>() {
    new List<int>() { 1, 2 },
    new List<int>() { 3, 4 },
    new List<int>() { 5, 6 }
};
var list = new List<int> { 9, 9, 9 };
var result = list.Concat(listOfList.SelectMany(x => x));

foreach (var x in result) Console.WriteLine(x);

Результатов: 9 9 9 1 2 3 4 5 6

12
ответ дан 23 November 2019 в 05:36
поделиться

Вот версия интегрированного синтаксиса C #:

var items =
    from list in listOfList
    from item in list
    select item;
13
ответ дан 23 November 2019 в 05:36
поделиться
Другие вопросы по тегам:

Похожие вопросы: