From f6c978f26932597eef637aeffa95468c1ed1b587 Mon Sep 17 00:00:00 2001
From: Gabrielle van de Vijver <gabrielle.van-de-vijver@etu.utc.fr>
Date: Mon, 2 Oct 2023 22:43:13 +0200
Subject: [PATCH] TieBreakFactory fonctionnelle sans gestion d'erreur

---
 comsoc/TieBreak.go | 34 ++++++++++++++++++++++++++++++++++
 1 file changed, 34 insertions(+)
 create mode 100644 comsoc/TieBreak.go

diff --git a/comsoc/TieBreak.go b/comsoc/TieBreak.go
new file mode 100644
index 0000000..341f73b
--- /dev/null
+++ b/comsoc/TieBreak.go
@@ -0,0 +1,34 @@
+
+package comsoc
+import("fmt")
+ 
+func TieBreakFactory(orderedAlts []Alternative) (func ([]Alternative) (Alternative, error)){
+		return func (bestAlts []Alternative) (Alternative, error) {
+			bestAlt := bestAlts[0]
+			for _,alt:= range bestAlts[1:]{
+				if isPref(alt,bestAlt,orderedAlts){
+					bestAlt = alt
+				}
+			}
+			return bestAlt, nil
+		}
+}
+
+func Test_tieBreakFactory(){
+	orderedAlts := []Alternative{8,9,6,1,3,2}
+	fmt.Println("Ordre strict :", orderedAlts)
+	lambda:=TieBreakFactory(orderedAlts)
+	bestAlts := []Alternative{3,6}
+	fmt.Println("Premières alternatives à départager :", bestAlts)
+	bestAlt,_ := lambda(bestAlts)
+	fmt.Println("Première alternative :", bestAlt)
+}
+
+// func SWFFactory(func swf(p Profile) (Count, error), func ([]Alternative) (Alternative, error)) (func(Profile) ([]Alternative, error)){
+	
+	
+// 	return func ([]Alternative) (Alternative, error) {
+// 		return orderedAlts[0],nil
+// 	}
+// }
+//func SCFFactory(func scf(p Profile) ([]Alternative, error), func ([]Alternative) (Alternative, error)) (func(Profile) (Alternative, error))
-- 
GitLab