aboutsummaryrefslogtreecommitdiff
path: root/go
diff options
context:
space:
mode:
Diffstat (limited to 'go')
-rw-r--r--go/storage/replica_placement.go2
-rw-r--r--go/storage/replica_placement_test.go14
2 files changed, 15 insertions, 1 deletions
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()
+ }
+}