Fatti

La controversia oppone A., un acquirente, alla società immobiliare B., riguardo a un contratto di vendita di un'unità abitativa a Teufen. Il contratto prevedeva che A. avrebbe acquistato l'appartamento per 185 000 franchi svizzeri. Tuttavia, a causa di costi aggiuntivi, sono sorti litigi giudiziari, che si sono conclusi il 25 aprile 1984 con la condanna di A. a pagare una somma di 6 830,25 franchi svizzeri, e l'obbligo per la società di concludere il contratto di vendita dopo la ricezione di questa somma. Il contratto di vendita è stato firmato il 2 maggio 1985 e registrato nel registro fondiario quattro giorni dopo.

La società ha intentato un'azione legale contro A. nel febbraio 1987, chiedendo il pagamento di 31 232,80 franchi svizzeri, corrispondenti alle spese di proprietà per gli anni 1975-1984. A. ha contestato questa richiesta e ha presentato domande di compensazione.

Il tribunale cantonale di San Gallo, agendo come istanza d'appello, ha concesso alla società 28 283,95 franchi svizzeri con interessi, ma ha respinto le domande di compensazione di A.

Legge

Il tribunale federale ha esaminato se il tribunale cantonale avesse violato l'articolo 8 del Codice civile svizzero (CC) rifiutando di ammettere una prova presentata da A. L'articolo 8 CC prevede che la parte che afferma un fatto deve provarlo, salvo disposizione contraria della legge. Il tribunale federale ha ricordato che questa disposizione dà alla parte che ha l'onere della prova un diritto a che la sua richiesta di prova sia ammessa, se presentata nelle forme e idonea a provare fatti rilevanti.

Il tribunale federale ha considerato che il rifiuto del tribunale cantonale di ammettere la prova presentata da…