Основной вопрос здесь заключается в том, как спроектировать экземпляр DateTime
в значение недели года. Это можно сделать, вызвав Calendar.GetWeekOfYear
. Определите проекцию:
Func weekProjector =
d => CultureInfo.CurrentCulture.Calendar.GetWeekOfYear(
d,
CalendarWeekRule.FirstFourDayWeek,
DayOfWeek.Sunday);
Вы можете точно определить, как определяется номер недели, путем настройки параметров в вызове метода. Вы также можете определить проекцию, например. если вы предпочитаете метод расширения; это не меняет сути кода. В любом случае вы готовы к групповой работе по неделям:
var consignmentsByWeek = from con in consignments
group con by weekProjector(con.Date);
Если вы также хотите ограничить вывод на конвейеры между двумя конкретными датами, просто добавьте соответствующее предложение where
; логика группировки не изменяется.
Измените цикл while
на цикл for
и объявите переменную: i
на let
, а не var
let
может объявить переменную в области видимости блока кода, например [117 ], Блок if
и т. Д. Но var
не может.
Поскольку транспортир api выполняет асинхронное выполнение, таким образом, когда expect()...
выполняется во второй раз. значение i
стало 2
, а не 1
for(let i=0;i<2;i++) {
describe('TC1 - The registration Page', function() {
....
})
}