Slide 102
Slide 102 text
8 X 4 = 32 POSSIBLE STATES!
# one-way
%{direction: "one-way", departure: Date.t(), return: Date.t(), errors: []}
%{direction: "one-way", departure: Date.t(), return: Date.t(), errors: [:departure]}
%{direction: "one-way", departure: Date.t(), return: Date.t(), errors: [:return]}
%{direction: "one-way", departure: Date.t(), return: Date.t(), errors: [:departure, :return]}
%{direction: "one-way", departure: nil, return: Date.t(), errors: []}
%{direction: "one-way", departure: nil, return: Date.t(), errors: [:departure]}
%{direction: "one-way", departure: nil, return: Date.t(), errors: [:return]}
%{direction: "one-way", departure: nil, return: Date.t(), errors: [:departure, :return]}
%{direction: "one-way", departure: Date.t(), return: nil, errors: []}
%{direction: "one-way", departure: Date.t(), return: nil, errors: [:departure]}
%{direction: "one-way", departure: Date.t(), return: nil, errors: [:return]}
%{direction: "one-way", departure: Date.t(), return: nil, errors: [:departure, :return]}
%{direction: "one-way", departure: nil, return: nil, errors: []}
%{direction: "one-way", departure: nil, return: nil, errors: [:departure]}
%{direction: "one-way", departure: nil, return: nil, errors: [:return]}
%{direction: "one-way", departure: nil, return: nil, errors: [:departure, :return]}
# two-way
%{direction: "two-way", departure: Date.t(), return: Date.t(), errors: []}
%{direction: "two-way", departure: Date.t(), return: Date.t(), errors: [:departure]}
%{direction: "two-way", departure: Date.t(), return: Date.t(), errors: [:return]}
%{direction: "two-way", departure: Date.t(), return: Date.t(), errors: [:departure, :return]}
%{direction: "two-way", departure: nil, return: Date.t(), errors: []}
%{direction: "two-way", departure: nil, return: Date.t(), errors: [:departure]}
%{direction: "two-way", departure: nil, return: Date.t(), errors: [:return]}
%{direction: "two-way", departure: nil, return: Date.t(), errors: [:departure, :return]}
%{direction: "two-way", departure: Date.t(), return: nil, errors: []}
%{direction: "two-way", departure: Date.t(), return: nil, errors: [:departure]}
%{direction: "two-way", departure: Date.t(), return: nil, errors: [:return]}
%{direction: "two-way", departure: Date.t(), return: nil, errors: [:departure, :return]}
%{direction: "two-way", departure: nil, return: nil, errors: []}
%{direction: "two-way", departure: nil, return: nil, errors: [:departure]}
%{direction: "two-way", departure: nil, return: nil, errors: [:return]}
%{direction: "two-way", departure: nil, return: nil, errors: [:departure, :return]}