Skip to content

Instantly share code, notes, and snippets.

@cbergau
Created March 9, 2016 14:17
Show Gist options
  • Select an option

  • Save cbergau/43321b7184fa617ca708 to your computer and use it in GitHub Desktop.

Select an option

Save cbergau/43321b7184fa617ca708 to your computer and use it in GitHub Desktop.
my_first_swift_script.swift
import UIKit
class LoginResponse {
var code: Int = 0
var user: UserDto
init(code: Int, userDto: UserDto) {
self.code = code
self.user = userDto
}
}
class User {
var firstName: String = ""
var lastName: String = ""
}
class UserDto {
var firstName: String = ""
var lastName: String = ""
}
class FakeUserRepository {
func find(username: String, password: String) -> User {
let user = User()
user.firstName = "Christian"
user.lastName = "Bergau"
return user
}
}
class LoginInteractor {
var userRepository: FakeUserRepository
init(userRepository: FakeUserRepository) {
self.userRepository = userRepository
}
func execute(username: String, password: String) -> LoginResponse {
let user = self.userRepository.find(username, password: password);
let userDto = UserDto();
userDto.firstName = user.firstName
userDto.lastName = user.lastName
return LoginResponse(code: 1, userDto: userDto)
}
}
var repository = FakeUserRepository()
var interactor = LoginInteractor(userRepository: repository)
var result: LoginResponse = interactor.execute("Christian", password: "secret")
print(result.code)
print(result.user.firstName + " " + result.user.lastName)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment