Unit testing 如何使用管理订单的等式创建LinkedHashMap

Unit testing 如何使用管理订单的等式创建LinkedHashMap,unit-testing,dart,linkedhashmap,Unit Testing,Dart,Linkedhashmap,在我的单元测试中,我需要测试元素的顺序,如下所示: test("Check map order", () { LinkedHashMap<String, String> actualMap = LinkedHashMap(); actualMap["0"] = "firstValue"; actualMap["1"] = "secondValue"; LinkedHas

在我的单元测试中,我需要测试元素的顺序,如下所示:

test("Check map order", () {
  LinkedHashMap<String, String> actualMap = LinkedHashMap();
  actualMap["0"] = "firstValue";
  actualMap["1"] = "secondValue";
  LinkedHashMap<String, String> expectedMap = LinkedHashMap();
  expectedMap["1"] = "secondValue";
  expectedMap["0"] = "firstValue";
  print("actual: $actualMap");
  print("expected: $expectedMap");
  expect(actualMap, isNot(expectedMap));
});
测试(“检查映射顺序”,(){
LinkedHashMap actualMap=LinkedHashMap();
actualMap[“0”]=“firstValue”;
actualMap[“1”]=“secondValue”;
LinkedHashMap expectedMap=LinkedHashMap();
expectedMap[“1”]=“secondValue”;
expectedMap[“0”]=“firstValue”;
打印(“实际:$actualMap”);
打印(“预期:$expectedMap”);
expect(实际映射,isNot(expectedMap));
});
如果遵守以下顺序,则此测试失败:

actual: {0: firstValue, 1: secondValue}
expected: {1: secondValue, 0: firstValue}
package:test_api                                                      expect
test/services/game/negotiation/NegotiationGameService_test.dart 33:7  main.<fn>.<fn>

Expected: not {'1': 'secondValue', '0': 'firstValue'}
  Actual: {'0': 'firstValue', '1': 'secondValue'}
actual:{0:firstValue,1:secondValue}
应为:{1:secondValue,0:firstValue}
包:test_api expect
测试/服务/游戏/谈判/谈判GameService_测试dart 33:7主。。
应为:不是{1':'secondValue',0':'firstValue'}
实际值:{'0':'firstValue','1':'secondValue'}

第一个可行但有点无聊的想法:

test("Check map order", () {
  LinkedHashMap<String, String> actualMap = LinkedHashMap();
  actualMap["0"] = "firstValue";
  actualMap["1"] = "secondValue";
  LinkedHashMap<String, String> expectedMapSameOrder = LinkedHashMap();
  expectedMap["0"] = "firstValue";
  expectedMap["1"] = "secondValue";
  LinkedHashMap<String, String> expectedMapDifferentOrder = LinkedHashMap();
  expectedMap["1"] = "secondValue";
  expectedMap["0"] = "firstValue";
  print("actual: $actualMap");
  print("expected: $expectedMapSameOrder");
  print("expected: $expectedMapDifferentOrder");
  expect(actualMap, expectedMapSameOrder);
  expect(actualMap.keys, isNot(orderedEquals(expectedMapSameOrder.keys)));
  expect(actualMap, expectedMapDifferentOrder);
  expect(actualMap.keys, orderedEquals(expectedMapDifferentOrder.keys));
});
测试(“检查映射顺序”,(){
LinkedHashMap actualMap=LinkedHashMap();
actualMap[“0”]=“firstValue”;
actualMap[“1”]=“secondValue”;
LinkedHashMap expectedMapSameOrder=LinkedHashMap();
expectedMap[“0”]=“firstValue”;
expectedMap[“1”]=“secondValue”;
LinkedHashMap ExpectedMapDifferentitorder=LinkedHashMap();
expectedMap[“1”]=“secondValue”;
expectedMap[“0”]=“firstValue”;
打印(“实际:$actualMap”);
打印(“预期:$ExpectedMosameOrder”);
打印(“预期:$ExpectedMapDifferentientOrder”);
expect(实际地图、预期地图订单);
expect(actualMap.keys,isNot(orderedEquals(expectedmasameorder.keys));
expect(实际映射,expectedMapDifferentientOrder);
expect(actualMap.keys,orderedquals(expectedMapDifferentitorder.keys));
});