Skip to content

Instantly share code, notes, and snippets.

View andru255's full-sized avatar
🇵🇪
:)

Andrés Muñoz andru255

🇵🇪
:)
View GitHub Profile
extension NetworkAdapter {
public func requestServiceSuccess(url: String, method: RequestMethod = .GET, success: SuccessCallback = nil, fail: FailCallback = nil){
let path = "Sources/data/response.json"
let fileManager = FileManager()
if let content = fileManager.contents(atPath: path),
let successCallback = success {
successCallback(content)
}
}
public func requestServiceFail(url: String, method: RequestMethod = .GET, success: SuccessCallback = nil, fail: FailCallback = nil ) {
class MockUserActions: UserActionProtocol {
private var totalLogin: Int = 0
private var totalRegister: Int = 0
func login(nick: String, password: String) {
self.totalLogin += 1
}
func register(email: String, nick: String, password: String) {
self.totalRegister += 1
class UserActions: UserActionProtocol {
func login(nick: String, password: String) {
// consultando a mi servicio original
}
func register(email: String, nick: String, password: String) {
// registrando a mi servicio original
}
}
protocol UserActionProtocol {
func login(nick: String, password: String)
func register(email: String, nick: String, password: String)
}
@andru255
andru255 / getRemoteInfoStub.swift
Last active July 25, 2018 16:15
Función de stub de getRemoteInfo.swift
// Implementación que retorna un contenido fijo a diferencia de la Función original
// Cobertura para el escenario satisfactorio o success
func getRemoteInfoSuccess(success: @escaping([String: Any]) -> Void, fail: @escaping(Error) -> Void ) {
// Definimos una variable como mock
let json: [String: Any] = {
"name": "Luke SkyWalker of Mocker"
}
success(json)
}
@andru255
andru255 / getRemoteInfo.swift
Created July 25, 2018 16:10
Función para realizar una petición al servicio de swapi
// Función original
func getRemoteInfo(success: @escaping([String: Any]) -> Void, fail: @escaping(Error) -> Void ) {
let url = URL(string: "http://swapi.co/api/people/1/")!
var request = URLRequest(url: url)
request.httpMethod = "GET"
let sessionConf = URLSessionConfiguration.default
let urlSession = URLSession(
configuration: sessionConf,
delegate: nil,
delegateQueue: nil
@andru255
andru255 / randomNumberStub.swift
Created July 25, 2018 16:08
Función stub de randomNumber.swift
// Implementación que retorna un valor fijo a diferencia de la Función original
func randomNumber(min: Int, max: Int) -> Int {
return 10
}
let myNumber = randomNumber(min: 5, max: 31) //retornará siempre 10
@andru255
andru255 / randomNumber.swift
Created July 25, 2018 16:05
Función que retorna un número aleatorio en base a un rango de números, en este caso recibe 2 parámetros, el número mínimo y el máximo
// Función original
func randomNumber(min: Int, max: Int) -> Int {
// implementación original
return min + Int(arc4random_uniform(UInt32(max - min + 1)))
}
let myNumber = randomNumber(min: 5, max: 31) //retorna un número aleatorio
@andru255
andru255 / available-fonts.swift
Created June 7, 2018 17:31
swift 4 - available fonts
func printFonts() {
let fontFamilyNames = UIFont.familyNames
for familyName in fontFamilyNames {
print("------------------------------")
print("Font Family Name = [\(familyName)]")
let names = UIFont.fontNames(forFamilyName: familyName)
print("Font Names = [\(names)]")
}
}
@andru255
andru255 / roadrace.py
Created May 8, 2018 06:42 — forked from jaytaph/roadrace.py
Pygame RoadRace game
import math
import pygame
import numpy as np
class Car(pygame.sprite.Sprite):
def __init__(self, surface):
self.bounded_rect = surface.get_rect()
super(Car, self).__init__()