// Copyright 2014 The Flutter Authors. All rights reserved.// Use of this source code is governed by a BSD-style license that can be// found in the LICENSE file.import'package:flutter/rendering.dart';import'package:flutter_api_samples/widgets/scroll_view/grid_view.0.dart';import'package:flutter_test/flutter_test.dart';voidmain(){testWidgets('$CustomGridLayout',(WidgetTestertester)async{constCustomGridLayoutlayout=CustomGridLayout(crossAxisCount:2,fullRowPeriod:3,dimension:100,);finalList<double>scrollOffsets=List<double>.generate(10,(inti)=>layout.computeMaxScrollOffset(i));expect(scrollOffsets,<double>[0.0,0.0,100.0,100.0,200.0,300.0,300.0,400.0,400.0,500.0]);finalList<int>minOffsets=List<int>.generate(10,(inti)=>layout.getMinChildIndexForScrollOffset(i*80.0));expect(minOffsets,<int>[0,0,2,4,5,7,7,9,10,12]);finalList<int>maxOffsets=List<int>.generate(10,(inti)=>layout.getMaxChildIndexForScrollOffset(i*80.0));expect(maxOffsets,<double>[1,1,3,4,6,8,8,9,11,13]);finalList<SliverGridGeometry>offsets=List<SliverGridGeometry>.generate(20,(inti)=>layout.getGeometryForChildIndex(i));offsets.reduce((SliverGridGeometrya,SliverGridGeometryb){if(a.scrollOffset==b.scrollOffset){expect(a.crossAxisOffset,lessThan(b.crossAxisOffset));}else{expect(a.scrollOffset,lessThan(b.scrollOffset));}returnb;});});}