private void Awake() { buildingRange = GetComponentInParent <BuildingRange>(); }
// TODO: コルーチンにする private void CreateTestData() { List <Revision> testData = new List <Revision>() { new Revision(1, "このコミットは成功しています"), new Revision(2, "機能Aを実装" + Environment.NewLine + "* ビルドエラーがあるはず"), new Revision(3, "機能Bを実装" + Environment.NewLine + "* テスト通過済み"), new Revision(4, "機能Aのビルドエラーを修正しました"), new Revision(5, "機能Cの改良" + Environment.NewLine + "* テスト通過済み"), new Revision(6, "hoge" + Environment.NewLine + "fuga" + Environment.NewLine + "piyo"), new Revision(7, "ほげほげふがふがほげほげふがふがほげほげふがふが長いコミットメッセージほげほげふがふがほげほげふがふがほげほげふがふが"), }; list = testData; BuildingRange = MakeRange(null, null); SuccessRange = MakeRange(null, null); FailureRange = MakeRange(null, null); PendingRange = MakeRange(null, null); ///////////////////////////////////////// // ◆1回目 // - 1回目のビルド(until rev.1)は 成功 // [ビルド待ち] 1 RecieveCommitNotification(1); Debug.Assert(PendingRange.GetSequence().SequenceEqual(Enumerable.Range(1, 1))); Debug.Assert(BuildingRange.GetSequence().SequenceEqual(Enumerable.Range(0, 0))); Debug.Assert(SuccessRange.GetSequence().SequenceEqual(Enumerable.Range(0, 0))); Debug.Assert(FailureRange.GetSequence().SequenceEqual(Enumerable.Range(0, 0))); // [ビルド中] 1 RecieveNewBuildNotification(1); Debug.Assert(PendingRange.GetSequence().SequenceEqual(Enumerable.Range(0, 0))); Debug.Assert(BuildingRange.GetSequence().SequenceEqual(Enumerable.Range(1, 1))); Debug.Assert(SuccessRange.GetSequence().SequenceEqual(Enumerable.Range(0, 0))); Debug.Assert(FailureRange.GetSequence().SequenceEqual(Enumerable.Range(0, 0))); // [成功] 1 RecieveBuildResult(1, BuildState.Success); Debug.Assert(PendingRange.GetSequence().SequenceEqual(Enumerable.Range(0, 0))); Debug.Assert(BuildingRange.GetSequence().SequenceEqual(Enumerable.Range(0, 0))); Debug.Assert(SuccessRange.GetSequence().SequenceEqual(Enumerable.Range(1, 1))); Debug.Assert(FailureRange.GetSequence().SequenceEqual(Enumerable.Range(0, 0))); ///////////////////////////////////////// // ◆2回目 // - 2回目のビルド(until rev.3)は エラー // [成功] 1 / [ビルド待ち] 2,3 RecieveCommitNotification(2); RecieveCommitNotification(3); Debug.Assert(PendingRange.GetSequence().SequenceEqual(Enumerable.Range(2, 3))); Debug.Assert(BuildingRange.GetSequence().SequenceEqual(Enumerable.Range(0, 0))); Debug.Assert(SuccessRange.GetSequence().SequenceEqual(Enumerable.Range(1, 1))); Debug.Assert(FailureRange.GetSequence().SequenceEqual(Enumerable.Range(0, 0))); // [成功] 1 / [ビルド中] 2,3 RecieveNewBuildNotification(3); Debug.Assert(PendingRange.GetSequence().SequenceEqual(Enumerable.Range(0, 0))); Debug.Assert(BuildingRange.GetSequence().SequenceEqual(Enumerable.Range(2, 3))); Debug.Assert(SuccessRange.GetSequence().SequenceEqual(Enumerable.Range(1, 1))); Debug.Assert(FailureRange.GetSequence().SequenceEqual(Enumerable.Range(0, 0))); // [成功] 1 / [失敗] 2,3 RecieveBuildResult(3, BuildState.Failure); Debug.Assert(PendingRange.GetSequence().SequenceEqual(Enumerable.Range(0, 0))); Debug.Assert(BuildingRange.GetSequence().SequenceEqual(Enumerable.Range(0, 0))); Debug.Assert(SuccessRange.GetSequence().SequenceEqual(Enumerable.Range(1, 1))); Debug.Assert(FailureRange.GetSequence().SequenceEqual(Enumerable.Range(2, 3))); ///////////////////////////////////////// // ◆3回目 // - 3回目のビルド(until rev.5)で エラー修正 // - 3回目のビルド中に、rev.6 + rev.7 が コミットされた // [成功] 1 / [失敗] 2,3 / [ビルド待ち] 4,5 RecieveCommitNotification(4); RecieveCommitNotification(5); Debug.Assert(PendingRange.GetSequence().SequenceEqual(Enumerable.Range(4, 5))); Debug.Assert(BuildingRange.GetSequence().SequenceEqual(Enumerable.Range(0, 0))); Debug.Assert(SuccessRange.GetSequence().SequenceEqual(Enumerable.Range(1, 1))); Debug.Assert(FailureRange.GetSequence().SequenceEqual(Enumerable.Range(2, 3))); // [成功] 1 / [失敗] 2,3 / [ビルド中] 4,5 RecieveNewBuildNotification(5); Debug.Assert(PendingRange.GetSequence().SequenceEqual(Enumerable.Range(0, 0))); Debug.Assert(BuildingRange.GetSequence().SequenceEqual(Enumerable.Range(4, 5))); Debug.Assert(SuccessRange.GetSequence().SequenceEqual(Enumerable.Range(1, 1))); Debug.Assert(FailureRange.GetSequence().SequenceEqual(Enumerable.Range(2, 3))); // [成功] 1 / [失敗] 2,3 / [ビルド中] 4,5 / [ビルド待ち] 6,7 RecieveCommitNotification(6); RecieveCommitNotification(7); Debug.Assert(PendingRange.GetSequence().SequenceEqual(Enumerable.Range(6, 7))); Debug.Assert(BuildingRange.GetSequence().SequenceEqual(Enumerable.Range(4, 5))); Debug.Assert(SuccessRange.GetSequence().SequenceEqual(Enumerable.Range(1, 1))); Debug.Assert(FailureRange.GetSequence().SequenceEqual(Enumerable.Range(2, 3))); #if false // [成功] 1,(2),(3),4,5 / [ビルド待ち] 6,7 RecieveBuildResult(5, BuildState.Success); Debug.Assert(PendingRange.GetSequence().SequenceEqual(Enumerable.Range(6, 7))); Debug.Assert(BuildingRange.GetSequence().SequenceEqual(Enumerable.Range(0, 0))); Debug.Assert(SuccessRange.GetSequence().SequenceEqual(Enumerable.Range(1, 5))); Debug.Assert(FailureRange.GetSequence().SequenceEqual(Enumerable.Range(0, 0))); #endif }