Article 38 of the Statute of the International Court of Justice lists the formal sources of international law that the ICJ applies in resolving disputes between states.
Statute of the ICJ, Article 38
The ICJ clarified the requirements for establishing customary international law: state practice must be both general and consistent, accompanied by opinio juris.
The ICJ applied customary international law on the prohibition of the use of force and the principle of non-intervention in internal affairs.
When Uganda enters into international treaties, they must be ratified and domesticated through an Act of Parliament before they become enforceable in domestic courts.
The Article 38 list is your starting framework for any international law question. Memorise it and be able to explain each source with at least one case example.