Skip to content

Instantly share code, notes, and snippets.

View torufuruya's full-sized avatar
:octocat:

Toru Furuya torufuruya

:octocat:
View GitHub Profile
private class MockSnapshot: DataSnapshot {
override var value: Any? {
return ["key_1": "value_1", "key_2": "value_2"]
}
}
override func child(_ pathString: String) -> DatabaseReference {
switch (pathString) {
case "hoge": return HogeDatabaseReference()
case "fuga": return FugaDatabaseReference()
}
}
private class MockDatabaseReference: DatabaseReference {
override func child(_ pathString: String) -> DatabaseReference {
return self
}
override func observeSingleEvent(of eventType: DataEventType, with block: @escaping (DataSnapshot) -> Void) {
let snapshot = MockSnapshot()
DispatchQueue.global().async {
block(snapshot)
func testReadSample() {
let client = FirebaseDatabaseClient(with: MockDatabaseReference())
let expectaion = expectation(description: #function)
client.readSample { sampleList in
XCTAssertTrue(sampleList.contains("something"))
expectaion.fulfill()
}
wait(for: [expectaion], timeout: 0.5)
}
import XCTest
import FirebaseDatabase
@testable import Sample_App
class FirebaseDatabaseClientTests: XCTestCase {
func testReadSample() {
let client = FirebaseDatabaseClient(with: MockDatabaseReference())
let expectaion = expectation(description: #function)
class FirebaseDatabaseClient {
private let databaseReference: DatabaseReference
init(with databaseReference: DatabaseReference) {
self.databaseReference = databaseReference
}
func readSample(completion: @escaping ([String]) -> Void) {
self.databaseReference
fileprivate func setupNavigationController(_ forMenu: UISideMenuNavigationController?, leftSide: Bool) {
guard let forMenu = forMenu else {
return
}
forMenu.transitioningDelegate = transition
forMenu.modalPresentationStyle = .overFullScreen
forMenu.leftSide = leftSide
class MenuViewController: UIViewController {
override var preferredStatusBarStyle: UIStatusBarStyle {
return .lightContent
}
}
import SideMenu
let menuLeftNavigationController = UISideMenuNavigationController(rootViewController: MenuViewController())
SideMenuManager.default.menuLeftNavigationController = menuLeftNavigationController
SideMenuManager.default.menuWidth = 280
SideMenuManager.default.menuPresentMode = .viewSlideInOut

Ayu Hackathon アジェンダ

〜エンジニアノ魂ヲ、ヨビオコス〜

目的

  1. 遊ぶ
  2. エンジニアノ魂ヲ、ヨビオコス
  3. あゆの実家と「さようなら」

ゴール