...

Source file src/unicode/digit_test.go

Documentation: unicode

		 1  // Copyright 2009 The Go Authors. All rights reserved.
		 2  // Use of this source code is governed by a BSD-style
		 3  // license that can be found in the LICENSE file.
		 4  
		 5  package unicode_test
		 6  
		 7  import (
		 8  	"testing"
		 9  	. "unicode"
		10  )
		11  
		12  var testDigit = []rune{
		13  	0x0030,
		14  	0x0039,
		15  	0x0661,
		16  	0x06F1,
		17  	0x07C9,
		18  	0x0966,
		19  	0x09EF,
		20  	0x0A66,
		21  	0x0AEF,
		22  	0x0B66,
		23  	0x0B6F,
		24  	0x0BE6,
		25  	0x0BEF,
		26  	0x0C66,
		27  	0x0CEF,
		28  	0x0D66,
		29  	0x0D6F,
		30  	0x0E50,
		31  	0x0E59,
		32  	0x0ED0,
		33  	0x0ED9,
		34  	0x0F20,
		35  	0x0F29,
		36  	0x1040,
		37  	0x1049,
		38  	0x1090,
		39  	0x1091,
		40  	0x1099,
		41  	0x17E0,
		42  	0x17E9,
		43  	0x1810,
		44  	0x1819,
		45  	0x1946,
		46  	0x194F,
		47  	0x19D0,
		48  	0x19D9,
		49  	0x1B50,
		50  	0x1B59,
		51  	0x1BB0,
		52  	0x1BB9,
		53  	0x1C40,
		54  	0x1C49,
		55  	0x1C50,
		56  	0x1C59,
		57  	0xA620,
		58  	0xA629,
		59  	0xA8D0,
		60  	0xA8D9,
		61  	0xA900,
		62  	0xA909,
		63  	0xAA50,
		64  	0xAA59,
		65  	0xFF10,
		66  	0xFF19,
		67  	0x104A1,
		68  	0x1D7CE,
		69  }
		70  
		71  var testLetter = []rune{
		72  	0x0041,
		73  	0x0061,
		74  	0x00AA,
		75  	0x00BA,
		76  	0x00C8,
		77  	0x00DB,
		78  	0x00F9,
		79  	0x02EC,
		80  	0x0535,
		81  	0x06E6,
		82  	0x093D,
		83  	0x0A15,
		84  	0x0B99,
		85  	0x0DC0,
		86  	0x0EDD,
		87  	0x1000,
		88  	0x1200,
		89  	0x1312,
		90  	0x1401,
		91  	0x1885,
		92  	0x2C00,
		93  	0xA800,
		94  	0xF900,
		95  	0xFA30,
		96  	0xFFDA,
		97  	0xFFDC,
		98  	0x10000,
		99  	0x10300,
	 100  	0x10400,
	 101  	0x20000,
	 102  	0x2F800,
	 103  	0x2FA1D,
	 104  }
	 105  
	 106  func TestDigit(t *testing.T) {
	 107  	for _, r := range testDigit {
	 108  		if !IsDigit(r) {
	 109  			t.Errorf("IsDigit(U+%04X) = false, want true", r)
	 110  		}
	 111  	}
	 112  	for _, r := range testLetter {
	 113  		if IsDigit(r) {
	 114  			t.Errorf("IsDigit(U+%04X) = true, want false", r)
	 115  		}
	 116  	}
	 117  }
	 118  
	 119  // Test that the special case in IsDigit agrees with the table
	 120  func TestDigitOptimization(t *testing.T) {
	 121  	for i := rune(0); i <= MaxLatin1; i++ {
	 122  		if Is(Digit, i) != IsDigit(i) {
	 123  			t.Errorf("IsDigit(U+%04X) disagrees with Is(Digit)", i)
	 124  		}
	 125  	}
	 126  }
	 127  

View as plain text