Work in progress

Testes com STAssertEqualsWithAccuracy

Posted: January 15th, 2012 | Author: | Filed under: Zeros e Uns | Tags: , , | No Comments »

Essa dica vai para quem estar realizando testes em (Objective-C) e possuem métodos que retornam valores float. Nese caso, fazer um simples STAssertTrue == valor pode não funcionar por conta das casa de precisão.

Nesse caso, o ideal é utilizar o STAssertEqualsWithAccuracy.

A documentação da Apple a respeito desse método é  a seguinte:

STAssertEqualsWithAccuracy

Fails the test case when the difference between two values is greater than a given value

STAssertEqualsWithAccuracy(value_1, value_2, accuracy, failure_description, …)

Parameters

value_1

  • An integer or a floating-point value.

value_2

  • An integer or a floating-point value.

accuracy

  • An integer or a floating-point value.

failure_description

  • Format string specifying error message. Can be nil.

  • (Optional) A comma-separated list of arguments to substitute into failure_description.

Detail

The test fails when the difference between value_1 and value_2 is greater than accuracy

É importante colocar o “f” para identificar os valores como float, caso contrário o seu teste pode falhar.  

STAssertEqualsWithAccuracy([_financiamento retornaValorTotal],
                             10951.52f,
                             0.001f,
                             @"Total deve retornar 10951.52, mesmo sem o valor do financiamento");


Repeating background image in native iOS app

Posted: August 25th, 2010 | Author: | Filed under: Zeros e Uns | No Comments »
<code>- (void)viewDidLoad {
    [super viewDidLoad];
    self.view.backgroundColor =
      [UIColor colorWithPatternImage: [UIImage imageNamed:@"gingham.png"]];
}</code>


Twitter e IMAP

Posted: August 25th, 2010 | Author: | Filed under: Pensamentos | No Comments »

Ideia para projeto:

Quem tem vários clients de twitter sabe que é um saco ficar sincoronizado entre eles (leu/não leu). E se o twitter se comportasse como o protoclo IMAP e vc conseguisse ter o histórico exato de suas mensagens idenpendente do client que vc estivsse acessando ? Eu acho que seria uma boa.

Se o twitter não sair com essa funcionalidade logo alguem pode implementar um “proxy” no meio do caminho para fazer esse controle entre os clients.


Mais uma do Cee-Lo Green

Posted: August 24th, 2010 | Author: | Filed under: Geral | No Comments »


iPhone email split-view ?

Posted: August 23rd, 2010 | Author: | Filed under: Zeros e Uns | No Comments »

Revendo o vídeo do lançamento do iPhone (2007) percebi que a Apple faz referência a uma funcionalidade que nunca foi lançada: o split-view para email. A imagem abaixo é um snapshot do que foi mostrado ao público em janeiro de 2007, o detalhe é que tirando o Steve Jobs ninguem mais viu esse botão de “split” em seu iPhone.

Se olharmos para o iPad perceberemos que a ideia nao vingou no iPhone mas retornou no irmão mais novo (e maior) anos depois. Imagino que o carregamento de duas views no iPhone, naquele momento, não oferecia uma usabilidade adequada,talvez por conta de limitaçoes de processador, memória ou dos dois?

Uma lição que se pode tirar disso tudo é: você tem que lançar seus produtos mesmo que não estejam 100%, tenho certeza que ninguém deixou de comprar o iPhone por conta dessa funcionalidade esquecida.


Tip: How to prevent multiple instances of the same script ?

Posted: August 23rd, 2010 | Author: | Filed under: Perl | No Comments »
<code>#!/usr/bin/perl
use Fcntl qw(LOCK_EX LOCK_NB);
use File::NFSLock;

# Try to get an exclusive lock on myself.
my $lock = File::NFSLock-&gt;new($0, LOCK_EX|LOCK_NB);
die "$0 is already running!\n" unless $lock;
</code>


Tips: How to remove .svn files from a directory ?

Posted: July 3rd, 2010 | Author: | Filed under: Geral | Tags: , | No Comments »

Sometime you need this to clean some stuff

cd <em>mySourceCodeDir</em>
rm -rf `find . -type d -name .svn`

more info here


Maratona em 2010

Posted: January 7th, 2010 | Author: | Filed under: Geral | Tags: , | No Comments »

Primeiro objetivo do ano: correr a maratona do Rio de Janeiro em 18/Jul. Os treinos já começaram! O target é fechar abaixo de 04:00