package regras

import "testing"

func TestTratarAreaImovelWeb(t *testing.T) {
	got := TratarAreaImovelWeb("120 M²", "area_util")
	if got == "" || !containsAll(got, "CFT100", "120") {
		t.Fatalf("area_util xml incompleto: %q", got)
	}
}

func TestRetornaValorPrecoVenda(t *testing.T) {
	got := RetornaValorPreco("Venda", "500000.00", "")
	if got == "" || !containsAll(got, "VENTA", "500000") {
		t.Fatalf("preco venda: %q", got)
	}
}

func containsAll(s string, parts ...string) bool {
	for _, p := range parts {
		if !contains(s, p) {
			return false
		}
	}
	return true
}

func contains(s, sub string) bool {
	return len(sub) == 0 || (len(s) >= len(sub) && indexOf(s, sub) >= 0)
}

func indexOf(s, sub string) int {
	for i := 0; i+len(sub) <= len(s); i++ {
		if s[i:i+len(sub)] == sub {
			return i
		}
	}
	return -1
}
