gofio

http server for overview for accounts from FIO bank
git clone git://gtms.dev/gofio
Log | Files | Refs

token_test.go (1796B)


      1 package main
      2 
      3 import (
      4 	"fmt"
      5 	"strings"
      6 	"testing"
      7 )
      8 
      9 func TestTokenParse(t *testing.T) {
     10 	tokensRaw := `token1 A
     11 token2 B
     12 token3 C`
     13 	expected := []token{{name: "A", token: "token1"}, {name: "B", token: "token2"}, {name: "C", token: "token3"}}
     14 
     15 	actual, err := parseTokens(strings.NewReader(tokensRaw))
     16 	if err != nil {
     17 		t.Error(err)
     18 	}
     19 
     20 	if len(actual) != 3 {
     21 		t.Errorf("Expected 3 outputs, got %d", len(actual))
     22 	}
     23 	if fmt.Sprint(actual) != fmt.Sprint(expected) {
     24 		t.Errorf("Maps mismatch, \nexpected %v,\ngot %v", expected, actual)
     25 	}
     26 }
     27 
     28 func TestTokenParseWithComment(t *testing.T) {
     29 	tokensRaw := `token1 A
     30 token2 B
     31 #token3 C`
     32 	expected := []token{{name: "A", token: "token1"}, {name: "B", token: "token2"}}
     33 
     34 	actual, err := parseTokens(strings.NewReader(tokensRaw))
     35 	if err != nil {
     36 		t.Error(err)
     37 	}
     38 
     39 	if len(actual) != 2 {
     40 		t.Errorf("Expected 2 outputs, got %d", len(actual))
     41 	}
     42 	if fmt.Sprint(actual) != fmt.Sprint(expected) {
     43 		t.Errorf("Maps mismatch, \nexpected %v,\ngot %v", expected, actual)
     44 	}
     45 }
     46 
     47 func TestTokenParseWithConfig(t *testing.T) {
     48 	tokensRaw := `token1 A onlyIncome`
     49 	expected := []token{{name: "A", token: "token1", config: config{onlyIncome: true}}}
     50 
     51 	actual, err := parseTokens(strings.NewReader(tokensRaw))
     52 	if err != nil {
     53 		t.Error(err)
     54 	}
     55 
     56 	if fmt.Sprint(actual) != fmt.Sprint(expected) {
     57 		t.Errorf("Maps mismatch, \nexpected %v,\ngot %v", expected, actual)
     58 	}
     59 }
     60 
     61 func TestTokenParseWithDifferentConfig(t *testing.T) {
     62 	tokensRaw := `token1 A banana`
     63 	expected := []token{{name: "A", token: "token1", config: config{onlyIncome: false}}}
     64 
     65 	actual, err := parseTokens(strings.NewReader(tokensRaw))
     66 	if err != nil {
     67 		t.Error(err)
     68 	}
     69 
     70 	if fmt.Sprint(actual) != fmt.Sprint(expected) {
     71 		t.Errorf("Maps mismatch, \nexpected %v,\ngot %v", expected, actual)
     72 	}
     73 }