Browse Source

Added TestWordBiggerThanLimit

Piotr Czajkowski 1 year ago
parent
commit
e49c13e2b8
2 changed files with 20 additions and 0 deletions
  1. 5 0
      chunkOfSize.go
  2. 15 0
      chunkOfSize_test.go

+ 5 - 0
chunkOfSize.go

@@ -28,6 +28,11 @@ func (c *ChunkOfSize) Next() string {
 	var b strings.Builder
 	for i := range c.chunks {
 		l := utf8.RuneCountInString(c.chunks[i])
+    if l >= c.limit {
+      c.errors = append(c.errors, fmt.Sprintf("Chunk {%s} is bigger than limit %d!", c.chunks[i], c.limit))
+      return ""
+    }
+    
 		if l + c.current >= c.limit {
 			c.current = 0
 			c.chunks = c.chunks[i:]

+ 15 - 0
chunkOfSize_test.go

@@ -34,3 +34,18 @@ func Test4ChunksOf100(t *testing.T) {
 		t.Fatal("There were errors:\n", strings.Join(chunk.GetErrors(), "\n"))
 	}
 }
+
+func TestWordBiggerThanLimit(t *testing.T) {
+	size := 4
+  
+	chunk := NewChunkOfSize(testText, size)
+
+	text := chunk.Next()
+  if text != "" {
+    t.Fatal("Chunk should be empty, but is:", text)
+  }
+
+	if chunk.Success() || len(chunk.GetErrors()) == 0 {
+		t.Fatal("There should be errors!")
+	}
+}