﻿/// Quandary.cs
/// https://github.com/Battenburg/Lysithea

namespace Lysithea
{
    public class Quandary<T>
    {
        private T _initial;

        private T _final;

        /// <summary>
        /// Construct an instance of a quandary object, allowing the clear definition
        /// of an intial and final state in a system.
        /// </summary>
        /// <param name="initial">Instance of object defining the inital state.</param>
        /// <param name="final">Instance of object defining the final state.</param>
        public Quandary(T initial, T final)
        {
            this._initial = initial;
            this._final = final;
        }

        public T Final
        {
            get { return _final; }
            set { this._final = value; }
        }

        public T Initial
        {
            get { return _initial; }
            set { this._initial = value; }
        }
    }
}