| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758 | 
							- package main
 
- import (
 
- 	"strings"
 
- 	"testing"
 
- 	"github.com/golang/protobuf/proto"
 
- 	pb "github.com/protocolbuffers/protobuf/examples/tutorial"
 
- )
 
- func TestPromptForAddressReturnsAddress(t *testing.T) {
 
- 	in := `12345
 
- Example Name
 
- name@example.com
 
- 123-456-7890
 
- home
 
- 222-222-2222
 
- mobile
 
- 111-111-1111
 
- work
 
- 777-777-7777
 
- unknown
 
- `
 
- 	got, err := promptForAddress(strings.NewReader(in))
 
- 	if err != nil {
 
- 		t.Fatalf("promptForAddress(%q) had unexpected error: %s", in, err.Error())
 
- 	}
 
- 	if got.Id != 12345 {
 
- 		t.Errorf("promptForAddress(%q) got %d, want ID %d", in, got.Id, 12345)
 
- 	}
 
- 	if got.Name != "Example Name" {
 
- 		t.Errorf("promptForAddress(%q) => want name %q, got %q", in, "Example Name", got.Name)
 
- 	}
 
- 	if got.Email != "name@example.com" {
 
- 		t.Errorf("promptForAddress(%q) => want email %q, got %q", in, "name@example.com", got.Email)
 
- 	}
 
- 	want := []*pb.Person_PhoneNumber{
 
- 		{Number: "123-456-7890", Type: pb.Person_HOME},
 
- 		{Number: "222-222-2222", Type: pb.Person_MOBILE},
 
- 		{Number: "111-111-1111", Type: pb.Person_WORK},
 
- 		{Number: "777-777-7777", Type: pb.Person_MOBILE},
 
- 	}
 
- 	if len(got.Phones) != len(want) {
 
- 		t.Errorf("want %d phone numbers, got %d", len(want), len(got.Phones))
 
- 	}
 
- 	phones := len(got.Phones)
 
- 	if phones > len(want) {
 
- 		phones = len(want)
 
- 	}
 
- 	for i := 0; i < phones; i++ {
 
- 		if !proto.Equal(got.Phones[i], want[i]) {
 
- 			t.Errorf("want phone %q, got %q", *want[i], *got.Phones[i])
 
- 		}
 
- 	}
 
- }
 
 
  |