diff --git a/nucleus/device_test.go b/nucleus/device_test.go
index d3d2ae9831eda694f938c2c0485dacadd6d9367d..d5d38cab38f78f219e16470d0cc198613cf35d37 100644
--- a/nucleus/device_test.go
+++ b/nucleus/device_test.go
@@ -58,7 +58,6 @@ func TestNewDevice(t *testing.T) {
 	tests := []struct {
 		name    string
 		args    args
-		want    *Device
 		wantErr bool
 	}{
 		{
@@ -80,11 +79,6 @@ func TestNewDevice(t *testing.T) {
 				},
 				name: "MyDevice",
 			},
-			want: &Device{
-				GoStruct: &openconfig.Device{},
-				SBI:      sbi,
-				UUID:     uuid.New(),
-			},
 		},
 		{
 			name: "invalid options",
@@ -97,23 +91,29 @@ func TestNewDevice(t *testing.T) {
 				},
 				name: "MyDevice",
 			},
-			want:    nil,
 			wantErr: true,
 		},
 	}
 	for _, tt := range tests {
 		t.Run(tt.name, func(t *testing.T) {
-			got, err := NewDevice(tt.args.name, tt.args.opts, tt.args.sbi)
+			resp, err := NewDevice(tt.args.name, tt.args.opts, tt.args.sbi)
 			if (err != nil) != tt.wantErr {
 				t.Errorf("NewDevice() error = %v, wantErr %v", err, tt.wantErr)
 				return
 			}
-			if got != nil {
-				tt.want.Transport = got.Transport
-				tt.want.UUID = got.ID()
-			}
-			if !reflect.DeepEqual(got, tt.want) {
-				t.Errorf("NewDevice() got = %v, want %v", got, tt.want)
+			if resp != nil {
+				if reflect.TypeOf(resp.GoStruct) != reflect.TypeOf(&openconfig.Device{}) {
+					t.Error("NewDevice() returned invalid GoStruct")
+				}
+				if reflect.TypeOf(resp.Transport) != reflect.TypeOf(&Gnmi{}) {
+					t.Error("NewDevice() returned invalid transport")
+				}
+				if reflect.TypeOf(resp.SBI) != reflect.TypeOf(&OpenConfig{}) {
+					t.Error("NewDevice() returned invalid GoStruct")
+				}
+				if resp.Name != "MyDevice" {
+					t.Error("NewDevice() returned wrong name")
+				}
 			}
 		})
 	}
diff --git a/nucleus/principalNetworkDomain_test.go b/nucleus/principalNetworkDomain_test.go
index 132c9b265069fb0565d739587b0d8f7e05e68e36..f2eb25cc631c6f5047c499b077a00bd468c9bc87 100644
--- a/nucleus/principalNetworkDomain_test.go
+++ b/nucleus/principalNetworkDomain_test.go
@@ -78,6 +78,7 @@ func Test_destroy(t *testing.T) {
 func Test_pndImplementation_AddDevice(t *testing.T) {
 	type args struct {
 		device interface{}
+		name   string
 		opts   *tpb.TransportOption
 	}
 	tests := []struct {
@@ -88,9 +89,7 @@ func Test_pndImplementation_AddDevice(t *testing.T) {
 		{
 			name: "default",
 			args: args{
-				device: &Device{
-					UUID: did,
-				},
+				name: "fridolin",
 				opts: &tpb.TransportOption{
 					TransportOption: &tpb.TransportOption_GnmiTransportOption{
 						GnmiTransportOption: &tpb.GnmiTransportOption{},
@@ -125,19 +124,21 @@ func Test_pndImplementation_AddDevice(t *testing.T) {
 			if tt.name == "already exists" {
 				pnd.devices.store[did] = tt.args.device.(*Device)
 			}
-			err := pnd.AddDevice("", tt.args.opts, defaultSbiID)
+			err := pnd.AddDevice(tt.args.name, tt.args.opts, defaultSbiID)
 			if (err != nil) != tt.wantErr {
 				t.Errorf("AddDevice() error = %v, wantErr %v", err, tt.wantErr)
 			}
 			if tt.name != "fails wrong type" {
 				if err == nil {
-					_, ok := pnd.devices.store[did]
-					if !ok {
-						t.Errorf("AddDevice() Device %v not in device store %v",
-							tt.args.device, pnd.devices)
+					d, err := pnd.devices.Get(FromString(tt.args.name))
+					if err != nil {
+						t.Errorf("AddDevice() error = %v", err)
 						return
 					}
-					if err := pnd.devices.Delete(did); err != nil {
+					if d.Name != tt.args.name {
+						t.Errorf("AddDevice() got = %v, want %v", d.Name, tt.args.name)
+					}
+					if err := pnd.devices.Delete(d.ID()); err != nil {
 						t.Error(err)
 					}
 				}