diff --git a/go/storage/replica_placement.go b/go/storage/replica_placement.go index 55428749b..696888cd8 100644 --- a/go/storage/replica_placement.go +++ b/go/storage/replica_placement.go @@ -36,7 +36,7 @@ func NewReplicaPlacementFromString(t string) (*ReplicaPlacement, error) { } func NewReplicaPlacementFromByte(b byte) (*ReplicaPlacement, error) { - return NewReplicaPlacementFromString(fmt.Sprintf("%d", b)) + return NewReplicaPlacementFromString(fmt.Sprintf("%03d", b)) } func (rp *ReplicaPlacement) Byte() byte { diff --git a/go/storage/replica_placement_test.go b/go/storage/replica_placement_test.go new file mode 100644 index 000000000..9c2161e94 --- /dev/null +++ b/go/storage/replica_placement_test.go @@ -0,0 +1,14 @@ +package storage + +import ( + "testing" +) + +func TestReplicaPlacemnetSerialDeserial(t *testing.T) { + rp, _ := NewReplicaPlacementFromString("001") + new_rp, _ := NewReplicaPlacementFromByte(rp.Byte()) + if rp.String() != new_rp.String() { + println("expected:", rp.String(), "actual:", new_rp.String()) + t.Fail() + } +}