예제 #1
0
        private 予約希望 予約希望つくる(string[] args)
        {
            // TODO: パース(下準備) と、予約希望を作るところを分ける?
            // TODO: meetingRoom, 予約開始DateTime, 予約終了DateTime だけをパースとして分離する?
            // TODO: UIExceptionと、ドメインのExceptionとかを作る。
            //           ==> (ここ→は改めて決定)層ごとに抽象例外クラスを作って、具体的な個々の例外はそのサブクラスにすると扱いやすいと思ってる。
            // TODO2: SQLite 入れるとか、永続化に関することも今後やりたい。

            var meetingRoom  = new MeetingRoom((MeetingRoomName)Enum.Parse(typeof(MeetingRoomName), args[0])); //TODO: TryParse() にする?
            var 予約開始DateTime = DateTime.Parse(args[1]);                                                        // 同上
            var 予約終了DateTime = DateTime.Parse(args[2]);

            予約開始日時 予約開始日時 = 予約時間Parser.予約開始日時をつくる(予約開始DateTime);
            予約終了日時 予約終了日時 = 予約時間Parser.予約終了日時をつくる(予約終了DateTime);

            var 予約希望 = new 予約希望(meetingRoom,
                                new ReserverId(),
                                new 予約期間(予約開始日時, 予約終了日時),
                                new 想定使用人数());

            return(予約希望);
        }
예제 #2
0
        public void 新規予約をして予約一覧に予約があること()
        {
            // TODO: テスト名
            var せつぞく        = new ConnectionBuilder("reserve.db");
            var repository  = new DapperSQLite予約希望Repository(せつぞく);
            var meetingRoom = new MeetingRoom(MeetingRoomName.A);

            予約開始日時 予約開始日時 = new 予約開始日時(new 予約年月日(2020, 5, 23), 予約開始_時._10, 予約_分._00);
            予約終了日時 予約終了日時 = new 予約終了日時(new 予約年月日(2020, 5, 23), 予約終了_時._12, 予約_分._00);

            var reserve = new 予約希望(meetingRoom,
                                   new ReserverId(),
                                   new 予約期間(予約開始日時, 予約終了日時),
                                   new 想定使用人数());

            repository.Save(reserve);

            var reserveList = repository.この日の予約一覧をください(new 予約年月日(2020, 5, 23));

            // TODO: かなりあやしいインターフェースです
            reserveList.かぶってますか(reserve).ShouldBeTrue();
        }