public IEnumerator GetTimeDelta()
    {
        var appraoch = new CastProjectileApproach();

        yield return(new WaitForFixedUpdate());

        Assert.AreEqual(Time.fixedDeltaTime, appraoch.GetTimeDelta());
    }
    public void GetPosition()
    {
        var obj      = new GameObject("obj").AddComponent <CharacterSheetMB>();
        var appraoch = new CastProjectileApproach();

        obj.transform.position = Vector3.down;

        Assert.AreEqual(Vector3.down, appraoch.GetPosition(obj));
    }
    public void PostUpdate()
    {
        var transform = new GameObject("transform").transform;
        var target    = new GameObject("target").AddComponent <CharacterSheetMB>();
        var appraoch  = new CastProjectileApproach();

        target.transform.position = Vector3.up;

        appraoch.PostUpdate(transform, target);

        Tools.AssertEqual(
            Quaternion.LookRotation(Vector3.up).eulerAngles,
            transform.rotation.eulerAngles
            );
    }