From ec41e72c167aff7e4482580b58d53561c4a636d9 Mon Sep 17 00:00:00 2001 From: iamgabrielma Date: Thu, 5 Aug 2021 10:07:44 +0700 Subject: [PATCH] Initial unit tests --- .../UserInterfaceState.xcuserstate | Bin 20523 -> 28459 bytes .../xcdebugger/Breakpoints_v2.xcbkptlist | 56 ++++++++++++++++++ TA SignalsTests/TA_SignalsTests.swift | 51 +++++++++++----- 3 files changed, 93 insertions(+), 14 deletions(-) create mode 100644 TA Signals.xcodeproj/xcuserdata/iamgabrielma.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist diff --git a/TA Signals.xcodeproj/project.xcworkspace/xcuserdata/iamgabrielma.xcuserdatad/UserInterfaceState.xcuserstate b/TA Signals.xcodeproj/project.xcworkspace/xcuserdata/iamgabrielma.xcuserdatad/UserInterfaceState.xcuserstate index 88738819765a2311c1741001401a5b48bc26b5fa..5652ad1d0fc836334cb26a43dcd47ac123f90884 100644 GIT binary patch delta 13111 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 + + + + + + + + + + + + + + + + diff --git a/TA SignalsTests/TA_SignalsTests.swift b/TA SignalsTests/TA_SignalsTests.swift index 5e51479..dec8fba 100644 --- a/TA SignalsTests/TA_SignalsTests.swift +++ b/TA SignalsTests/TA_SignalsTests.swift @@ -9,25 +9,48 @@ import XCTest @testable import TA_Signals class TA_SignalsTests: XCTestCase { - - override func setUpWithError() throws { - // Put setup code here. This method is called before the invocation of each test method in the class. + + func test_fetch_base_url(){ + + let url = AppConstants.baseURL + let expectedURL = "https://raw.githubusercontent.com/iamgabrielma/Python-for-stock-market-analysis/main/testData/" + + XCTAssertEqual(url, expectedURL) + } + + func test_if_market_open() throws { + + let appSettings = TASettings() + let isMarketOpen = { + return appSettings.isMarketOpen + } + // Skip test if market is closed, as will fail: + try XCTSkipIf(!isMarketOpen(), "Skipping test, market is closed.") + XCTAssertEqual(isMarketOpen(), true) - override func tearDownWithError() throws { - // Put teardown code here. This method is called after the invocation of each test method in the class. } + + func test_if_market_closed() throws { + + let appSettings = TASettings() + let isMarketOpen = { + return appSettings.isMarketOpen + } + // Skip test if market is open, as will fail: + try XCTSkipIf(isMarketOpen(), "Skipping test, market is open.") + XCTAssertEqual(isMarketOpen(), false) - func testExample() throws { - // This is an example of a functional test case. - // Use XCTAssert and related functions to verify your tests produce the correct results. } - func testPerformanceExample() throws { - // This is an example of a performance test case. - self.measure { - // Put the code you want to measure the time of here. - } - } +// WIP +// func test_json(){ +// +// +// let stockDataFetcher = StocksDataFetcher() +// let response = stockDataFetcher.stocks.isEmpty +// XCTAssertEqual(response, false) // Fails, isEmpty = true . init value before fetching data? +// +// } }