package com.fincatto.documentofiscal.nfe310.classes.nota;

import java.math.BigDecimal;

import org.junit.Assert;
import org.junit.Test;

import com.fincatto.documentofiscal.nfe310.FabricaDeObjetosFake;
import com.fincatto.documentofiscal.nfe310.classes.nota.NFNotaInfoICMSTotal;

public class NFNotaInfoICMSTotalTest {

    @Test(expected = NumberFormatException.class)
    public void naoDevePermitirValorTotalTributosInvalido() {
        new NFNotaInfoICMSTotal().setValorTotalTributos(new BigDecimal("1000000000000000"));
    }

    @Test(expected = NumberFormatException.class)
    public void naoDevePermitirValorTotalSeguroInvalidoMonetario() {
        new NFNotaInfoICMSTotal().setValorTotalSeguro(new BigDecimal("1000000000000000"));
    }

    @Test(expected = NumberFormatException.class)
    public void naoDevePermitirValorTotalNFeInvalidoMonetario() {
        new NFNotaInfoICMSTotal().setValorTotalNFe(new BigDecimal("1000000000000000"));
    }

    @Test(expected = NumberFormatException.class)
    public void naoDevePermitirValorTotalIPIInvalidoMonetario() {
        new NFNotaInfoICMSTotal().setValorTotalIPI(new BigDecimal("1000000000000000"));
    }

    @Test(expected = NumberFormatException.class)
    public void naoDevePermitirValorTotalIIInvalidoMonetario() {
        new NFNotaInfoICMSTotal().setValorTotalII(new BigDecimal("1000000000000000"));
    }

    @Test(expected = NumberFormatException.class)
    public void naoDevePermitirValorTotalICMSSTInvalidoMonetario() {
        new NFNotaInfoICMSTotal().setValorTotalICMSST(new BigDecimal("1000000000000000"));
    }

    @Test(expected = NumberFormatException.class)
    public void naoDevePermitirValorTotalICMSInvalidoMonetario() {
        new NFNotaInfoICMSTotal().setValorTotalICMS(new BigDecimal("1000000000000000"));
    }

    @Test(expected = NumberFormatException.class)
    public void naoDevePermitirValorTotalFreteInvalidoMonetario() {
        new NFNotaInfoICMSTotal().setValorTotalFrete(new BigDecimal("1000000000000000"));
    }

    @Test(expected = NumberFormatException.class)
    public void naoDevePermitirValorTotalDosProdutosServicosInvalidoMonetario() {
        new NFNotaInfoICMSTotal().setValorTotalDosProdutosServicos(new BigDecimal("1000000000000000"));
    }

    @Test(expected = NumberFormatException.class)
    public void naoDevePermitirValorTotalDescontoInvalidoMonetario() {
        new NFNotaInfoICMSTotal().setValorTotalDesconto(new BigDecimal("1000000000000000"));
    }

    @Test(expected = NumberFormatException.class)
    public void naoDevePermitirValorPISInvalidoMonetario() {
        new NFNotaInfoICMSTotal().setValorPIS(new BigDecimal("1000000000000000"));
    }

    @Test(expected = NumberFormatException.class)
    public void naoDevePermitirValorCOFINSInvalidoMonetario() {
        new NFNotaInfoICMSTotal().setValorCOFINS(new BigDecimal("1000000000000000"));
    }

    @Test(expected = NumberFormatException.class)
    public void naoDevePermitirValorInvalidoMonetario() {
        new NFNotaInfoICMSTotal().setBaseCalculoICMSST(new BigDecimal("1000000000000000"));
    }

    @Test(expected = NumberFormatException.class)
    public void naoDevePermitirOutrasDespesasAcessoriasInvalidoMonetario() {
        new NFNotaInfoICMSTotal().setOutrasDespesasAcessorias(new BigDecimal("1000000000000000"));
    }

    @Test(expected = NumberFormatException.class)
    public void naoDevePermitirBaseCalculoICMSInvalidoMonetario() {
        new NFNotaInfoICMSTotal().setBaseCalculoICMS(new BigDecimal("1000000000000000"));
    }

    @Test
    public void devePermitirValorICMSDesoneradoNulo() {
        final NFNotaInfoICMSTotal icmsTotal = new NFNotaInfoICMSTotal();
        icmsTotal.setBaseCalculoICMS(new BigDecimal("999999999999.99"));
        icmsTotal.setOutrasDespesasAcessorias(new BigDecimal("999999999999.99"));
        icmsTotal.setBaseCalculoICMSST(new BigDecimal("999999999999.99"));
        icmsTotal.setValorCOFINS(new BigDecimal("999999999999.99"));
        icmsTotal.setValorPIS(new BigDecimal("999999999999.99"));
        icmsTotal.setValorTotalDesconto(new BigDecimal("999999999999.99"));
        icmsTotal.setValorTotalDosProdutosServicos(new BigDecimal("999999999999.99"));
        icmsTotal.setValorTotalFrete(new BigDecimal("999999999999.99"));
        icmsTotal.setValorTotalICMS(new BigDecimal("999999999999.99"));
        icmsTotal.setValorTotalICMSST(new BigDecimal("999999999999.99"));
        icmsTotal.setValorTotalII(new BigDecimal("999999999999.99"));
        icmsTotal.setValorTotalIPI(new BigDecimal("999999999999.99"));
        icmsTotal.setValorTotalNFe(new BigDecimal("999999999999.99"));
        icmsTotal.setValorTotalSeguro(new BigDecimal("999999999999.99"));
        icmsTotal.setValorICMSDesonerado(new BigDecimal("999999999999.99"));
        icmsTotal.setValorTotalTributos(new BigDecimal("999999999999.99"));
        icmsTotal.setValorICMSFundoCombatePobreza(new BigDecimal("999999999999.99"));
        icmsTotal.setValorICMSPartilhaDestinatario(new BigDecimal("999999999999.99"));
        icmsTotal.setValorICMSPartilhaRementente(new BigDecimal("999999999999.99"));
        icmsTotal.toString();
    }

    @Test
    public void devePermitirValorTotalTributosNulo() {
        final NFNotaInfoICMSTotal icmsTotal = new NFNotaInfoICMSTotal();
        icmsTotal.setBaseCalculoICMS(new BigDecimal("999999999999.99"));
        icmsTotal.setOutrasDespesasAcessorias(new BigDecimal("999999999999.99"));
        icmsTotal.setBaseCalculoICMSST(new BigDecimal("999999999999.99"));
        icmsTotal.setValorCOFINS(new BigDecimal("999999999999.99"));
        icmsTotal.setValorPIS(new BigDecimal("999999999999.99"));
        icmsTotal.setValorTotalDesconto(new BigDecimal("999999999999.99"));
        icmsTotal.setValorTotalDosProdutosServicos(new BigDecimal("999999999999.99"));
        icmsTotal.setValorTotalFrete(new BigDecimal("999999999999.99"));
        icmsTotal.setValorTotalICMS(new BigDecimal("999999999999.99"));
        icmsTotal.setValorTotalICMSST(new BigDecimal("999999999999.99"));
        icmsTotal.setValorTotalII(new BigDecimal("999999999999.99"));
        icmsTotal.setValorTotalIPI(new BigDecimal("999999999999.99"));
        icmsTotal.setValorTotalNFe(new BigDecimal("999999999999.99"));
        icmsTotal.setValorTotalSeguro(new BigDecimal("999999999999.99"));
        icmsTotal.setValorICMSDesonerado(new BigDecimal("999999999999.99"));
        icmsTotal.setValorICMSFundoCombatePobreza(new BigDecimal("999999999999.99"));
        icmsTotal.setValorICMSPartilhaDestinatario(new BigDecimal("999999999999.99"));
        icmsTotal.setValorICMSPartilhaRementente(new BigDecimal("999999999999.99"));
        icmsTotal.toString();
    }

    @Test(expected = IllegalStateException.class)
    public void naoDevePermitirBaseCalculoICMSNulo() {
        final NFNotaInfoICMSTotal icmsTotal = new NFNotaInfoICMSTotal();
        icmsTotal.setOutrasDespesasAcessorias(new BigDecimal("999999999999.99"));
        icmsTotal.setBaseCalculoICMSST(new BigDecimal("999999999999.99"));
        icmsTotal.setValorCOFINS(new BigDecimal("999999999999.99"));
        icmsTotal.setValorPIS(new BigDecimal("999999999999.99"));
        icmsTotal.setValorTotalDesconto(new BigDecimal("999999999999.99"));
        icmsTotal.setValorTotalDosProdutosServicos(new BigDecimal("999999999999.99"));
        icmsTotal.setValorTotalFrete(new BigDecimal("999999999999.99"));
        icmsTotal.setValorTotalICMS(new BigDecimal("999999999999.99"));
        icmsTotal.setValorTotalICMSST(new BigDecimal("999999999999.99"));
        icmsTotal.setValorTotalII(new BigDecimal("999999999999.99"));
        icmsTotal.setValorTotalIPI(new BigDecimal("999999999999.99"));
        icmsTotal.setValorTotalNFe(new BigDecimal("999999999999.99"));
        icmsTotal.setValorTotalSeguro(new BigDecimal("999999999999.99"));
        icmsTotal.setValorTotalTributos(new BigDecimal("999999999999.99"));
        icmsTotal.setValorICMSDesonerado(new BigDecimal("999999999999.99"));
        icmsTotal.setValorICMSFundoCombatePobreza(new BigDecimal("999999999999.99"));
        icmsTotal.setValorICMSPartilhaDestinatario(new BigDecimal("999999999999.99"));
        icmsTotal.setValorICMSPartilhaRementente(new BigDecimal("999999999999.99"));
        icmsTotal.toString();
    }

    @Test(expected = IllegalStateException.class)
    public void naoDevePermitirOutrasDespesasAcessoriasNulo() {
        final NFNotaInfoICMSTotal icmsTotal = new NFNotaInfoICMSTotal();
        icmsTotal.setBaseCalculoICMS(new BigDecimal("999999999999.99"));
        icmsTotal.setBaseCalculoICMSST(new BigDecimal("999999999999.99"));
        icmsTotal.setValorCOFINS(new BigDecimal("999999999999.99"));
        icmsTotal.setValorPIS(new BigDecimal("999999999999.99"));
        icmsTotal.setValorTotalDesconto(new BigDecimal("999999999999.99"));
        icmsTotal.setValorTotalDosProdutosServicos(new BigDecimal("999999999999.99"));
        icmsTotal.setValorTotalFrete(new BigDecimal("999999999999.99"));
        icmsTotal.setValorTotalICMS(new BigDecimal("999999999999.99"));
        icmsTotal.setValorTotalICMSST(new BigDecimal("999999999999.99"));
        icmsTotal.setValorTotalII(new BigDecimal("999999999999.99"));
        icmsTotal.setValorTotalIPI(new BigDecimal("999999999999.99"));
        icmsTotal.setValorTotalNFe(new BigDecimal("999999999999.99"));
        icmsTotal.setValorTotalSeguro(new BigDecimal("999999999999.99"));
        icmsTotal.setValorTotalTributos(new BigDecimal("999999999999.99"));
        icmsTotal.setValorICMSDesonerado(new BigDecimal("999999999999.99"));
        icmsTotal.setValorICMSFundoCombatePobreza(new BigDecimal("999999999999.99"));
        icmsTotal.setValorICMSPartilhaDestinatario(new BigDecimal("999999999999.99"));
        icmsTotal.setValorICMSPartilhaRementente(new BigDecimal("999999999999.99"));
        icmsTotal.toString();
    }

    @Test(expected = IllegalStateException.class)
    public void naoDevePermitirValorNulo() {
        final NFNotaInfoICMSTotal icmsTotal = new NFNotaInfoICMSTotal();
        icmsTotal.setBaseCalculoICMS(new BigDecimal("999999999999.99"));
        icmsTotal.setOutrasDespesasAcessorias(new BigDecimal("999999999999.99"));
        icmsTotal.setValorCOFINS(new BigDecimal("999999999999.99"));
        icmsTotal.setValorPIS(new BigDecimal("999999999999.99"));
        icmsTotal.setValorTotalDesconto(new BigDecimal("999999999999.99"));
        icmsTotal.setValorTotalDosProdutosServicos(new BigDecimal("999999999999.99"));
        icmsTotal.setValorTotalFrete(new BigDecimal("999999999999.99"));
        icmsTotal.setValorTotalICMS(new BigDecimal("999999999999.99"));
        icmsTotal.setValorTotalICMSST(new BigDecimal("999999999999.99"));
        icmsTotal.setValorTotalII(new BigDecimal("999999999999.99"));
        icmsTotal.setValorTotalIPI(new BigDecimal("999999999999.99"));
        icmsTotal.setValorTotalNFe(new BigDecimal("999999999999.99"));
        icmsTotal.setValorTotalSeguro(new BigDecimal("999999999999.99"));
        icmsTotal.setValorTotalTributos(new BigDecimal("999999999999.99"));
        icmsTotal.setValorICMSDesonerado(new BigDecimal("999999999999.99"));
        icmsTotal.setValorICMSFundoCombatePobreza(new BigDecimal("999999999999.99"));
        icmsTotal.setValorICMSPartilhaDestinatario(new BigDecimal("999999999999.99"));
        icmsTotal.setValorICMSPartilhaRementente(new BigDecimal("999999999999.99"));
        icmsTotal.toString();
    }

    @Test(expected = IllegalStateException.class)
    public void naoDevePermitirCOFINSNulo() {
        final NFNotaInfoICMSTotal icmsTotal = new NFNotaInfoICMSTotal();
        icmsTotal.setBaseCalculoICMS(new BigDecimal("999999999999.99"));
        icmsTotal.setOutrasDespesasAcessorias(new BigDecimal("999999999999.99"));
        icmsTotal.setBaseCalculoICMSST(new BigDecimal("999999999999.99"));
        icmsTotal.setValorPIS(new BigDecimal("999999999999.99"));
        icmsTotal.setValorTotalDesconto(new BigDecimal("999999999999.99"));
        icmsTotal.setValorTotalDosProdutosServicos(new BigDecimal("999999999999.99"));
        icmsTotal.setValorTotalFrete(new BigDecimal("999999999999.99"));
        icmsTotal.setValorTotalICMS(new BigDecimal("999999999999.99"));
        icmsTotal.setValorTotalICMSST(new BigDecimal("999999999999.99"));
        icmsTotal.setValorTotalII(new BigDecimal("999999999999.99"));
        icmsTotal.setValorTotalIPI(new BigDecimal("999999999999.99"));
        icmsTotal.setValorTotalNFe(new BigDecimal("999999999999.99"));
        icmsTotal.setValorTotalSeguro(new BigDecimal("999999999999.99"));
        icmsTotal.setValorTotalTributos(new BigDecimal("999999999999.99"));
        icmsTotal.setValorICMSDesonerado(new BigDecimal("999999999999.99"));
        icmsTotal.setValorICMSFundoCombatePobreza(new BigDecimal("999999999999.99"));
        icmsTotal.setValorICMSPartilhaDestinatario(new BigDecimal("999999999999.99"));
        icmsTotal.setValorICMSPartilhaRementente(new BigDecimal("999999999999.99"));
        icmsTotal.toString();
    }

    @Test(expected = IllegalStateException.class)
    public void naoDevePermitirTotalPISNulo() {
        final NFNotaInfoICMSTotal icmsTotal = new NFNotaInfoICMSTotal();
        icmsTotal.setBaseCalculoICMS(new BigDecimal("999999999999.99"));
        icmsTotal.setOutrasDespesasAcessorias(new BigDecimal("999999999999.99"));
        icmsTotal.setBaseCalculoICMSST(new BigDecimal("999999999999.99"));
        icmsTotal.setValorCOFINS(new BigDecimal("999999999999.99"));
        icmsTotal.setValorTotalDesconto(new BigDecimal("999999999999.99"));
        icmsTotal.setValorTotalDosProdutosServicos(new BigDecimal("999999999999.99"));
        icmsTotal.setValorTotalFrete(new BigDecimal("999999999999.99"));
        icmsTotal.setValorTotalICMS(new BigDecimal("999999999999.99"));
        icmsTotal.setValorTotalICMSST(new BigDecimal("999999999999.99"));
        icmsTotal.setValorTotalII(new BigDecimal("999999999999.99"));
        icmsTotal.setValorTotalIPI(new BigDecimal("999999999999.99"));
        icmsTotal.setValorTotalNFe(new BigDecimal("999999999999.99"));
        icmsTotal.setValorTotalSeguro(new BigDecimal("999999999999.99"));
        icmsTotal.setValorTotalTributos(new BigDecimal("999999999999.99"));
        icmsTotal.setValorICMSDesonerado(new BigDecimal("999999999999.99"));
        icmsTotal.setValorICMSFundoCombatePobreza(new BigDecimal("999999999999.99"));
        icmsTotal.setValorICMSPartilhaDestinatario(new BigDecimal("999999999999.99"));
        icmsTotal.setValorICMSPartilhaRementente(new BigDecimal("999999999999.99"));
        icmsTotal.toString();
    }

    @Test(expected = IllegalStateException.class)
    public void naoDevePermitirTotalDescontoNulo() {
        final NFNotaInfoICMSTotal icmsTotal = new NFNotaInfoICMSTotal();
        icmsTotal.setBaseCalculoICMS(new BigDecimal("999999999999.99"));
        icmsTotal.setOutrasDespesasAcessorias(new BigDecimal("999999999999.99"));
        icmsTotal.setBaseCalculoICMSST(new BigDecimal("999999999999.99"));
        icmsTotal.setValorCOFINS(new BigDecimal("999999999999.99"));
        icmsTotal.setValorPIS(new BigDecimal("999999999999.99"));
        icmsTotal.setValorTotalDosProdutosServicos(new BigDecimal("999999999999.99"));
        icmsTotal.setValorTotalFrete(new BigDecimal("999999999999.99"));
        icmsTotal.setValorTotalICMS(new BigDecimal("999999999999.99"));
        icmsTotal.setValorTotalICMSST(new BigDecimal("999999999999.99"));
        icmsTotal.setValorTotalII(new BigDecimal("999999999999.99"));
        icmsTotal.setValorTotalIPI(new BigDecimal("999999999999.99"));
        icmsTotal.setValorTotalNFe(new BigDecimal("999999999999.99"));
        icmsTotal.setValorTotalSeguro(new BigDecimal("999999999999.99"));
        icmsTotal.setValorTotalTributos(new BigDecimal("999999999999.99"));
        icmsTotal.setValorICMSDesonerado(new BigDecimal("999999999999.99"));
        icmsTotal.setValorICMSFundoCombatePobreza(new BigDecimal("999999999999.99"));
        icmsTotal.setValorICMSPartilhaDestinatario(new BigDecimal("999999999999.99"));
        icmsTotal.setValorICMSPartilhaRementente(new BigDecimal("999999999999.99"));
        icmsTotal.toString();
    }

    @Test(expected = IllegalStateException.class)
    public void naoDevePermitrValorTotalDosProdutosServicosNulo() {
        final NFNotaInfoICMSTotal icmsTotal = new NFNotaInfoICMSTotal();
        icmsTotal.setBaseCalculoICMS(new BigDecimal("999999999999.99"));
        icmsTotal.setOutrasDespesasAcessorias(new BigDecimal("999999999999.99"));
        icmsTotal.setBaseCalculoICMSST(new BigDecimal("999999999999.99"));
        icmsTotal.setValorCOFINS(new BigDecimal("999999999999.99"));
        icmsTotal.setValorPIS(new BigDecimal("999999999999.99"));
        icmsTotal.setValorTotalDesconto(new BigDecimal("999999999999.99"));
        icmsTotal.setValorTotalFrete(new BigDecimal("999999999999.99"));
        icmsTotal.setValorTotalICMS(new BigDecimal("999999999999.99"));
        icmsTotal.setValorTotalICMSST(new BigDecimal("999999999999.99"));
        icmsTotal.setValorTotalII(new BigDecimal("999999999999.99"));
        icmsTotal.setValorTotalIPI(new BigDecimal("999999999999.99"));
        icmsTotal.setValorTotalNFe(new BigDecimal("999999999999.99"));
        icmsTotal.setValorTotalSeguro(new BigDecimal("999999999999.99"));
        icmsTotal.setValorTotalTributos(new BigDecimal("999999999999.99"));
        icmsTotal.setValorICMSDesonerado(new BigDecimal("999999999999.99"));
        icmsTotal.setValorICMSFundoCombatePobreza(new BigDecimal("999999999999.99"));
        icmsTotal.setValorICMSPartilhaDestinatario(new BigDecimal("999999999999.99"));
        icmsTotal.setValorICMSPartilhaRementente(new BigDecimal("999999999999.99"));
        icmsTotal.toString();
    }

    @Test(expected = IllegalStateException.class)
    public void naoDevePermitirFreteNulo() {
        final NFNotaInfoICMSTotal icmsTotal = new NFNotaInfoICMSTotal();
        icmsTotal.setBaseCalculoICMS(new BigDecimal("999999999999.99"));
        icmsTotal.setOutrasDespesasAcessorias(new BigDecimal("999999999999.99"));
        icmsTotal.setBaseCalculoICMSST(new BigDecimal("999999999999.99"));
        icmsTotal.setValorCOFINS(new BigDecimal("999999999999.99"));
        icmsTotal.setValorPIS(new BigDecimal("999999999999.99"));
        icmsTotal.setValorTotalDesconto(new BigDecimal("999999999999.99"));
        icmsTotal.setValorTotalDosProdutosServicos(new BigDecimal("999999999999.99"));
        icmsTotal.setValorTotalICMS(new BigDecimal("999999999999.99"));
        icmsTotal.setValorTotalICMSST(new BigDecimal("999999999999.99"));
        icmsTotal.setValorTotalII(new BigDecimal("999999999999.99"));
        icmsTotal.setValorTotalIPI(new BigDecimal("999999999999.99"));
        icmsTotal.setValorTotalNFe(new BigDecimal("999999999999.99"));
        icmsTotal.setValorTotalSeguro(new BigDecimal("999999999999.99"));
        icmsTotal.setValorTotalTributos(new BigDecimal("999999999999.99"));
        icmsTotal.setValorICMSDesonerado(new BigDecimal("999999999999.99"));
        icmsTotal.setValorICMSFundoCombatePobreza(new BigDecimal("999999999999.99"));
        icmsTotal.setValorICMSPartilhaDestinatario(new BigDecimal("999999999999.99"));
        icmsTotal.setValorICMSPartilhaRementente(new BigDecimal("999999999999.99"));
        icmsTotal.toString();
    }

    @Test(expected = IllegalStateException.class)
    public void naoDevePermitirICMSNulo() {
        final NFNotaInfoICMSTotal icmsTotal = new NFNotaInfoICMSTotal();
        icmsTotal.setBaseCalculoICMS(new BigDecimal("999999999999.99"));
        icmsTotal.setOutrasDespesasAcessorias(new BigDecimal("999999999999.99"));
        icmsTotal.setBaseCalculoICMSST(new BigDecimal("999999999999.99"));
        icmsTotal.setValorCOFINS(new BigDecimal("999999999999.99"));
        icmsTotal.setValorPIS(new BigDecimal("999999999999.99"));
        icmsTotal.setValorTotalDesconto(new BigDecimal("999999999999.99"));
        icmsTotal.setValorTotalDosProdutosServicos(new BigDecimal("999999999999.99"));
        icmsTotal.setValorTotalFrete(new BigDecimal("999999999999.99"));
        icmsTotal.setValorTotalICMSST(new BigDecimal("999999999999.99"));
        icmsTotal.setValorTotalII(new BigDecimal("999999999999.99"));
        icmsTotal.setValorTotalIPI(new BigDecimal("999999999999.99"));
        icmsTotal.setValorTotalNFe(new BigDecimal("999999999999.99"));
        icmsTotal.setValorTotalSeguro(new BigDecimal("999999999999.99"));
        icmsTotal.setValorTotalTributos(new BigDecimal("999999999999.99"));
        icmsTotal.setValorICMSDesonerado(new BigDecimal("999999999999.99"));
        icmsTotal.setValorICMSFundoCombatePobreza(new BigDecimal("999999999999.99"));
        icmsTotal.setValorICMSPartilhaDestinatario(new BigDecimal("999999999999.99"));
        icmsTotal.setValorICMSPartilhaRementente(new BigDecimal("999999999999.99"));
        icmsTotal.toString();
    }

    @Test(expected = IllegalStateException.class)
    public void naoDevePermitirICMSSTNulo() {
        final NFNotaInfoICMSTotal icmsTotal = new NFNotaInfoICMSTotal();
        icmsTotal.setBaseCalculoICMS(new BigDecimal("999999999999.99"));
        icmsTotal.setOutrasDespesasAcessorias(new BigDecimal("999999999999.99"));
        icmsTotal.setBaseCalculoICMSST(new BigDecimal("999999999999.99"));
        icmsTotal.setValorCOFINS(new BigDecimal("999999999999.99"));
        icmsTotal.setValorPIS(new BigDecimal("999999999999.99"));
        icmsTotal.setValorTotalDesconto(new BigDecimal("999999999999.99"));
        icmsTotal.setValorTotalDosProdutosServicos(new BigDecimal("999999999999.99"));
        icmsTotal.setValorTotalFrete(new BigDecimal("999999999999.99"));
        icmsTotal.setValorTotalICMS(new BigDecimal("999999999999.99"));
        icmsTotal.setValorTotalII(new BigDecimal("999999999999.99"));
        icmsTotal.setValorTotalIPI(new BigDecimal("999999999999.99"));
        icmsTotal.setValorTotalNFe(new BigDecimal("999999999999.99"));
        icmsTotal.setValorTotalSeguro(new BigDecimal("999999999999.99"));
        icmsTotal.setValorTotalTributos(new BigDecimal("999999999999.99"));
        icmsTotal.setValorICMSDesonerado(new BigDecimal("999999999999.99"));
        icmsTotal.setValorICMSFundoCombatePobreza(new BigDecimal("999999999999.99"));
        icmsTotal.setValorICMSPartilhaDestinatario(new BigDecimal("999999999999.99"));
        icmsTotal.setValorICMSPartilhaRementente(new BigDecimal("999999999999.99"));
        icmsTotal.toString();
    }

    @Test(expected = IllegalStateException.class)
    public void naoDevePermitirValorTotalIINulo() {
        final NFNotaInfoICMSTotal icmsTotal = new NFNotaInfoICMSTotal();
        icmsTotal.setBaseCalculoICMS(new BigDecimal("999999999999.99"));
        icmsTotal.setOutrasDespesasAcessorias(new BigDecimal("999999999999.99"));
        icmsTotal.setBaseCalculoICMSST(new BigDecimal("999999999999.99"));
        icmsTotal.setValorCOFINS(new BigDecimal("999999999999.99"));
        icmsTotal.setValorPIS(new BigDecimal("999999999999.99"));
        icmsTotal.setValorTotalDesconto(new BigDecimal("999999999999.99"));
        icmsTotal.setValorTotalDosProdutosServicos(new BigDecimal("999999999999.99"));
        icmsTotal.setValorTotalFrete(new BigDecimal("999999999999.99"));
        icmsTotal.setValorTotalICMS(new BigDecimal("999999999999.99"));
        icmsTotal.setValorTotalICMSST(new BigDecimal("999999999999.99"));
        icmsTotal.setValorTotalIPI(new BigDecimal("999999999999.99"));
        icmsTotal.setValorTotalNFe(new BigDecimal("999999999999.99"));
        icmsTotal.setValorTotalSeguro(new BigDecimal("999999999999.99"));
        icmsTotal.setValorTotalTributos(new BigDecimal("999999999999.99"));
        icmsTotal.setValorICMSDesonerado(new BigDecimal("999999999999.99"));
        icmsTotal.setValorICMSFundoCombatePobreza(new BigDecimal("999999999999.99"));
        icmsTotal.setValorICMSPartilhaDestinatario(new BigDecimal("999999999999.99"));
        icmsTotal.setValorICMSPartilhaRementente(new BigDecimal("999999999999.99"));
        icmsTotal.toString();
    }

    @Test(expected = IllegalStateException.class)
    public void naoDevePermitirValorTotalIPINulo() {
        final NFNotaInfoICMSTotal icmsTotal = new NFNotaInfoICMSTotal();
        icmsTotal.setBaseCalculoICMS(new BigDecimal("999999999999.99"));
        icmsTotal.setOutrasDespesasAcessorias(new BigDecimal("999999999999.99"));
        icmsTotal.setBaseCalculoICMSST(new BigDecimal("999999999999.99"));
        icmsTotal.setValorCOFINS(new BigDecimal("999999999999.99"));
        icmsTotal.setValorPIS(new BigDecimal("999999999999.99"));
        icmsTotal.setValorTotalDesconto(new BigDecimal("999999999999.99"));
        icmsTotal.setValorTotalDosProdutosServicos(new BigDecimal("999999999999.99"));
        icmsTotal.setValorTotalFrete(new BigDecimal("999999999999.99"));
        icmsTotal.setValorTotalICMS(new BigDecimal("999999999999.99"));
        icmsTotal.setValorTotalICMSST(new BigDecimal("999999999999.99"));
        icmsTotal.setValorTotalII(new BigDecimal("999999999999.99"));
        icmsTotal.setValorTotalNFe(new BigDecimal("999999999999.99"));
        icmsTotal.setValorTotalSeguro(new BigDecimal("999999999999.99"));
        icmsTotal.setValorTotalTributos(new BigDecimal("999999999999.99"));
        icmsTotal.setValorICMSDesonerado(new BigDecimal("999999999999.99"));
        icmsTotal.setValorICMSFundoCombatePobreza(new BigDecimal("999999999999.99"));
        icmsTotal.setValorICMSPartilhaDestinatario(new BigDecimal("999999999999.99"));
        icmsTotal.setValorICMSPartilhaRementente(new BigDecimal("999999999999.99"));
        icmsTotal.toString();
    }

    @Test(expected = IllegalStateException.class)
    public void naoDevePermitirValorTotalNFeNulo() {
        final NFNotaInfoICMSTotal icmsTotal = new NFNotaInfoICMSTotal();
        icmsTotal.setBaseCalculoICMS(new BigDecimal("999999999999.99"));
        icmsTotal.setOutrasDespesasAcessorias(new BigDecimal("999999999999.99"));
        icmsTotal.setBaseCalculoICMSST(new BigDecimal("999999999999.99"));
        icmsTotal.setValorCOFINS(new BigDecimal("999999999999.99"));
        icmsTotal.setValorPIS(new BigDecimal("999999999999.99"));
        icmsTotal.setValorTotalDesconto(new BigDecimal("999999999999.99"));
        icmsTotal.setValorTotalDosProdutosServicos(new BigDecimal("999999999999.99"));
        icmsTotal.setValorTotalFrete(new BigDecimal("999999999999.99"));
        icmsTotal.setValorTotalICMS(new BigDecimal("999999999999.99"));
        icmsTotal.setValorTotalICMSST(new BigDecimal("999999999999.99"));
        icmsTotal.setValorTotalII(new BigDecimal("999999999999.99"));
        icmsTotal.setValorTotalIPI(new BigDecimal("999999999999.99"));
        icmsTotal.setValorTotalSeguro(new BigDecimal("999999999999.99"));
        icmsTotal.setValorTotalTributos(new BigDecimal("999999999999.99"));
        icmsTotal.setValorICMSDesonerado(new BigDecimal("999999999999.99"));
        icmsTotal.setValorICMSFundoCombatePobreza(new BigDecimal("999999999999.99"));
        icmsTotal.setValorICMSPartilhaDestinatario(new BigDecimal("999999999999.99"));
        icmsTotal.setValorICMSPartilhaRementente(new BigDecimal("999999999999.99"));
        icmsTotal.toString();
    }

    @Test(expected = IllegalStateException.class)
    public void naoDevePermitirValorTotalSeguroNulo() {
        final NFNotaInfoICMSTotal icmsTotal = new NFNotaInfoICMSTotal();
        icmsTotal.setBaseCalculoICMS(new BigDecimal("999999999999.99"));
        icmsTotal.setOutrasDespesasAcessorias(new BigDecimal("999999999999.99"));
        icmsTotal.setBaseCalculoICMSST(new BigDecimal("999999999999.99"));
        icmsTotal.setValorCOFINS(new BigDecimal("999999999999.99"));
        icmsTotal.setValorPIS(new BigDecimal("999999999999.99"));
        icmsTotal.setValorTotalDesconto(new BigDecimal("999999999999.99"));
        icmsTotal.setValorTotalDosProdutosServicos(new BigDecimal("999999999999.99"));
        icmsTotal.setValorTotalFrete(new BigDecimal("999999999999.99"));
        icmsTotal.setValorTotalICMS(new BigDecimal("999999999999.99"));
        icmsTotal.setValorTotalICMSST(new BigDecimal("999999999999.99"));
        icmsTotal.setValorTotalII(new BigDecimal("999999999999.99"));
        icmsTotal.setValorTotalIPI(new BigDecimal("999999999999.99"));
        icmsTotal.setValorTotalNFe(new BigDecimal("999999999999.99"));
        icmsTotal.setValorTotalTributos(new BigDecimal("999999999999.99"));
        icmsTotal.setValorICMSDesonerado(new BigDecimal("999999999999.99"));
        icmsTotal.setValorICMSFundoCombatePobreza(new BigDecimal("999999999999.99"));
        icmsTotal.setValorICMSPartilhaDestinatario(new BigDecimal("999999999999.99"));
        icmsTotal.setValorICMSPartilhaRementente(new BigDecimal("999999999999.99"));
        icmsTotal.toString();
    }

    @Test
    public void devePermitirICMSFundoCombatePobrezaNulo() {
        final NFNotaInfoICMSTotal icmsTotal = new NFNotaInfoICMSTotal();
        icmsTotal.setBaseCalculoICMS(new BigDecimal("999999999999.99"));
        icmsTotal.setOutrasDespesasAcessorias(new BigDecimal("999999999999.99"));
        icmsTotal.setBaseCalculoICMSST(new BigDecimal("999999999999.99"));
        icmsTotal.setValorCOFINS(new BigDecimal("999999999999.99"));
        icmsTotal.setValorPIS(new BigDecimal("999999999999.99"));
        icmsTotal.setValorTotalDesconto(new BigDecimal("999999999999.99"));
        icmsTotal.setValorTotalDosProdutosServicos(new BigDecimal("999999999999.99"));
        icmsTotal.setValorTotalFrete(new BigDecimal("999999999999.99"));
        icmsTotal.setValorTotalICMS(new BigDecimal("999999999999.99"));
        icmsTotal.setValorTotalICMSST(new BigDecimal("999999999999.99"));
        icmsTotal.setValorTotalII(new BigDecimal("999999999999.99"));
        icmsTotal.setValorTotalIPI(new BigDecimal("999999999999.99"));
        icmsTotal.setValorTotalNFe(new BigDecimal("999999999999.99"));
        icmsTotal.setValorTotalSeguro(new BigDecimal("999999999999.99"));
        icmsTotal.setValorICMSDesonerado(new BigDecimal("999999999999.99"));
        icmsTotal.setValorICMSPartilhaDestinatario(new BigDecimal("999999999999.99"));
        icmsTotal.setValorICMSPartilhaRementente(new BigDecimal("999999999999.99"));
        icmsTotal.toString();
    }

    @Test
    public void devePermitirICMSPartilhaDestinatarioNulo() {
        final NFNotaInfoICMSTotal icmsTotal = new NFNotaInfoICMSTotal();
        icmsTotal.setBaseCalculoICMS(new BigDecimal("999999999999.99"));
        icmsTotal.setOutrasDespesasAcessorias(new BigDecimal("999999999999.99"));
        icmsTotal.setBaseCalculoICMSST(new BigDecimal("999999999999.99"));
        icmsTotal.setValorCOFINS(new BigDecimal("999999999999.99"));
        icmsTotal.setValorPIS(new BigDecimal("999999999999.99"));
        icmsTotal.setValorTotalDesconto(new BigDecimal("999999999999.99"));
        icmsTotal.setValorTotalDosProdutosServicos(new BigDecimal("999999999999.99"));
        icmsTotal.setValorTotalFrete(new BigDecimal("999999999999.99"));
        icmsTotal.setValorTotalICMS(new BigDecimal("999999999999.99"));
        icmsTotal.setValorTotalICMSST(new BigDecimal("999999999999.99"));
        icmsTotal.setValorTotalII(new BigDecimal("999999999999.99"));
        icmsTotal.setValorTotalIPI(new BigDecimal("999999999999.99"));
        icmsTotal.setValorTotalNFe(new BigDecimal("999999999999.99"));
        icmsTotal.setValorTotalSeguro(new BigDecimal("999999999999.99"));
        icmsTotal.setValorICMSDesonerado(new BigDecimal("999999999999.99"));
        icmsTotal.setValorICMSFundoCombatePobreza(new BigDecimal("999999999999.99"));
        icmsTotal.setValorICMSPartilhaRementente(new BigDecimal("999999999999.99"));
        icmsTotal.toString();
    }

    @Test
    public void devePermitirICMSPartilhaRemententeNulo() {
        final NFNotaInfoICMSTotal icmsTotal = new NFNotaInfoICMSTotal();
        icmsTotal.setBaseCalculoICMS(new BigDecimal("999999999999.99"));
        icmsTotal.setOutrasDespesasAcessorias(new BigDecimal("999999999999.99"));
        icmsTotal.setBaseCalculoICMSST(new BigDecimal("999999999999.99"));
        icmsTotal.setValorCOFINS(new BigDecimal("999999999999.99"));
        icmsTotal.setValorPIS(new BigDecimal("999999999999.99"));
        icmsTotal.setValorTotalDesconto(new BigDecimal("999999999999.99"));
        icmsTotal.setValorTotalDosProdutosServicos(new BigDecimal("999999999999.99"));
        icmsTotal.setValorTotalFrete(new BigDecimal("999999999999.99"));
        icmsTotal.setValorTotalICMS(new BigDecimal("999999999999.99"));
        icmsTotal.setValorTotalICMSST(new BigDecimal("999999999999.99"));
        icmsTotal.setValorTotalII(new BigDecimal("999999999999.99"));
        icmsTotal.setValorTotalIPI(new BigDecimal("999999999999.99"));
        icmsTotal.setValorTotalNFe(new BigDecimal("999999999999.99"));
        icmsTotal.setValorTotalSeguro(new BigDecimal("999999999999.99"));
        icmsTotal.setValorICMSDesonerado(new BigDecimal("999999999999.99"));
        icmsTotal.setValorICMSFundoCombatePobreza(new BigDecimal("999999999999.99"));
        icmsTotal.setValorICMSPartilhaDestinatario(new BigDecimal("999999999999.99"));
        icmsTotal.toString();
    }

    @Test
    public void deveGerarXMLDeAcordoComOPadraoEstabelecido() {
        final String xmlEsperado = "<NFNotaInfoICMSTotal><vBC>999999999999.99</vBC><vICMS>999999999999.99</vICMS><vICMSDeson>999999999999.99</vICMSDeson><vFCPUFDest>999999999999.99</vFCPUFDest><vICMSUFDest>999999999999.99</vICMSUFDest><vICMSUFRemet>999999999999.99</vICMSUFRemet><vBCST>999999999999.99</vBCST><vST>999999999999.99</vST><vProd>999999999999.99</vProd><vFrete>999999999999.99</vFrete><vSeg>999999999999.99</vSeg><vDesc>999999999999.99</vDesc><vII>999999999999.99</vII><vIPI>999999999999.99</vIPI><vPIS>999999999999.99</vPIS><vCOFINS>999999999999.99</vCOFINS><vOutro>999999999999.99</vOutro><vNF>999999999999.99</vNF></NFNotaInfoICMSTotal>";
        Assert.assertEquals(xmlEsperado, FabricaDeObjetosFake.getNFNotaInfoICMSTotal().toString());
    }
}


[Correlation between early (Fernandez) and late (Mitsuda) reactions in non-contact children and adolescents without manifestations of leprosy, tested with human lepromin and different concentrations of armadillo antigen in 3 double-blind trials].
The authors carried out 3 double blind trials to determine the correlation between the early and the late lepromin reactions and to verify the practical and control values of the 48 hours or Fernandez reaction. Children and adolescents non-contacts were tested with human lepromin (40 x 10(6) bacilli/ml) and different concentrations of armadillo lepromin (160, 40, 20, 10, 5, 2,5, and 1 x 10(6) bacilli/ml). The conclusions are as follows: 1. The coefficients of correlation (r values) point out that the correlation between the two reactions is poor or almost null. 2. The negative or doubtful reactions, the most often observed, have no practical value because they are almost always followed by a positive Mitsuda reaction. 3. The positive Fernandez reaction was always followed by a positive Mitsuda reaction. Thus it has practical importance. However as the frequency of early positivity is low with human and armadillo lepromin of lower concentrations, recommended in routine testing, the 48 hours reading is unnecessary and without control value. It would represent a loss of time and money.


Border Terrier

|height       =
|maleheight   = 36-40cm
|femaleheight = 28-36cm
|coat         = Harsh and dense; with close undercoat.
|colour       = Red, wheaten, grizzle and tan, or blue and tan.
|litter_size  =
|life_span    = 12-15 years

| fcigroup = 3 Terriers
| fcisection = 1 Large/medium-sized
| fcinum = 10
| fcistd = http://www.fci.be/Nomenclature/Standards/010g03-en.pdf
| akcgroup = Terrier
| akcstd = http://www.akc.org/breeds/border_terrier/breed_standard.cfm
| ankcgroup = Group 2 (Terriers)
| ankcstd = https://web.archive.org/web/20141208202324/http://www.ankc.org.au/Breed_Details.aspx?bid=49
| ckcgroup = Group 4 - Terriers
| ckcstd = https://web.archive.org/web/20141210055033/http://www.ckc.ca/en/Files/Forms/Shows-Trials/Breed-Standards/Group-4-Terriers/BRT-Border-Terrier
| kcukgroup = Terrier
| kcukstd = http://www.thekennelclub.org.uk/services/public/breed/standard.aspx?id=3062
| nzkcgroup = Terrier
| nzkcstd = http://www.nzkc.org.nz/breed_info/br216.html
| ukcgroup = Terrier
| ukcstd = http://www.ukcdogs.com/Web.nsf/Breeds/Terrier/BorderTerrier
}}

The Border Terrier is a small, rough-coated breed of dog in the terrier group. Bred as a fox and vermin hunter, the Border Terrier shares ancestry with the Dandie Dinmont Terrier and the Bedlington Terrier.

The Border Terrier was officially recognized by The Kennel Club in Great Britain in 1920, and by the American Kennel Club (AKC) in 1930.  The border  terrier was bred to have long enough legs to keep up with the horses and other foxhounds, which traveled with them, and small enough bodies to crawl in the burrows of foxes and chase them out so the hunters had a blank shot. The foxhounds that traveled with them were not small enough to do the Border terrier's job.

In 2006, the Border Terrier ranked 81st in number of registrations by the AKC, while it ranked 10th in the United Kingdom.

In 2008, the Border Terrier ranked 8th in number of registrations by the UK Kennel Club.

They were originally used for hunting in packs as they were exceptionally good at catching rabbits and any small animal. Now they are commonly seen as family pets.

Description

Appearance

Identifiable by their otter-shaped heads, Border Terriers have a broad skull and moderately short muzzle, and strong teeth.  The V-shaped ears are on the sides of the head and fall towards the cheeks.  Common coat colors are grizzle-and-tan, blue-and-tan, red, or wheaten. Whiskers are few and short. The tail is naturally moderately short, thick at the base and tapering.

Narrow-bodied and well-proportioned, males stand  at the shoulder, and weigh ; females  and . They are very versatile in families and as family pets.

The Border Terrier has a double coat consisting of a short, dense, soft undercoat and harsh, wiry weather- and dirt-resistant, close-lying outer coat with no curl or wave. This coat usually requires hand-stripping twice a year to remove dead hair.  It then takes about eight weeks for the top coat to come back in.  For some dogs, weekly brushing will suffice. Most Border Terriers are seen groomed with short hair but longer hair can sometimes be preferred.

Temperament

Though sometimes stubborn and strong willed, border terriers are sound dogs. They are friendly and rarely aggressive. They are very good with children, but may chase cats and other small pets.

Borders do well in task-oriented activities and have a surprising ability to jump high and run fast given the size of their legs. The breed has excelled in agility training, but they are quicker to learn jumps and see-saws than weaving poles. They take training for tasks very well, and are extremely trainable, and capable of learning tricks quickly and competently. The border in recent years has been bred to harbor a more subtle character so are more adaptable to apartment living if properly exercised.

They are intelligent and eager to please, but they retain the capacity for independent thinking and initiative that were bred into them for working rats and fox underground. Their love of people and even temperament make them fine therapy dogs, especially for children and the elderly, and they are occasionally used to aid the blind or deaf. From a young age they should be trained on command.

Borders can adapt to different environments and situations well, and are able to deal with temporary change well. They will get along well with cats that they have been raised with, but may chase other cats and small animals such as mice, birds, rabbits, squirrels, rats, and guinea pigs.

Borders are very independent and loyal. Some borders are known to be territorial and will protect their homes. They have a strong sense of smell and can tell when danger is near.

Borders love to sit and watch what is going on. Walks with Borders will often involve them sitting and lying in the grass to observe the environment around them.

Health
Borders are a generally hardy breed, though there are certain genetic health problems associated with them, including:

 Hip dysplasia
 Perthes disease
 Various heart defects
 Juvenile cataracts
 Progressive retinal atrophy
 Seizures
 Canine epileptoid cramping syndrome (CECS)

A UK Kennel Club survey puts their median lifespan at 14 years and listed a maximum age of 22 years, one month.

Earthdog trials

Border Terriers have earned more American Kennel Club (AKC) Earthdog titles than any other terrier.  An AKC earthdog test is not true hunting, but an artificial, non-competitive, exercise in which terriers enter  wide smooth wooden tunnels, buried under-ground, with one or more turns in order to bark or scratch at caged rats that are safely housed behind wooden bars.   The tests are conducted to determine that instinctive traits are preserved and developed, as the breed originators intended for the dogs to their work. While earthdog tests are not a close approximation of hunting, they are popular in the U.S. and in some European countries because even over-large Kennel Club breeds can negotiate the tunnels with ease, dogs can come to no harm while working, and no digging is required.  Since Border Terriers are "essentially working terriers", many Border Terrier owners consider it important to test and develop their dogs' instinct. These tests also provide great satisfaction for the dogs.  The American Working Terrier Association (AWTA) does conduct "trials"; where the dogs instincts are tested, and then judged to determine a "Best of Breed" Earthdog.

History
Originally the Border Terrier was referred to as the Coquetdale Terrier or Redesdale Terrier from the area in which it evolved, but by the late 1800s it was generally known as the Border Terrier, probably because of its long history with the Border Hunt in Northumberland. It shares its ancestry with that of the Bedlington Terrier and the Dandie Dinmont Terrier. It was recognised as a breed by the Kennel Club in 1920, the same year The Border Terrier Club was formed.  Their original purpose was to bolt foxes which had gone to ground. They were also used to kill rodents, but they have been used to hunt otters and badgers too.

The first Kennel Club Border Terrier ever registered was The Moss Trooper, a dog sired by Jacob Robson's Chip in 1912 and registered in the Kennel Club's Any Other Variety listing in 1913. The Border Terrier was rejected for formal Kennel Club recognition in 1914, but won its slot in 1920, with the first standard being written by Jacob Robson and John Dodd. Jasper Dodd was made first President of the Club.

Famous Border Terriers

Fictional Border Terriers

Brillo in Misfits episode "Four" as a street puppy eaten by new zombie Curtis
Chomp in 102 Dalmatians
Hacker T. Dog, puppet presenter of British children's television service CBBC
Hubble in Good Boy!
Lucky in Felicity
Lady Freckles (later Eccles) in Coronation Street as Blanche Hunt's inheritance gift from her friend; belongs to her son-in-law Ken Barlow after her death in 2010
Monty and Rommel in Monarch of the Glen
Nancy in Unfabulous as Addie's pet dog
Oscar as Scotty the Dog in Ruby Sparks (2012 film)
Oscar Francis Barr from Blade Runner 2049 (2017 film)
Peanut as Baxter from “Anchorman: The Legend of Ron Burgundy” (2004 Film)
Pard in High Sierra (1941 film)
Pepper as Pinkybones in Another Happy Day (2011 film)
Peter Weyland's dog in Prometheus (2012 film)
Scamp in The Suite Life of Zack & Cody; Maddie's scruffy dog who falls in love with London Tipton's dog, Ivana
Seymour in Futurama episode "Jurassic Bark"
Sickan in My Life as a Dog
Slammer as Puffy in There's Something About Mary
Sorry in Seeking a Friend for the End of the World; Dodge's dog
Tansy as Toto from Return To Oz (1985 film)
Toots in Lassie (2005 film)
Gidget as Daisy from Wonder (2017 film)

Real Border Terriers

 Maggie, Andy Murray and Kim Sears' dog who has her own Twitter account with 31,000 followers as of June 2016.
 Owney, an unofficial mascot of the U.S. Postal Service

 Raleigh, Clay Aiken's pet dog
 Shep Proudfoot, Greg Laswell's pet dog

References

External links

Category:FCI breeds
Category:Terriers
Category:Dog breeds originating in Scotland
Category:Dog breeds originating in England


Getting It Wrong from the Beginning

Getting it Wrong from the Beginning: Our Progressivist Inheritance from Herbert Spencer, John Dewey, and Jean Piaget is a 2002 book by Kieran Egan criticizing the traditional progressivist foundations of modern education in the Western World. Egan primarily focuses on the work of Herbert Spencer, John Dewey, and Jean Piaget as the most influential sources of contemporary educational philosophy.  Egan identifies this book in its introduction as being a companion to his previous work The Educated Mind.

Main Arguments
Kieran Egan states in his introduction: "I want to make the case here that most of the beliefs most of the people hold about education today are wrong in fairly fundamental ways." According to Egan, Herbert Spencer was one of the key figures in proliferating the progressive foundations of education.  These ideas were further championed by John Dewey and supported with research and writing by Jean Piaget.  Egan's assertion is that these foundations are fundamentally flawed.  The core tenets of progressivism he questions are: the idea that things (especially learning) always go from simple to complex, the notion that the matters of the mind can be treated like those of the biological body, and that all child-learning should occur as a child learns during play.  He also questions the call for utilitarianism in education and the value of educational research.  In this book, Egan provides examples and logic based arguments which counter these ideas.

Criticism
The book has been criticized for not providing adequate solutions to the problems it identifies in education. Readers looking to hear the author's proposed solutions would be advised to read his other work, most notably The Educated Mind: How Cognitive Tools Shape Our Understanding.

Reviews
Aeschliman, M. (2003). Cults of Ignorance. National Review, 55(8), 48-50.
Emery J Hyslop-Margison (2001) in Canadian Journal of Education / Revue canadienne de l'education, vol. 26, no. 4, p. 515-517
James Conroy, (2005) in  Theory and Research in Education, 3, no. 3 : 371-374
Limond, D. (2005). Getting it wrong from the beginning: our progressive inheritance from Herbert Spencer, John Dewey, and Jean Piaget. Educational Review, 57(1), 113-114.
Turner, D.(2006). Book Reviews. Educational Review, 58(4), 489-516.

References

Category:Philosophy books
Category:2002 non-fiction books
Category:Education reform


                                    UNPUBLISHED

                       UNITED STATES COURT OF APPEALS
                           FOR THE FOURTH CIRCUIT

                                      No. 19-1639

DIANNE G. NICKLES,

                    Plaintiff - Appellant,

             v.

STATE FARM MUTUAL AUTOMOBILE INSURANCE COMPANY,

                    Defendant - Appellee.

Appeal from the United States District Court for the Middle District of North Carolina, at
Greensboro. L. Patrick Auld, Magistrate Judge. (1:17-cv-01027-LPA)

Submitted: April 22, 2020                                          Decided: June 4, 2020

Before MOTZ and RICHARDSON, Circuit Judges, and SHEDD, Senior Circuit Judge.

Affirmed by unpublished per curiam opinion.

Dianne G. Nickles, Appellant Pro Se. James Scott Lewis, BUTLER SNOW LLP,
Wilmington, North Carolina, for Appellee.

Unpublished opinions are not binding precedent in this circuit.
PER CURIAM:

       Dianne G. Nickles appeals the magistrate judge’s orders denying relief on Nickles’

claims against State Farm Mutual Automobile Insurance Company for negligence and

breach of contract. *   We have reviewed the record and find no reversible error.

Accordingly, we grant leave to proceed in forma pauperis and affirm for the reasons stated

by the magistrate judge. Nickles v. State Farm Mut. Auto. Ins. Co., No. 1:17-cv-01027-

LPA (M.D.N.C. Aug. 31, 2018 & May 15, 2019). We dispense with oral argument because

the facts and legal contentions are adequately presented in the materials before this court

and argument would not aid the decisional process.

                                                                              AFFIRMED

       *
        The parties consented to proceed before a magistrate judge pursuant to 28 U.S.C.
§ 636(c) (2018).

                                            2


Visit our website – www.countrymun.com

Main menu

Post navigation

GOOD LUCK EVERYONE!

It’s been a busy and exciting week for us as many customers get ready for the big event – Crufts 2013 in Birmingham.

There’s been a real buzz in the past couple of days with last minute urgent orders for vital purchases – including a new set of show boots sent off at the last minute because one Crufts hopeful ate his other ones.

The forecast was apparently for rain so owners are obviously keen to be prepared because they want to keep their pooches as clean and dry as possible.

Many will be sporting our very own all-in-one mudsuit/rainsuit on the trip to the show ring – so watch out for them if you are there – and quite a few have been both suited and booted by CountryMun.

Our show (benching) boots are brilliant for keeping paws and legs clean until the dog gets to its bench.

So – what were the top five purchases for crufts pooches? Overall winner was our luxury towelling rug coat which dries your dog FAST and keeps it warm in the car – followed by our showboots, stopper pad protectors, Quickie rain coat and all-in-one mud/rainsuit.

Sadly we can’t be there to join in the fun – but rest assured that we are there in spirit and we wish everyone the best of luck.

Obviously, they can’t all be winners – but they can have great fun taking part.

We would love to see any pictures of dogs taking part this year and hopefully we could post them on our blog – so please send any pix to sales@countrymun.com


Q:

copying files in tcl

I have a query in "file copy" tcl command. I tried storing all my files to a list and used it in my command. But tcl is not recognizing those files.
for example:
    Files are abc.log , foo.log , bar.log

if these files are appended to a list say list_file and If I substitute the list_file in my command
    lappend list_file abc.log foo.log bar.log
    file mkdir ../../abc
    file copy -- $list_file ../../abc

I am getting  an error message " error copying , no file or directory". If I try the same by directly specifying the file names (instead of list) it works. Please guide me with this

A:

To elaborate on @evil-otto's answer...
{*} is only available since Tcl 8.5; for earlier versions either eval or multiple invocations could be used.
Constructing a command using eval:
set cmd [list file copy --]
lappend cmd abc.log foo.log bar.log ../../abc
eval $cmd

(Read this to learn why using lists is a must when creating commands to be evaluated.)
Multiple invocation (a no-brainer):
foreach fname $list_file {
    file copy -- $fname ../../abc
}