Character Sprites not changing

I wanted to make the character sprites change based on health. But it’s not changing in the game. Here is my code:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;

public class Unit : MonoBehaviour
{

public string unitName;
public int unitLevel;

public int damage;

public int maxHP;
public int currentHP;

public int maxEnergy;
public int currentEnergy;

public string Move1;
public string Move2;
public string Move3;
public string Move4;
public string SPMove;

public Sprite FullHP;
public Sprite SpecialMove;
public Sprite LowHP;



public bool Damage(int dmg)
{

    currentHP -= dmg;
    if (currentHP <= 0)
        return true;
    else
        return false;

}

public bool TakeDamage(int dmg)
{
    currentHP -= dmg;

    if (currentHP <= 0)
        return true;
    else
        return false;
}

public void Heal(int amount)
{
    currentHP += amount;
    if (currentHP > maxHP)
        currentHP = maxHP;
}



private void DynamicPortraits()
{

    if (currentHP <= 25)
    {

        this.gameObject.GetComponent<SpriteRenderer>().sprite = LowHP;

    }

    if (currentHP >= 25)
    {

        this.gameObject.GetComponent<SpriteRenderer>().sprite = FullHP;

    }

}     

}

As I can see the function DynamicPortraits() is not called anywhere. In theory, it should be placed in void Update(){…}