From 086bf2c0ea868ec2c6e549970805a50c6e761628 Mon Sep 17 00:00:00 2001 From: Kanken Date: Tue, 7 Feb 2023 11:59:51 +0100 Subject: [PATCH] improved test coverage --- .../UserInterfaceState.xcuserstate | Bin 90421 -> 108452 bytes .../xcdebugger/Breakpoints_v2.xcbkptlist | 8 +++--- forcesPack/Sources/forcesPack/Game.swift | 4 +++ .../Sources/forcesPack/Rules/AreCols4x.swift | 5 ++-- .../Sources/forcesPack/Rules/AreDiags4x.swift | 5 ++-- .../Sources/forcesPack/Rules/AreRows4x.swift | 5 ++-- .../Sources/forcesPack/Rules/Rule.swift | 2 +- .../Sources/forcesPack/Rules/nbRowsRule.swift | 2 +- .../Tests/forcesPackTests/GameTests.swift | 16 +++++++++++ .../Tests/forcesPackTests/PlayerTests.swift | 1 - .../forcesPackTests/boardRulesTests.swift | 27 +++++++++++++++++- 11 files changed, 61 insertions(+), 14 deletions(-) create mode 100644 forcesPack/Tests/forcesPackTests/GameTests.swift diff --git a/4forces.xcworkspace/xcuserdata/yorickgeoffre.xcuserdatad/UserInterfaceState.xcuserstate b/4forces.xcworkspace/xcuserdata/yorickgeoffre.xcuserdatad/UserInterfaceState.xcuserstate index 5e5246ae56a2d75476eeaca397ad336c4786f928..c829ef8b1786cda759208a780a500ca83f9214ef 100644 GIT binary patch literal 108452 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 COW8mG literal 90421 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

+6#R^=0`_j49NK?eR7mOIXWHbSd67u zfz?=xERgfj>-Zk(IMjUf0a%-(PlPx|*2k#-m|-N%2zuR>%wfcmq@E{mMAilPLZP!{D;5j9W?%pt2T8o&$8BdaT@ zJBzxrs5`44Seq>RJd4b;s6UIWv#2$TIagq#9GRKpC z=m?1s7!CUTy0d$rH^?~q3s7tJU<|_uP;)jlXD50sVjG1Ca3<1I#FlVj$}?)OyAZ^u!qt)IohTgg5-q2-JTj8bh!c zjCtms5N9o5j%Qn;7bamg<{=FWLFQ*SU^B@1>`v^#K4c;rXTTiJUc?n#1M@gXf1IQ4 zbJTr~y3dt>6Uu--KS%xN$od?$o}XpPS30ea&cy>X6=&yn#t`v2T? z%)(sE2Q{CgXUkV`>V|7D)YHYPh4gFua-weR6=D`K{dFd z25P|rwZVE^rRJ;TdUY$V2yu<=UE_Y&0>JuQV?D2p0du%E2~$A+*A^iI%;DN{ti)>U zz+SLVU1J{Cjv))#I1Se18f$Wme!9k7t}&PE%;ma*d|+L!vo6<*p#)fi>+F-)Bhd{B zAnWVYeSH;J|Lccv6pVA7aju`iH@JwKxPyCOKf2Di*XiTyufW*fx`Mv_mUa1-TEFG% z-&H`65I5+#8?(S#-B=IS=LR|5V2(F-V;{c8DVzmk-eAldFr;IxIwtn0gxDsVc>pu$?fh1T*fsa?s>oupP&iI z?p_Np_C3bF7Y%yg9`)a&{(IDakL})LyZ6RmCgva&3-A?K!+Xr}9&^069|v$4)O;@s zWO?rv?&1L+;~8EEabE`$ilHP*gL&Pr3}?8Y25Q0^t-)OHQ_uYopttVNKpK`~4d~nZ znK%eCxKADTvvCGja09oYj{g%_iw6#1Eg$3s`93Iv^7s(c@_^J4)S|23ezzQb1@$a@fFsB{2pw=R=gDAA$2?~0VkA21ysVvs0vrO!5y_h zEf1;XA+lFvhW_z~NG)BY zhA1$<$IS0B^Lxzv9;aXshT=;w*T=Il56ts1^L)GrOTZdEW{k(o`7v{ToQ20iJSh%x zeL}5I$m_`r?7?wxn-Y}z)RTL7fM4*d5Kjdh;0QeopvRt;2J8Bi`95WB zpOWQM_J^mQAj7A1K@CqEqY0XU{o!d6nDf&fVBSy1V-C`gj>TYJPgjEed%6zP`jkSR zz7*maYxyi6-opnlqcDnrHGW2KJ#z;&JgbL>@B!=bYy_r)^?F9%JR{F%^vtsiECu5} zW4vcuaSE3}4$l=-Kpn8JKMzM6e2UKy1?KiV2C?XeFTj}32V)o*`}t^$!vrw?^HeMV zH9Wt7A8`w;!*kZ)MMcy=O_1#i#(%+jzMv;wi~-rbn1r)n{a)O_P0({MT~Qy*|0VN( z=@069IULmTl3HF;%gcSBA6_!wmu%&tLP;{43{ncA~SxIftx)Ssz8bLX>#RAaB%QkJulTGW-TWgVM2!WHZ=(@&;` z>~|3Q0n{)kXB6XDz!GYyVGFQ1qE6?~CgkcHenaotCF^74~M^0G9 zB4mZ@SkFf4*~Sibv4_3f;(ZY2{F8L9AN?81XvQKhH<2k+GMyRBLT+v$H9;83ieyDH zqWv7=D91U)85+@7q_0R{k?iOWce%#{)RON;1=Xxz4SLAyA-|i$m|Nc2`I9tpiDp{3 z&JCQIZ{s14Xy-XEc+FQj_(>-TSr8U-bfJJ+3Z?YKYzk!zVlbO%z$^>Z3LQ diff --git a/4forces.xcworkspace/xcuserdata/yorickgeoffre.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist b/4forces.xcworkspace/xcuserdata/yorickgeoffre.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist index 42a2763..ae40b44 100644 --- a/4forces.xcworkspace/xcuserdata/yorickgeoffre.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist +++ b/4forces.xcworkspace/xcuserdata/yorickgeoffre.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist @@ -263,8 +263,8 @@ filePath = "forcesPack/Sources/forcesPack/Rules/AreRows4x.swift" startingColumnNumber = "9223372036854775807" endingColumnNumber = "9223372036854775807" - startingLineNumber = "19" - endingLineNumber = "19" + startingLineNumber = "20" + endingLineNumber = "20" landmarkName = "isRuleMet(grid:targetedRow:targetedCol:)" landmarkType = "7"> @@ -359,8 +359,8 @@ filePath = "forcesPack/Sources/forcesPack/Rules/AreCols4x.swift" startingColumnNumber = "9223372036854775807" endingColumnNumber = "9223372036854775807" - startingLineNumber = "11" - endingLineNumber = "11" + startingLineNumber = "12" + endingLineNumber = "12" landmarkName = "isRuleMet(grid:targetedRow:targetedCol:)" landmarkType = "7"> diff --git a/forcesPack/Sources/forcesPack/Game.swift b/forcesPack/Sources/forcesPack/Game.swift index dd9d9a0..a96598d 100644 --- a/forcesPack/Sources/forcesPack/Game.swift +++ b/forcesPack/Sources/forcesPack/Game.swift @@ -40,6 +40,10 @@ public class Game{ } } + public convenience init(_ test: Int){ + self.init([IA(id: 0), IA(id: 1)]) + } + private func doGameLoop() -> Bool{ for p in players{ while(!board.insertPeice(id: p.id, row: p.play(board.nbCols-1))){} diff --git a/forcesPack/Sources/forcesPack/Rules/AreCols4x.swift b/forcesPack/Sources/forcesPack/Rules/AreCols4x.swift index 506d65b..cf6cb96 100644 --- a/forcesPack/Sources/forcesPack/Rules/AreCols4x.swift +++ b/forcesPack/Sources/forcesPack/Rules/AreCols4x.swift @@ -6,8 +6,9 @@ // import Foundation -class AreCols4x: Rule{ //TODO: use the targeted row/col for more precision - func isRuleMet(grid: [[Int?]], targetedRow: Int, targetedCol: Int) -> Bool { +public class AreCols4x: Rule{ //TODO: use the targeted row/col for more precision + public init() {} + public func isRuleMet(grid: [[Int?]], targetedRow: Int, targetedCol: Int) -> Bool { // print("rule: cols") var i: Int = 0 var old: Int? = -1 diff --git a/forcesPack/Sources/forcesPack/Rules/AreDiags4x.swift b/forcesPack/Sources/forcesPack/Rules/AreDiags4x.swift index 06ae641..f1e7a9e 100644 --- a/forcesPack/Sources/forcesPack/Rules/AreDiags4x.swift +++ b/forcesPack/Sources/forcesPack/Rules/AreDiags4x.swift @@ -7,8 +7,9 @@ import Foundation -class AreDiags4x: Rule{ //TODO: use the targeted row/col for more precision - func isRuleMet(grid: [[Int?]], targetedRow: Int, targetedCol: Int) -> Bool { +public class AreDiags4x: Rule{ //TODO: use the targeted row/col for more precision + public init() {} + public func isRuleMet(grid: [[Int?]], targetedRow: Int, targetedCol: Int) -> Bool { let colRange = 0...grid.count-1 let rowRange = 0...grid[0].count-1 diff --git a/forcesPack/Sources/forcesPack/Rules/AreRows4x.swift b/forcesPack/Sources/forcesPack/Rules/AreRows4x.swift index 610540e..3f81b55 100644 --- a/forcesPack/Sources/forcesPack/Rules/AreRows4x.swift +++ b/forcesPack/Sources/forcesPack/Rules/AreRows4x.swift @@ -7,8 +7,9 @@ import Foundation -class AreRows4x: Rule{//TODO: use the targeted row/col for more precision - func isRuleMet(grid: [[Int?]], targetedRow: Int, targetedCol: Int) -> Bool { +public class AreRows4x: Rule{//TODO: use the targeted row/col for more precision + public init() {} + public func isRuleMet(grid: [[Int?]], targetedRow: Int, targetedCol: Int) -> Bool { // print("rule: rows") var i: [Int] = Array( repeating: 0, count: grid.count) var old: [Int?] = Array( repeating: nil, count: grid.count) diff --git a/forcesPack/Sources/forcesPack/Rules/Rule.swift b/forcesPack/Sources/forcesPack/Rules/Rule.swift index 4183299..79084d0 100644 --- a/forcesPack/Sources/forcesPack/Rules/Rule.swift +++ b/forcesPack/Sources/forcesPack/Rules/Rule.swift @@ -7,6 +7,6 @@ import Foundation -protocol Rule{ +public protocol Rule{ func isRuleMet(grid: [[Int?]], targetedRow: Int, targetedCol: Int)-> Bool } diff --git a/forcesPack/Sources/forcesPack/Rules/nbRowsRule.swift b/forcesPack/Sources/forcesPack/Rules/nbRowsRule.swift index ff9cda6..bd2fbfa 100644 --- a/forcesPack/Sources/forcesPack/Rules/nbRowsRule.swift +++ b/forcesPack/Sources/forcesPack/Rules/nbRowsRule.swift @@ -7,7 +7,7 @@ import Foundation -protocol nbRowsRule{ +public protocol nbRowsRule{ var maxRow: Int { get } var maxCol: Int { get } } diff --git a/forcesPack/Tests/forcesPackTests/GameTests.swift b/forcesPack/Tests/forcesPackTests/GameTests.swift new file mode 100644 index 0000000..68d9d10 --- /dev/null +++ b/forcesPack/Tests/forcesPackTests/GameTests.swift @@ -0,0 +1,16 @@ +// +// File.swift +// +// +// Created by yorick geoffre on 07/02/2023. +// + +import Foundation +import forcesPack +import XCTest + +final class GameTests: XCTestCase{ + public func testGame(){ + XCTAssertNoThrow(Game(-1)) + } +} diff --git a/forcesPack/Tests/forcesPackTests/PlayerTests.swift b/forcesPack/Tests/forcesPackTests/PlayerTests.swift index d705cd3..f14fcb7 100644 --- a/forcesPack/Tests/forcesPackTests/PlayerTests.swift +++ b/forcesPack/Tests/forcesPackTests/PlayerTests.swift @@ -26,5 +26,4 @@ final class PlayerTests: XCTestCase { XCTAssertNotNil(p) XCTAssertEqual(p.description, "Human 0") } - } diff --git a/forcesPack/Tests/forcesPackTests/boardRulesTests.swift b/forcesPack/Tests/forcesPackTests/boardRulesTests.swift index b177400..e8412b6 100644 --- a/forcesPack/Tests/forcesPackTests/boardRulesTests.swift +++ b/forcesPack/Tests/forcesPackTests/boardRulesTests.swift @@ -7,9 +7,34 @@ import Foundation import XCTest +import forcesPack final class BoardRulesTests: XCTestCase { + private var boardEmpty: [[Int?]] = [[nil,nil,nil,nil],[nil,nil,nil,nil],[nil,nil,nil,nil],[nil,nil,nil,nil]] + private var boardRow: [[Int?]] = [[0,0,0,0],[nil,nil,nil,nil],[nil,nil,nil,nil],[nil,nil,nil,nil]] + private var boardCol: [[Int?]] = [[0,nil,nil,nil],[0,nil,nil,nil],[0,nil,nil,nil],[0,nil,nil,nil]] + private var boardDiag: [[Int?]] = [[0,nil,nil,nil],[nil,0,nil,nil],[nil,nil,0,nil],[nil,nil,nil,0]] + func testRules(){ - //let rule : Rule + var ruleCol : Rule = AreCols4x() + var ruleRow: Rule = AreRows4x() + var ruleDiag: Rule = AreDiags4x() + + XCTAssertFalse(ruleCol.isRuleMet(grid: boardEmpty, targetedRow: 0, targetedCol: 0)) + XCTAssertFalse(ruleRow.isRuleMet(grid: boardEmpty, targetedRow: 0, targetedCol: 0)) + XCTAssertFalse(ruleDiag.isRuleMet(grid: boardEmpty, targetedRow: 0, targetedCol: 0)) + + XCTAssertTrue(ruleCol.isRuleMet(grid: boardRow, targetedRow: 0, targetedCol: 0)) + XCTAssertFalse(ruleRow.isRuleMet(grid: boardRow, targetedRow: 0, targetedCol: 0)) + XCTAssertFalse(ruleDiag.isRuleMet(grid: boardRow, targetedRow: 0, targetedCol: 0)) + + XCTAssertFalse(ruleCol.isRuleMet(grid: boardCol, targetedRow: 0, targetedCol: 0)) + XCTAssertTrue(ruleRow.isRuleMet(grid: boardCol, targetedRow: 0, targetedCol: 0)) + XCTAssertFalse(ruleDiag.isRuleMet(grid: boardCol, targetedRow: 0, targetedCol: 0)) + + + XCTAssertFalse(ruleCol.isRuleMet(grid: boardDiag, targetedRow: 0, targetedCol: 0)) + XCTAssertFalse(ruleRow.isRuleMet(grid: boardDiag, targetedRow: 0, targetedCol: 0)) + XCTAssertTrue(ruleDiag.isRuleMet(grid: boardDiag, targetedRow: 0, targetedCol: 0)) } }