public override void OnInspectorGUI() { DrawDefaultInspector(); LevelImporter importer = (LevelImporter)target; if (GUILayout.Button("Import Level")) { importer.Import(); } }
public void TestReadWriteData() { var gridEditorSettingsForExport = Substitute.For <IGridEditorSettings>(); var gridEditorSettingsForImport = Substitute.For <IGridEditorSettings>(); LevelSummary expectedLevelSummary = new LevelSummary(59, "the level name"); for (int i = 0; i < 10; i++) { expectedLevelSummary.BallData.Add(CreateRandomBallData()); } gridEditorSettingsForExport.GetExportData().Returns(expectedLevelSummary); LevelSummary actualLevelSummary = null; gridEditorSettingsForImport .When(e => e.SetLevelData(Arg.Any <LevelSummary>())) .Do(x => actualLevelSummary = x.Arg <LevelSummary>()); var levelExporter = new LevelExporter(gridEditorSettingsForExport); var levelImporter = new LevelImporter(gridEditorSettingsForImport); levelExporter.Export(); var expectedFile = GameConstants.Levels.RelativeResourcePath + "level-" + expectedLevelSummary.OrdinalNumber + ".bin"; FileAssert.Exists(expectedFile); var successfullyImported = levelImporter.Import(expectedFile); Assert.True(successfullyImported); Assert.NotNull(actualLevelSummary); Assert.AreEqual(expectedLevelSummary.LevelNumber, actualLevelSummary.LevelNumber); Assert.AreEqual(expectedLevelSummary.OrdinalNumber, actualLevelSummary.OrdinalNumber); CollectionAssert.AreEquivalent(expectedLevelSummary.BallData, actualLevelSummary.BallData); }