From 9b831d2a2401c771cf43a37b27c8909d6b9c9ba8 Mon Sep 17 00:00:00 2001
From: Chimrod <>
Date: Wed, 25 Dec 2024 20:52:03 +0100
Subject: Fixed a bug in the analysis of the min arguments

---
 test/get_type.ml | 25 +++++++++++++++++++++++++
 1 file changed, 25 insertions(+)

(limited to 'test')

diff --git a/test/get_type.ml b/test/get_type.ml
index 40b3151..55f087e 100644
--- a/test/get_type.ml
+++ b/test/get_type.ml
@@ -66,6 +66,30 @@ let literal_4 () =
   let msg = "" in
   Alcotest.(check' type_of ~msg ~expected ~actual)
 
+let min () =
+  let actual = Get_type.function_ _position T.Min [] in
+  let expected = Get_type.(Raw Bool) in
+  let msg = "The function min without argument return a default value" in
+  Alcotest.(check' type_of ~msg ~expected ~actual);
+
+  let actual =
+    Get_type.function_ _position T.Min [ Get_type.literal _position [] ]
+  in
+  let expected = Get_type.(Variable NumericString) in
+  let msg =
+    "The function min with a literal will take the literal as the name of an \
+     array"
+  in
+  Alcotest.(check' type_of ~msg ~expected ~actual);
+
+  let actual =
+    Get_type.function_ _position T.Min
+      [ Get_type.integer _position ""; Get_type.integer _position "" ]
+  in
+  let expected = Get_type.(Raw Integer) in
+  let msg = "With two or more arguments, return the type of the first one" in
+  Alcotest.(check' type_of ~msg ~expected ~actual)
+
 let test =
   ( "Type expression",
     [
@@ -76,4 +100,5 @@ let test =
       Alcotest.test_case "1<<int>>" `Quick literal_2;
       Alcotest.test_case "b<<int>>" `Quick literal_3;
       Alcotest.test_case "<<$int>>" `Quick literal_4;
+      Alcotest.test_case "min" `Quick min;
     ] )
-- 
cgit v1.2.3